You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2011/02/24 16:12:30 UTC
svn commit: r1074184 - in /maven/maven-3/trunk:
maven-core/src/main/java/org/apache/maven/plugin/
maven-core/src/main/java/org/apache/maven/plugin/internal/
maven-embedder/src/main/java/org/apache/maven/cli/
Author: bentmann
Date: Thu Feb 24 15:12:30 2011
New Revision: 1074184
URL: http://svn.apache.org/viewvc?rev=1074184&view=rev
Log:
[MNG-5019] [regression] String-based component lookups performed by report mojos fail with ClassCastException
Modified:
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java
maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginManager.java
maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java?rev=1074184&r1=1074183&r2=1074184&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java Thu Feb 24 15:12:30 2011
@@ -24,7 +24,6 @@ import org.apache.maven.model.Plugin;
import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.classworlds.realm.ClassRealm;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
@@ -40,9 +39,6 @@ public class DefaultBuildPluginManager
{
@Requirement
- private PlexusContainer container;
-
- @Requirement
private MavenPluginManager mavenPluginManager;
@Requirement
@@ -86,8 +82,6 @@ public class DefaultBuildPluginManager
throw new PluginExecutionException( mojoExecution, project, e );
}
- ClassRealm oldLookupRealm = container.setLookupRealm( pluginRealm );
-
ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
Thread.currentThread().setContextClassLoader( pluginRealm );
@@ -159,7 +153,6 @@ public class DefaultBuildPluginManager
mavenPluginManager.releaseMojo( mojo, mojoExecution );
Thread.currentThread().setContextClassLoader( oldClassLoader );
- container.setLookupRealm( oldLookupRealm );
legacySupport.setSession( oldSession );
}
Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginManager.java?rev=1074184&r1=1074183&r2=1074184&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginManager.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginManager.java Thu Feb 24 15:12:30 2011
@@ -109,16 +109,16 @@ public class DefaultPluginManager
throw new PluginManagerException( plugin, e.getMessage(), e );
}
- ClassRealm oldRealm = container.getLookupRealm();
+ ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
try
{
- container.setLookupRealm( pluginDescriptor.getClassRealm() );
+ Thread.currentThread().setContextClassLoader( pluginDescriptor.getClassRealm() );
return container.lookup( role, roleHint );
}
finally
{
- container.setLookupRealm( oldRealm );
+ Thread.currentThread().setContextClassLoader( oldClassLoader );
}
}
@@ -141,16 +141,16 @@ public class DefaultPluginManager
throw new PluginManagerException( plugin, e.getMessage(), e );
}
- ClassRealm oldRealm = container.getLookupRealm();
+ ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
try
{
- container.setLookupRealm( pluginDescriptor.getClassRealm() );
+ Thread.currentThread().setContextClassLoader( pluginDescriptor.getClassRealm() );
return container.lookupMap( role );
}
finally
{
- container.setLookupRealm( oldRealm );
+ Thread.currentThread().setContextClassLoader( oldClassLoader );
}
}
Modified: maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java?rev=1074184&r1=1074183&r2=1074184&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java (original)
+++ maven/maven-3/trunk/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java Thu Feb 24 15:12:30 2011
@@ -374,6 +374,9 @@ public class MavenCli
container = new DefaultPlexusContainer( cc );
+ // NOTE: To avoid inconsistencies, we'll use the TCCL exclusively for lookups
+ container.setLookupRealm( null );
+
container.setLoggerManager( new MavenLoggerManager( logger ) );
customizeContainer( container );