You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mk...@apache.org on 2008/01/29 20:04:05 UTC

svn commit: r616481 - in /maven/plugins/branches/MNG-468: maven-compiler-plugin/ maven-compiler-plugin/src/main/java/org/apache/maven/plugin/ maven-javadoc-plugin/ maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/ maven-surefire-plugi...

Author: mkleint
Date: Tue Jan 29 11:04:03 2008
New Revision: 616481

URL: http://svn.apache.org/viewvc?rev=616481&view=rev
Log:
make the plugins work in 3.0.6 and still be toolchain-ready.

Modified:
    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
    maven/plugins/branches/MNG-468/maven-javadoc-plugin/pom.xml
    maven/plugins/branches/MNG-468/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
    maven/plugins/branches/MNG-468/maven-surefire-plugin/pom.xml
    maven/plugins/branches/MNG-468/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java

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=616481&r1=616480&r2=616481&view=diff
==============================================================================
--- maven/plugins/branches/MNG-468/maven-compiler-plugin/pom.xml (original)
+++ maven/plugins/branches/MNG-468/maven-compiler-plugin/pom.xml Tue Jan 29 11:04:03 2008
@@ -11,7 +11,7 @@
   <version>2.1-SNAPSHOT</version>
   <inceptionYear>2001</inceptionYear>
   <prerequisites>
-    <maven>2.0.9-SNAPSHOT</maven>
+    <maven>2.0.6</maven>
   </prerequisites>
   <issueManagement>
     <system>JIRA</system>

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=616481&r1=616480&r2=616481&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 Tue Jan 29 11:04:03 2008
@@ -44,6 +44,7 @@
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.toolchain.Toolchain;
 import org.apache.maven.toolchain.ToolchainManager;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 
 /**
  * TODO: At least one step could be optimized, currently the plugin will do two
@@ -243,12 +244,6 @@
     private CompilerManager compilerManager;
     
     /**
-     *
-     * @component
-     */
-    private ToolchainManager toolchainManager;
-    
-    /**
      * The current build session instance. This is used for
      * toolchain manager API calls.
      *
@@ -290,10 +285,10 @@
         {
             throw new MojoExecutionException( "No such compiler '" + e.getCompilerId() + "'." );
         }
-
+        
+        //-----------toolchains start here ----------------------------------
         //use the compilerId as identifier for toolchains as well.
-        Toolchain tc = toolchainManager.getToolchainFromBuildContext( compilerId,  
-                                session );
+        Toolchain tc = getToolchain();
         if ( tc != null ) 
         {
             getLog().info( "Toolchain in compiler-plugin: " + tc );
@@ -581,6 +576,27 @@
             }
         }
         return value;
+    }
+
+    //TODO remove the part with ToolchainManager lookup once we depend on
+    //3.0.9 (have it as prerequisite). Define as regular component field then.
+    private Toolchain getToolchain() 
+    {
+        Toolchain tc = null;
+        try 
+        {
+            if (session != null) //session is null in tests..
+            {
+                ToolchainManager toolchainManager = (ToolchainManager) session.getContainer().lookup(ToolchainManager.ROLE);
+                if (toolchainManager != null) 
+                {
+                    tc = toolchainManager.getToolchainFromBuildContext(compilerId, session);
+                }
+            }
+        } catch (ComponentLookupException componentLookupException) {
+            //just ignore, could happen in pre-3.0.9 builds..
+        }
+        return tc;
     }
 
     private boolean isDigits( String string )

Modified: maven/plugins/branches/MNG-468/maven-javadoc-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MNG-468/maven-javadoc-plugin/pom.xml?rev=616481&r1=616480&r2=616481&view=diff
==============================================================================
--- maven/plugins/branches/MNG-468/maven-javadoc-plugin/pom.xml (original)
+++ maven/plugins/branches/MNG-468/maven-javadoc-plugin/pom.xml Tue Jan 29 11:04:03 2008
@@ -43,7 +43,7 @@
   </issueManagement>
 
   <prerequisites>
-    <maven>2.0.9-SNAPSHOT</maven>
+    <maven>2.0.6</maven>
   </prerequisites>
 
   <build>

Modified: maven/plugins/branches/MNG-468/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MNG-468/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java?rev=616481&r1=616480&r2=616481&view=diff
==============================================================================
--- maven/plugins/branches/MNG-468/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java (original)
+++ maven/plugins/branches/MNG-468/maven-javadoc-plugin/src/main/java/org/apache/maven/plugin/javadoc/AbstractJavadocMojo.java Tue Jan 29 11:04:03 2008
@@ -69,6 +69,7 @@
 import org.apache.maven.toolchain.Toolchain;
 import org.apache.maven.toolchain.ToolchainManager;
 import org.apache.maven.wagon.PathUtils;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
 import org.codehaus.plexus.util.StringUtils;
@@ -90,11 +91,6 @@
     extends AbstractMojo
 {
     
-    /**
-     *
-     * @component
-     */
-    private ToolchainManager toolchainManager;
     
     /**
      * The current build session instance. This is used for
@@ -1732,6 +1728,28 @@
         return StringUtils.join( classpathElements.iterator(), File.pathSeparator );
     }
 
+    
+    //TODO remove the part with ToolchainManager lookup once we depend on
+    //3.0.9 (have it as prerequisite). Define as regular component field then.
+    private Toolchain getToolchain() 
+    {
+        Toolchain tc = null;
+        try 
+        {
+            if (session != null) //session is null in tests..
+            {
+                ToolchainManager toolchainManager = (ToolchainManager) session.getContainer().lookup(ToolchainManager.ROLE);
+                if (toolchainManager != null) 
+                {
+                    tc = toolchainManager.getToolchainFromBuildContext("jdk", session);
+                }
+            }
+        } catch (ComponentLookupException componentLookupException) {
+            //just ignore, could happen in pre-3.0.9 builds..
+        }
+        return tc;
+    }
+
     /**
      * Method to put the artifacts in the hashmap.
      *
@@ -2063,8 +2081,8 @@
     private String getJavadocExecutable()
         throws IOException
     {
-        Toolchain tc = toolchainManager.getToolchainFromBuildContext( "jdk", //NOI18N
-                                session );
+        Toolchain tc = getToolchain();
+        
         if ( tc != null )
         {
             getLog().info( "Toolchain in javadoc-plugin: " + tc );

Modified: maven/plugins/branches/MNG-468/maven-surefire-plugin/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MNG-468/maven-surefire-plugin/pom.xml?rev=616481&r1=616480&r2=616481&view=diff
==============================================================================
--- maven/plugins/branches/MNG-468/maven-surefire-plugin/pom.xml (original)
+++ maven/plugins/branches/MNG-468/maven-surefire-plugin/pom.xml Tue Jan 29 11:04:03 2008
@@ -22,15 +22,16 @@
   <parent>
     <artifactId>surefire</artifactId>
     <groupId>org.apache.maven.surefire</groupId>
-    <version>2.4-SNAPSHOT</version>
+    <version>2.4</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-surefire-plugin</artifactId>
   <groupId>org.apache.maven.plugins</groupId>
   <packaging>maven-plugin</packaging>
   <name>Maven Surefire Plugin</name>
+  <version>2.4-SNAPSHOT</version>
   <prerequisites>
-    <maven>2.0.9-SNAPSHOT</maven>
+    <maven>2.0.6</maven>
   </prerequisites>
   <mailingLists>
     <!-- duplication from maven-plugins pom - temporary until they inherit properly -->

Modified: maven/plugins/branches/MNG-468/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
URL: http://svn.apache.org/viewvc/maven/plugins/branches/MNG-468/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java?rev=616481&r1=616480&r2=616481&view=diff
==============================================================================
--- maven/plugins/branches/MNG-468/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java (original)
+++ maven/plugins/branches/MNG-468/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java Tue Jan 29 11:04:03 2008
@@ -59,6 +59,7 @@
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.toolchain.Toolchain;
 import org.apache.maven.toolchain.ToolchainManager;
+import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
 
 /**
  * Run tests using Surefire.
@@ -389,11 +390,6 @@
      */
     private boolean enableAssertions;
     
