Marco Collovati created CAMEL-10711:
---------------------------------------

             Summary: 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: Trivial


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