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);
+            }
+        }
         // 
----------------------------------------------------------------------
         //
         // 
----------------------------------------------------------------------


Reply via email to