Hello all, After failing to customize the compiler pluging (by passing <compileSourceRoots /> in the maven-compiler-plugin <configuration />); I've went onto trying to extend the maven-compiler-plugin CompileMojo to just set that variable.
It looks like I've missed something: the injected parameters of the super classes are not being set (e.g. the parameter compilerId, or the component compilerManager in AbstractCompilerMojo are null). Is there a flag that enables injection of parameters in super classes? Or is the issue something else? Thanks :-) Walid. Note: a component definition maps the custom-compile goal to the <compile /> phase. o====x maven-customcompile-plugin Mojo: x====o /** * @goal custom-compile * @phase compile * @requiresDependencyResolution runtime */ public class CustomCompilerMojo extends CompilerMojo { // ... /** * @parameter */ private List<String> compileSourceRoots; protected List<String> getCompileSourceRoots() { return compileSourceRoots; } public void execute() throws MojoExecutionException, CompilationFailureException { super.execute(); } } o====x Project POM: x====o <!-- ... --> <build> <plugins> <plugin> <groupId>fr.gedeon</groupId> <artifactId>maven-customcompile-plugin</artifactId> <extensions>true</extensions> <configuration> <compileSourceRoots> <directory>Dev/src/java</directory> </compileSourceRoots> </configuration> </plugin> </plugins> </build> o====x Partial Trace: x====o [DEBUG] Configuring mojo 'fr.gedeon:maven-customcompile-plugin:1.0-SNAPSHOT:custom-compile' --> [DEBUG] (f) compileSourceRoots = [Dev/src/java] [DEBUG] (f) project = [EMAIL PROTECTED] [DEBUG] -- end configuration -- [INFO] [bem:custom-compile] [DEBUG] Using compiler 'null'. > ^ this is from getLog().debug( "Using compiler '" + compilerId + "'." ); > in AbstractCompilerMojo [INFO] ------------------------------------------------------------------------ [ERROR] FATAL ERROR [INFO] ------------------------------------------------------------------------ [INFO] null [INFO] ------------------------------------------------------------------------ [DEBUG] Trace java.lang.NullPointerException at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:267) > ^ I suppose this is compiler = compilerManager.getCompiler( compilerId ); > with compilerManager = null at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114) at org.apache.maven.plugin.CompileBemMojo.execute(CompileBemMojo.java:37) ...