[ 
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)

Reply via email to