You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by ke...@apache.org on 2005/09/19 03:29:25 UTC

svn commit: r290040 - in /maven/components/trunk: maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java

Author: kenney
Date: Sun Sep 18 18:29:18 2005
New Revision: 290040

URL: http://svn.apache.org/viewcvs?rev=290040&view=rev
Log:
Fixed MNG-908: set the contextClassLoader to the classrealm of the
currently executing plugin, so that both getClass().getClassLoader()
and Thread.currentThread().getContextClassLoader() return the same
classloader (and hence resources).


Modified:
    maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
    maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=290040&r1=290039&r2=290040&view=diff
==============================================================================
--- maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java (original)
+++ maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java Sun Sep 18 18:29:18 2005
@@ -352,8 +352,13 @@
 
         dispatcher.dispatchStart( event, goalExecId );
 
+        ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
+
         try
         {
+            Thread.currentThread().setContextClassLoader(
+                mojoDescriptor.getPluginDescriptor().getClassRealm().getClassLoader() );
+
             plugin.execute();
 
             dispatcher.dispatchEnd( event, goalExecId );
@@ -366,6 +371,9 @@
         }
         finally
         {
+
+            Thread.currentThread().setContextClassLoader( oldClassLoader );
+
             try
             {
                 PlexusContainer pluginContainer = getPluginContainer( mojoDescriptor.getPluginDescriptor() );

Modified: maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java
URL: http://svn.apache.org/viewcvs/maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java?rev=290040&r1=290039&r2=290040&view=diff
==============================================================================
--- maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java (original)
+++ maven/components/trunk/maven-plugin-descriptor/src/main/java/org/apache/maven/plugin/descriptor/PluginDescriptor.java Sun Sep 18 18:29:18 2005
@@ -302,4 +302,10 @@
     {
         this.classRealm = classRealm;
     }
+
+    public ClassRealm getClassRealm()
+    {
+        return classRealm;
+    }
+
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org