Interface LanguageServiceGrpc.AsyncService

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      void ping(PingRequest request, StreamObserver<PingResponse> responseObserver)
      Ping service for readiness.
      
      void getCreateModuleFlags(GetCreateModuleFlagsRequest request, StreamObserver<GetCreateModuleFlagsResponse> responseObserver)
      Get language specific flags that can be used to create a new module.
      
      void createModule(CreateModuleRequest request, StreamObserver<CreateModuleResponse> responseObserver)
      Generates files for a new module with the requested name
      
      void moduleConfigDefaults(ModuleConfigDefaultsRequest request, StreamObserver<ModuleConfigDefaultsResponse> responseObserver)
      Provide default values for ModuleConfig for values that are not configured in the ftl.toml file.
      
      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.
      
      void build(BuildRequest request, StreamObserver<BuildResponse> responseObserver)
      Build the module and stream back build events.
      A BuildSuccess or BuildFailure event must be streamed back with the request's context id to indicate the
      end of the build.
      The request can include the option to "rebuild_automatically". In this case the plugin should watch for
      file changes and automatically rebuild as needed as long as this build request is alive. Each automactic
      rebuild must include the latest build context id provided by the request or subsequent BuildContextUpdated
      calls.
      
      void buildContextUpdated(BuildContextUpdatedRequest request, StreamObserver<BuildContextUpdatedResponse> responseObserver)
      While a Build call with "rebuild_automatically" set is active, BuildContextUpdated is called whenever the
      build context is updated.
      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.
      If the plugin will not be able to return a BuildSuccess or BuildFailure, such as when there is no active
      build stream, it must fail the BuildContextUpdated call.
      
      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.
      
      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.
      
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • build

         void build(BuildRequest request, StreamObserver<BuildResponse> responseObserver)
        Build the module and stream back build events.
        A BuildSuccess or BuildFailure event must be streamed back with the request's context id to indicate the
        end of the build.
        The request can include the option to "rebuild_automatically". In this case the plugin should watch for
        file changes and automatically rebuild as needed as long as this build request is alive. Each automactic
        rebuild must include the latest build context id provided by the request or subsequent BuildContextUpdated
        calls.
        
      • buildContextUpdated

         void buildContextUpdated(BuildContextUpdatedRequest request, StreamObserver<BuildContextUpdatedResponse> responseObserver)
        While a Build call with "rebuild_automatically" set is active, BuildContextUpdated is called whenever the
        build context is updated.
        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.
        If the plugin will not be able to return a BuildSuccess or BuildFailure, such as when there is no active
        build stream, it must fail the BuildContextUpdated call.
        
      • 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.