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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to