[ 
https://issues.apache.org/jira/browse/CAMEL-10711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15830658#comment-15830658
 ] 

Marco Collovati commented on CAMEL-10711:
-----------------------------------------

With the maven API version in use (2.2.1) it seems there is no way to get the 
current execution phase.
Maybe I'm wrong; I'll investigate further on this.

As a workaround we could always add _generatedSrcDir_ to 
_TestCompileSourceRoot_; the drawback is that the sources in _generatedSrcDir_ 
will be compiled twice and present both in _target/classes_ and 
_target/test-classes_

> 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