Package io.quarkus.deployment
Interface CodeGenProvider
-
public interface CodeGenProvider
Service 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 Path
getInputDirectory()
Provides the possibility for the provider to override the default input directory.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.String
inputDirectory()
Name of the directory containing input files for a givenCodeGenProvider
implementation relative to a sources root directory.String
inputExtension()
File extension that CodeGenProvider will generate code fromString
providerId()
default boolean
shouldRun(Path sourceDir, org.eclipse.microprofile.config.Config config)
boolean
trigger(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 givenCodeGenProvider
implementation 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/foo
path and atsrc/test/foo
for 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)
. Returningnull
will result in theinputDirectory
method 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.
null
would 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)
-
-