You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2008/04/10 22:43:29 UTC
svn commit: r646950 - in /maven/ant-tasks/trunk: ./
src/main/java/org/apache/maven/artifact/ant/ src/test/java/
src/test/java/org/ src/test/java/org/apache/
src/test/java/org/apache/maven/ src/test/java/org/apache/maven/artifact/
src/test/java/org/apac...
Author: hboutemy
Date: Thu Apr 10 13:43:22 2008
New Revision: 646950
URL: http://svn.apache.org/viewvc?rev=646950&view=rev
Log:
[MANTTASKS-108] switched back the Classloader of the Main Ant Thread on each task execution (merged from branch)
Added:
maven/ant-tasks/trunk/src/test/java/
- copied from r646947, maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/java/
maven/ant-tasks/trunk/src/test/java/org/
- copied from r646947, maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/java/org/
maven/ant-tasks/trunk/src/test/java/org/apache/
- copied from r646947, maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/java/org/apache/
maven/ant-tasks/trunk/src/test/java/org/apache/maven/
- copied from r646947, maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/java/org/apache/maven/
maven/ant-tasks/trunk/src/test/java/org/apache/maven/artifact/
- copied from r646947, maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/java/org/apache/maven/artifact/
maven/ant-tasks/trunk/src/test/java/org/apache/maven/artifact/ant/
- copied from r646947, maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/java/org/apache/maven/artifact/ant/
maven/ant-tasks/trunk/src/test/java/org/apache/maven/artifact/ant/ClassLoaderTask.java (contents, props changed)
- copied, changed from r646947, maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/java/org/apache/maven/artifact/ant/ClassLoaderTask.java
maven/ant-tasks/trunk/src/test/resources/
- copied from r646947, maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/resources/
maven/ant-tasks/trunk/src/test/resources/test-tasks.xml (contents, props changed)
- copied, changed from r646947, maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/resources/test-tasks.xml
Modified:
maven/ant-tasks/trunk/sample.build.xml
maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java
Modified: maven/ant-tasks/trunk/sample.build.xml
URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/sample.build.xml?rev=646950&r1=646949&r2=646950&view=diff
==============================================================================
--- maven/ant-tasks/trunk/sample.build.xml (original)
+++ maven/ant-tasks/trunk/sample.build.xml Thu Apr 10 13:43:22 2008
@@ -1,4 +1,4 @@
-<project name="maven-ant-tasks" default="test-all" xmlns:artifact="urn:maven-artifact-ant">
+<project name="maven-ant-tasks" default="test-all" xmlns:artifact="urn:maven-artifact-ant" xmlns:test="urn:test-tasks">
<!--
<project name="foo" default="foo" xmlns:artifact="antlib:org.apache.maven.artifact.ant">
-->
@@ -20,7 +20,18 @@
-->
- <target name="initTaskDefs">
+ <target name="initClassloader">
+ <path id="testclasspath" path="target/test-classes" />
+ <typedef resource="test-tasks.xml" uri="urn:test-tasks" classpathref="testclasspath"/>
+
+ <test:classloader set="classloader"/>
+ </target>
+
+ <target name="checkClassloader">
+ <test:classloader check="classloader"/>
+ </target>
+
+ <target name="initTaskDefs" depends="initClassloader">
<xmlproperty file="pom.xml" prefix="pom.xml" />
<path id="maven-ant-tasks.classpath" path="target/maven-ant-tasks-${pom.xml.project.version}.jar" />
@@ -33,6 +44,8 @@
<artifact:remoteRepository id="deploy.repository" url="file://localhost/${deploy.repository.url}" layout="default"/>
<artifact:pom file="pom.xml" id="maven.project"/>
+
+ <test:classloader check="classloader"/>
</target>
<target name="installSshProvider" depends="initTaskDefs">
@@ -48,7 +61,7 @@
depends="test-deploy-spaces,test-deploy,test-no-dist-mgmt,test-install-attached,test-deploy-attached"/>
<target name="test-all" description="All tests"
- depends="test-all-deps,test-all-pubs,test-install-provider">
+ depends="test-all-deps,test-all-pubs,test-install-provider,checkClassloader">
<echo>test-scm not run, since it fails...</echo>
</target>
Modified: maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java
URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java?rev=646950&r1=646949&r2=646950&view=diff
==============================================================================
--- maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java (original)
+++ maven/ant-tasks/trunk/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java Thu Apr 10 13:43:22 2008
@@ -78,6 +78,8 @@
public abstract class AbstractArtifactTask
extends Task
{
+ private static ClassLoader plexusClassLoader;
+
private File userSettingsFile;
private File globalSettingsFile;
@@ -652,8 +654,13 @@
/** @noinspection RefusedBequest */
public void execute()
{
+ ClassLoader originalClassLoader = Thread.currentThread().getContextClassLoader();
try
{
+ if ( plexusClassLoader != null )
+ {
+ Thread.currentThread().setContextClassLoader( plexusClassLoader );
+ }
initSettings();
doExecute();
}
@@ -662,6 +669,11 @@
diagnoseError( e );
throw e;
+ }
+ finally
+ {
+ plexusClassLoader = Thread.currentThread().getContextClassLoader();
+ Thread.currentThread().setContextClassLoader( originalClassLoader );
}
}
Copied: maven/ant-tasks/trunk/src/test/java/org/apache/maven/artifact/ant/ClassLoaderTask.java (from r646947, maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/java/org/apache/maven/artifact/ant/ClassLoaderTask.java)
URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/src/test/java/org/apache/maven/artifact/ant/ClassLoaderTask.java?p2=maven/ant-tasks/trunk/src/test/java/org/apache/maven/artifact/ant/ClassLoaderTask.java&p1=maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/java/org/apache/maven/artifact/ant/ClassLoaderTask.java&r1=646947&r2=646950&rev=646950&view=diff
==============================================================================
(empty)
Propchange: maven/ant-tasks/trunk/src/test/java/org/apache/maven/artifact/ant/ClassLoaderTask.java
------------------------------------------------------------------------------
svn:eol-style = native
Copied: maven/ant-tasks/trunk/src/test/resources/test-tasks.xml (from r646947, maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/resources/test-tasks.xml)
URL: http://svn.apache.org/viewvc/maven/ant-tasks/trunk/src/test/resources/test-tasks.xml?p2=maven/ant-tasks/trunk/src/test/resources/test-tasks.xml&p1=maven/ant-tasks/branches/maven-ant-tasks-2.0.x/src/test/resources/test-tasks.xml&r1=646947&r2=646950&rev=646950&view=diff
==============================================================================
(empty)
Propchange: maven/ant-tasks/trunk/src/test/resources/test-tasks.xml
------------------------------------------------------------------------------
svn:eol-style = native