-    /**
-     *
-     * @component
-     */
-    private ToolchainManager toolchainManager;
     
     /**
      * The current build session instance. This is used for
@@ -415,7 +411,7 @@
 
             getLog().info( "Surefire report directory: " + reportsDirectory );
 
-            boolean success;
+            int success;
             try
             {
                 success = surefireBooter.run();
@@ -435,7 +431,7 @@
                 System.setProperties( originalSystemProperties );
             }
 
-            if ( !success )
+            if ( success != 0)
             {
                 // TODO: i18n
                 String msg = "There are test failures.\n\nPlease refer to " + reportsDirectory + " for the individual test results.";
@@ -680,14 +676,17 @@
             surefireBooter.addClassPathUrl( classpathElement );
         }
         
-        Toolchain tc = toolchainManager.getToolchainFromBuildContext( "jdk",  //NOI18N
-                                session );
-        if (tc != null) {
+        Toolchain tc = getToolchain();
+        
+        if (tc != null) 
+        {
             getLog().info("Toolchain in surefire-plugin: " + tc);
-            if (ForkConfiguration.FORK_NEVER.equals( forkMode ) ) {
+            if (ForkConfiguration.FORK_NEVER.equals( forkMode ) ) 
+            {
                 forkMode = ForkConfiguration.FORK_ONCE;
             }
-            if ( jvm  != null) {
+            if ( jvm  != null ) 
+            {
                 getLog().warn("Toolchains are ignored, 'executable' parameter is set to " + jvm);
             } else {
                 jvm = tc.findTool("java"); //NOI18N
@@ -930,4 +929,28 @@
     {
         this.skipExec = skipExec;
     }
+    
+    //TODO remove the part with ToolchainManager lookup once we depend on
+    //3.0.9 (have it as prerequisite). Define as regular component field then.
+    private Toolchain getToolchain() 
+    {
+        Toolchain tc = null;
+        try 
+        {
+            if (session != null) //session is null in tests..
+            {
+                ToolchainManager toolchainManager = (ToolchainManager) session.getContainer().lookup(ToolchainManager.ROLE);
+                if (toolchainManager != null) 
+                {
+                    tc = toolchainManager.getToolchainFromBuildContext("jdk", session);
+                }
+            }
+        } catch (ComponentLookupException componentLookupException) {
+            //just ignore, could happen in pre-3.0.9 builds..
+        }
+        return tc;
+    }
+
+    
+    
 }