-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add proto for language plugin service #3060
Conversation
@stuartwdouglas a review would be helpful having had the experience of adding jvm support. Would this protocol work well for building an external jvm plugin? (not yet aimed at live reloads) |
|
||
// LanguageConfig contains any metadata specific to a specific language. | ||
// These are stored in the ftl.toml file under the same key as the language (eg: "go", "java") | ||
google.protobuf.Struct language_config = 7; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we make this strongly typed using google.protobuf.Any
? We'd likely need some mechanism to pass the descriptor to FTL from the language plugin so it knows what to expect, so I'm not sure it's worth the hassle.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeh I tried with google.protobuf.Any
but we needed the proto definition for each language config, which was why I backtracked to just a generic struct. I didn't think it would be worth the effort for now.
// FTL may ignore this event if it does not match FTL's current build context and state. | ||
// If the plugin decides to cancel the build because another build started, no failure or cancellation event needs | ||
// to be sent. | ||
message AutoRebuildStarted { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking that it might be good to have a sequence diagram in the design doc for these flows, WDYT?
// Each time this call is made, the Build call must send back a corresponding BuildSuccess or BuildFailure | ||
// event with the updated build context id with "is_automatic_rebuild" as false. | ||
rpc BuildContextUpdated(BuildContextUpdatedRequest) returns (BuildContextUpdatedResponse); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very cool!
6e855b6
to
4bd40de
Compare
4bd40de
to
eb8cae7
Compare
No description provided.