Package xyz.block.ftl.language.v1
Interface LanguageServiceGrpc.AsyncService
-
- All Implemented Interfaces:
public interface LanguageServiceGrpc.AsyncServiceLanguageService allows a plugin to add support for a programming language.
-
-
Method Summary
Modifier and Type Method Description voidping(PingRequest request, StreamObserver<PingResponse> responseObserver)Ping service for readiness.voidgetDependencies(GetDependenciesRequest request, StreamObserver<GetDependenciesResponse> responseObserver)Extract dependencies for a module FTL will ensure that these dependencies are built before requesting a build for this module.voidbuild(BuildRequest request, StreamObserver<BuildResponse> responseObserver)Build the module and receive the resultvoidgenerateStubs(GenerateStubsRequest request, StreamObserver<GenerateStubsResponse> responseObserver)Generate stubs for a module. Stubs allow modules to import other module's exported interface. If a language does not need this step, then it is not required to do anything in this call. This call is not tied to the module that this plugin is responsible for. A plugin of each language will be chosen to generate stubs for each module.voidsyncStubReferences(SyncStubReferencesRequest request, StreamObserver<SyncStubReferencesResponse> responseObserver)SyncStubReferences is called when module stubs have been updated. This allows the plugin to update references to external modules, regardless of whether they are dependencies. For example, go plugin adds references to all modules into the go.work file so that tools can automatically import the modules when users start reference them. It is optional to do anything with this call.-
-
Method Detail
-
ping
void ping(PingRequest request, StreamObserver<PingResponse> responseObserver)
Ping service for readiness.
-
getDependencies
void getDependencies(GetDependenciesRequest request, StreamObserver<GetDependenciesResponse> responseObserver)
Extract dependencies for a module FTL will ensure that these dependencies are built before requesting a build for this module.
-
build
void build(BuildRequest request, StreamObserver<BuildResponse> responseObserver)
Build the module and receive the result
-
generateStubs
void generateStubs(GenerateStubsRequest request, StreamObserver<GenerateStubsResponse> responseObserver)
Generate stubs for a module. Stubs allow modules to import other module's exported interface. If a language does not need this step, then it is not required to do anything in this call. This call is not tied to the module that this plugin is responsible for. A plugin of each language will be chosen to generate stubs for each module.
-
syncStubReferences
void syncStubReferences(SyncStubReferencesRequest request, StreamObserver<SyncStubReferencesResponse> responseObserver)
SyncStubReferences is called when module stubs have been updated. This allows the plugin to update references to external modules, regardless of whether they are dependencies. For example, go plugin adds references to all modules into the go.work file so that tools can automatically import the modules when users start reference them. It is optional to do anything with this call.
-
-
-
-