[ https://jira.codehaus.org/browse/MCOMPILER-165?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Edd grant updated MCOMPILER-165: -------------------------------- Attachment: multiple-pom-mixed-java-groovy-project-test.zip Attached project which demonstrates the issue: 1: Execute {{mvn clean install}} from the {{child-groovy-module}} folder and it should complete successfully. 2: Execute {{mvn clean install}} from the {{parent-module}} folder, it will fail with the {{No such compiler 'groovy-eclipse-compiler'}} error. > Child modules don't seem to be able to use a different compilerId to their > parent modules when built from the parent POM. > ------------------------------------------------------------------------------------------------------------------------- > > Key: MCOMPILER-165 > URL: https://jira.codehaus.org/browse/MCOMPILER-165 > Project: Maven 2.x Compiler Plugin > Issue Type: Bug > Affects Versions: 2.3.2 > Reporter: Edd grant > Attachments: multiple-pom-mixed-java-groovy-project-test.zip > > > I have a mixed Java/ Groovy project which is split over several Maven > modules, all of which have a common parent module. In the parent POM I > specify some basic common options for the {{maven-compiler-plugin}} (see > example 1 below). The idea being that in my child modules I can either simple > use this configuration by specifying the plugin with no further configuration > (example 2), or I can override this configuration if I have specific > requirements (for example switching the {{compilerId}}) (example 3). > Example 1 - Parent POM: > {code} > <pluginManagement> > <plugins> > <plugin> > <artifactId>maven-compiler-plugin</artifactId> > <version>2.3.2</version> > <configuration> > <source>1.6</source> > <target>1.6</target> > </configuration> > </plugin> > </plugins> > </pluginManagement> > {code} > Example 2 - Child POM that inherits the parent POM's plugin configuration: > {code} > <plugin> > <artifactId>maven-compiler-plugin</artifactId> > </plugin> > {code} > Example 3 - Child POM that specifies a different compilation configuration > (uses the {{groovy-eclipse-compiler}}) to the parent POM's configuration: > {code} > <plugin> > <artifactId>maven-compiler-plugin</artifactId> > <configuration> > <compilerId>groovy-eclipse-compiler</compilerId> > <verbose>true</verbose> > <source>1.6</source> > <target>1.6</target> > </configuration> > <dependencies> > <dependency> > <groupId>org.codehaus.groovy</groupId> > <artifactId>groovy-eclipse-compiler</artifactId> > <version>2.6.0-01</version> > </dependency> > </dependencies> > </plugin> > {code} > Using this configuration everything works fine if I build ({{mvn clean > install}}) each POM individually, however when I build the project from the > parent POM compilation of the module with the switched {{compilerId}} fails > and I get the following error: > {code} > [ERROR] BUILD ERROR > [INFO] > ------------------------------------------------------------------------ > [INFO] No such compiler 'groovy-eclipse-compiler'. > [INFO] > ------------------------------------------------------------------------ > [INFO] Trace > org.apache.maven.lifecycle.LifecycleExecutionException: No such compiler > 'groovy-eclipse-compiler'. > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:362) > at > org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:597) > at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) > at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) > at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) > at org.codehaus.classworlds.Launcher.main(Launcher.java:375) > Caused by: org.apache.maven.plugin.MojoExecutionException: No such compiler > 'groovy-eclipse-compiler'. > at > org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:339) > at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128) > at > org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694) > ... 17 more > {code} > Would be most grateful if someone could look at this as it's causing us a lot > of pain. Also interested to know if there are any workarounds or quick fixes > in the meantime? Thanks. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira