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 2009/06/17 22:37:02 UTC

svn commit: r785783 - /maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java

Author: bentmann
Date: Wed Jun 17 20:37:02 2009
New Revision: 785783

URL: http://svn.apache.org/viewvc?rev=785783&view=rev
Log:
[MNG-3012] ClassCastException due to plexus-utils NOT being filtered during plugin loading

o Restored fix

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

Modified: maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java?rev=785783&r1=785782&r2=785783&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 Wed Jun 17 20:37:02 2009
@@ -56,6 +56,7 @@
 import org.codehaus.plexus.classworlds.ClassWorld;
 import org.codehaus.plexus.classworlds.realm.ClassRealm;
 import org.codehaus.plexus.classworlds.realm.DuplicateRealmException;
+import org.codehaus.plexus.classworlds.realm.NoSuchRealmException;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.component.composition.CycleDetectedInComponentGraphException;
@@ -456,6 +457,20 @@
                 {
                     ClassRealm pluginRealm = world.newRealm( realmId );
                     pluginRealm.setParentRealm( container.getContainerRealm() );
+
+                    String coreRealmId = container.getContainerRealm().getId();
+                    try
+                    {
+                        pluginRealm.importFrom( coreRealmId, "org.codehaus.plexus.util.xml.Xpp3Dom" );
+                        pluginRealm.importFrom( coreRealmId, "org.codehaus.plexus.util.xml.pull.XmlPullParser" );
+                        pluginRealm.importFrom( coreRealmId, "org.codehaus.plexus.util.xml.pull.XmlPullParserException" );
+                        pluginRealm.importFrom( coreRealmId, "org.codehaus.plexus.util.xml.pull.XmlSerializer" );
+                    }
+                    catch ( NoSuchRealmException e )
+                    {
+                        throw new IllegalStateException( e );
+                    }
+
                     return pluginRealm;
                 }
                 catch ( DuplicateRealmException e )