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