[
https://issues.apache.org/jira/browse/CAMEL-10711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15830844#comment-15830844
]
Marco Collovati commented on CAMEL-10711:
-----------------------------------------
Another possible solution is to use an enum to drive the source addition
{code:java}
public enum SourceRoots {
source, both, test, none
}
@Parameter(defaultValue = "both")
protected SourceRoots sourceRoots = SourceRoots.both;
{code}
This way with a single configuration we can specify if we want to make source
available:
* only _compile_ phase (*SourceRoots.source*),
* only _test-compile_ phase (*SourceRoots.test*),
* _generatedSrcDir_ to _compile_ phase and _generatedTestDir_ to _test-compile_
phase (*SourceRoots.both*),
* not adding sources at all (*SourceRoots.none*),
> Consider using add[Test]CompileSourceRoot in api component maven plugin
> -----------------------------------------------------------------------
>
> Key: CAMEL-10711
> URL: https://issues.apache.org/jira/browse/CAMEL-10711
> Project: Camel
> Issue Type: New Feature
> Components: tooling
> Reporter: Marco Collovati
> Priority: Minor
> Fix For: Future
>
>
> When using camel-api-component-maven-plugin we must also add
> build-helper-maven-plugin to ensure that generated sources are added
> to the project for compilation.
> To avoid this configuration step it is possible to add the source path
> directly from the plugin by calling *MavenProject.addCompileSourceRoot*
> and *MavenProject.addTestCompileSourceRoot*.
> {code:java}
> project.addCompileSourceRoot(this.generatedSrcDir.getAbsolutePath());
> project.addTestCompileSourceRoot(this.generatedTestDir.getAbsolutePath());
> {code}
> This can maybe be done at the end of the execute method of
> ApiComponentGeneratorMojo and AbstractApiMethodGeneratorMojo.
> It could also be a nice idea to add boolean properties in
> AbstractGeneratorMojo in order to enable or disable the automatic addition of
> the source.
> {code:java}
> @Parameter(defaultValue = "true", property = PREFIX + "addCompileSourceRoot",
> required = false)
> private boolean addCompileSourceRoot = true;
> @Parameter(defaultValue = "true", property = PREFIX +
> "addTestCompileSourceRoot", required = false)
> private boolean addTestCompileSourceRoot = true;
> {code}
> {code:java}
> if (this.addCompileSourceRoot) {
> project.addCompileSourceRoot(this.generatedSrcDir.getAbsolutePath());
> }
> if (this.addTestCompileSourceRoot) {
> project.addTestCompileSourceRoot(this.generatedTestDir.getAbsolutePath());
> }
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)