generated from TBD54566975/tbd-project-template
-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: isolate hardcoded language support (#2796)
Part of #2452 In preparation for language plugins, this PR defines a protocol for each language support to conform to. Later we will define the external plugin gRPC service and then move each language to being an external plugin one by one. ### Breakdown of components: #### Build engine - Watches for: - added and removed modules - updates to `ftl.toml` - Asks a module plugin to build when: - explicitly asked (eg: `ftl build`) - dependencies are updated - `ftl.toml` is updated - Listens to each module plugin's Updates topic to react to automatic builds #### Module plugin Currently these plugins arent actual plugins, but they will be soon! - Can be used to scaffold a new module (`ftl new ...`) - Gathers dependencies for a module - Builds when asked by the build engine - Watches for file changes within the module (language dependant. excludes `ftl.toml`) - When a change is detected, publishes automatic build events to it's `Updates` topic Not included in this PR (coming in a later one): - allow `ftl new` to have language specific arguments (currently go and jvm ones are hardcoded into `cmd_new.go`) - currently no logic for collapsing multiple build requests into one or detecting if we have already built since a file change event was fired. This logic needs to change for external plugins anyway. --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
- Loading branch information
1 parent
a416149
commit ad9c942
Showing
29 changed files
with
1,428 additions
and
831 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.