Package io.quarkus.deployment
Interface CodeGenProvider
-
public interface CodeGenProviderService providers for this interface are triggered during generate-sources phase of build of Quarkus applications
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default PathgetInputDirectory()Provides the possibility for the provider to override the default input directory.default voidinit(io.quarkus.bootstrap.model.ApplicationModel model, Map<String,String> properties)Provides the possibility for the provider to initialize itself using the application model and properties.StringinputDirectory()Name of the directory containing input files for a givenCodeGenProviderimplementation relative to a sources root directory.StringinputExtension()File extension that CodeGenProvider will generate code fromStringproviderId()default booleanshouldRun(Path sourceDir, org.eclipse.microprofile.config.Config config)booleantrigger(CodeGenContext context)Trigger code generation
-
-
-
Method Detail
-
providerId
@NotNull String providerId()
- Returns:
- unique name of the code gen provider, will correspond to the directory in
generated-sources
-
inputExtension
@NotNull String inputExtension()
File extension that CodeGenProvider will generate code from- Returns:
- file extension
-
inputDirectory
@NotNull String inputDirectory()
Name of the directory containing input files for a givenCodeGenProviderimplementation relative to a sources root directory. For example, if an input directory is configured asfoo, for a production build of an application the sources will be looked up atsrc/main/foopath and atsrc/test/foofor tests.- Returns:
- the input directory
-
getInputDirectory
default Path getInputDirectory()
Provides the possibility for the provider to override the default input directory. This method is called afterinit(ApplicationModel, Map). Returningnullwill result in theinputDirectorymethod being called to retrieve the default input directory.The returned path must be an absolute path. However, pointing to a directory outside of the project structure should be avoided for security purposes.
- Returns:
- the input directory, must be an absolute path.
nullwould result in the default input directory being used.
-
init
default void init(io.quarkus.bootstrap.model.ApplicationModel model, Map<String,String> properties)Provides the possibility for the provider to initialize itself using the application model and properties.- Parameters:
model- the application modelproperties- the build time properties defined in the application build file (pom.xml or gradle.build)
-
trigger
boolean trigger(CodeGenContext context) throws CodeGenException
Trigger code generation- Parameters:
context- code generation context- Returns:
- true if files were generated/modified
- Throws:
CodeGenException
-
shouldRun
default boolean shouldRun(Path sourceDir, org.eclipse.microprofile.config.Config config)
-
-