Author: mkleint Date: Wed Sep 19 05:21:23 2007 New Revision: 577274 URL: http://svn.apache.org/viewvc?rev=577274&view=rev Log: MNG-468 toolchain-ize compiler plugin.
Modified: maven/plugins/branches/MNG-468/maven-compiler-plugin/ (props changed) maven/plugins/branches/MNG-468/maven-compiler-plugin/pom.xml maven/plugins/branches/MNG-468/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/AbstractCompilerMojo.java Propchange: maven/plugins/branches/MNG-468/maven-compiler-plugin/ ------------------------------------------------------------------------------ --- svn:ignore (original) +++ svn:ignore Wed Sep 19 05:21:23 2007 @@ -7,3 +7,4 @@ .wtpmodules .project .classpath +nbproject Modified: maven/plugins/branches/MNG-468/maven-compiler-plugin/pom.xml URL: http://svn.apache.org/viewvc/maven/plugins/branches/MNG-468/maven-compiler-plugin/pom.xml?rev=577274&r1=577273&r2=577274&view=diff ============================================================================== --- maven/plugins/branches/MNG-468/maven-compiler-plugin/pom.xml (original) +++ maven/plugins/branches/MNG-468/maven-compiler-plugin/pom.xml Wed Sep 19 05:21:23 2007 @@ -34,6 +34,11 @@ <version>1.5.3</version> </dependency> <dependency> + <groupId>org.apache.maven.shared</groupId> + <artifactId>maven-toolchain</artifactId> + <version>1.0-SNAPSHOT</version> + </dependency> + <dependency> <groupId>org.codehaus.plexus</groupId> <artifactId>plexus-compiler-manager</artifactId> <version>1.5.3</version> Modified: maven/plugins/branches/MNG-468/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/AbstractCompilerMojo.java URL: http://svn.apache.org/viewvc/maven/plugins/branches/MNG-468/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/AbstractCompilerMojo.java?rev=577274&r1=577273&r2=577274&view=diff ============================================================================== --- maven/plugins/branches/MNG-468/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/AbstractCompilerMojo.java (original) +++ maven/plugins/branches/MNG-468/maven-compiler-plugin/src/main/java/org/apache/maven/plugin/AbstractCompilerMojo.java Wed Sep 19 05:21:23 2007 @@ -41,6 +41,9 @@ import java.util.List; import java.util.Map; import java.util.Set; +import org.apache.maven.context.BuildContextManager; +import org.apache.maven.toolchain.Toolchain; +import org.apache.maven.toolchain.ToolchainManager; /** * TODO: At least one step could be optimized, currently the plugin will do two @@ -238,6 +241,19 @@ * @component */ private CompilerManager compilerManager; + + /** + * + * @component + */ + private ToolchainManager toolchainManager; + + /** + * + * @component + */ + private BuildContextManager buildContextManager; + protected abstract SourceInclusionScanner getSourceInclusionScanner( int staleMillis ); @@ -271,6 +287,19 @@ throw new MojoExecutionException( "No such compiler '" + e.getCompilerId() + "'." ); } + //use the compilerId as identifier for toolchains as well. + Toolchain tc = toolchainManager.getToolchainFromBuildContext(compilerId, + buildContextManager.readBuildContext(true)); + if (tc != null) { + getLog().info("Toolchain in compiler-plugin: " + tc); + if ( executable != null) { + getLog().warn("Toolchains are ignored, 'executable' parameter is set to " + executable); + } else { + fork = true; + //TODO somehow shaky dependency between compilerId and tool executable. + executable = tc.findTool(compilerId); + } + } // ---------------------------------------------------------------------- // // ----------------------------------------------------------------------