Author: mkleint Date: Tue Jan 29 10:55:29 2008 New Revision: 616477 URL: http://svn.apache.org/viewvc?rev=616477&view=rev Log: make the toolchains components compilable and runnable against 2.0.6. Please note that it will not actually work in 2.0.6+, since the maven-toolchains-plugin will only work in 3.0.9+. But it allows other plugins adopting toolchains to use them without bumping the version up to 3.0.9 just yet,
Modified: maven/shared/trunk/maven-toolchain/pom.xml maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java maven/shared/trunk/maven-toolchain/src/main/mdo/toolchains.xml Modified: maven/shared/trunk/maven-toolchain/pom.xml URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-toolchain/pom.xml?rev=616477&r1=616476&r2=616477&view=diff ============================================================================== --- maven/shared/trunk/maven-toolchain/pom.xml (original) +++ maven/shared/trunk/maven-toolchain/pom.xml Tue Jan 29 10:55:29 2008 @@ -20,12 +20,12 @@ <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-core</artifactId> - <version>2.0.9-SNAPSHOT</version> + <version>2.0.6</version> </dependency> <dependency> <groupId>org.apache.maven</groupId> <artifactId>maven-artifact</artifactId> - <version>2.0.9-SNAPSHOT</version> + <version>2.0.6</version> </dependency> </dependencies> <build> @@ -33,6 +33,7 @@ <plugin> <groupId>org.codehaus.modello</groupId> <artifactId>modello-maven-plugin</artifactId> + <version>1.0-alpha-14</version> <executions> <execution> <goals> @@ -51,7 +52,7 @@ <plugin> <artifactId>maven-shade-plugin</artifactId> <groupId>org.apache.maven.plugins</groupId> - <version>1.0-alpha-13-SNAPSHOT</version> + <version>1.0-alpha-15</version> <executions> <execution> <id>shading</id> Modified: maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java?rev=616477&r1=616476&r2=616477&view=diff ============================================================================== --- maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java (original) +++ maven/shared/trunk/maven-toolchain/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java Tue Jan 29 10:55:29 2008 @@ -22,14 +22,19 @@ import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; +import java.io.IOException; import java.io.InputStreamReader; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; import java.util.ArrayList; import java.util.Collections; +import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.descriptor.PluginDescriptor; +import org.apache.maven.project.MavenProject; import org.apache.maven.toolchain.model.PersistedToolchains; import org.apache.maven.toolchain.model.ToolchainModel; import org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader; @@ -40,7 +45,6 @@ import org.codehaus.plexus.context.ContextException; import org.codehaus.plexus.logging.AbstractLogEnabled; import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable; -import org.codehaus.plexus.util.IOUtil; /** * @@ -146,19 +150,38 @@ } return null; } + + private MavenProject getCurrentProject(MavenSession session) { + //use reflection since MavenSession.getCurrentProject() is not part of 3.0.8 + try + { + Method meth = session.getClass().getMethod("getCurrentProject", new Class[0]); + return (MavenProject) meth.invoke(session, null); + } catch (Exception ex) + { + //just ignore, we're running in pre- 3.0.9 + } + return null; + } private Map retrieveContext( MavenSession session ) { - if (session == null) { - return Collections.EMPTY_MAP; + if (session == null) + { + return new HashMap(); } PluginDescriptor desc = new PluginDescriptor(); desc.setGroupId( PluginDescriptor.getDefaultPluginGroupId() ); desc.setArtifactId( PluginDescriptor.getDefaultPluginArtifactId ("toolchains") ); - - return session.getPluginContext( desc, session.getCurrentProject() ); - + MavenProject current = getCurrentProject(session); + if ( current != null ) + { + return session.getPluginContext( desc, current ); + + } + return new HashMap(); } + public void storeToolchainToBuildContext( ToolchainPrivate toolchain, MavenSession session ) @@ -195,7 +218,16 @@ } finally { - IOUtil.close( in ); + if (in != null) + { + try + { + in.close(); + } + catch (IOException ex) + { } + } +// IOUtil.close( in ); } } else Modified: maven/shared/trunk/maven-toolchain/src/main/mdo/toolchains.xml URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-toolchain/src/main/mdo/toolchains.xml?rev=616477&r1=616476&r2=616477&view=diff ============================================================================== --- maven/shared/trunk/maven-toolchain/src/main/mdo/toolchains.xml (original) +++ maven/shared/trunk/maven-toolchain/src/main/mdo/toolchains.xml Tue Jan 29 10:55:29 2008 @@ -32,7 +32,7 @@ </default> </defaults> <classes> - <class rootElement="true" xml.tagName="toolchains"> + <class rootElement="true" xml.tagName="toolchains" xsd.compositor="sequence"> <name>PersistedToolchains</name> <description><![CDATA[ The <code><project></code> element is the root of the descriptor.