jvanzyl 2004/05/07 10:58:13
Modified: maven-core/src/main/java/org/apache/maven Maven.java
Log:
o update to match some changes in classworlds to make embedding
work in a cleaner fashion.
Revision Changes Path
1.11 +14 -29
maven-components/maven-core/src/main/java/org/apache/maven/Maven.java
Index: Maven.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-core/src/main/java/org/apache/maven/Maven.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- Maven.java 17 Apr 2004 15:18:20 -0000 1.10
+++ Maven.java 7 May 2004 17:58:13 -0000 1.11
@@ -20,16 +20,12 @@
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.ProjectBuildingException;
-import org.codehaus.classworlds.ClassRealm;
import org.codehaus.classworlds.ClassWorld;
import org.codehaus.plexus.embed.Embedder;
-import org.codehaus.plexus.util.FileUtils;
import java.io.File;
-import java.net.URL;
import java.util.Map;
-import java.util.List;
-import java.util.Iterator;
+import java.net.URL;
/**
* @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
@@ -40,40 +36,29 @@
{
private MavenCore maven;
- public Maven( String mavenHome )
+ public Maven( String mavenHome, ClassWorld bootClassWorld )
throws Exception
{
- ClassWorld classWorld = new ClassWorld();
+ Embedder embedder = new Embedder();
- classWorld.newRealm( "root", Thread.currentThread().getContextClassLoader()
);
+ ClassWorld classWorld;
- initialize( mavenHome, classWorld );
- }
-
- public Maven( String mavenHome, ClassWorld classWorld )
- throws Exception
- {
- initialize( mavenHome, classWorld );
- }
-
- public void initialize( String mavenHome, ClassWorld classWorld )
- throws Exception
- {
- Embedder embedder = new Embedder();
+ if ( bootClassWorld == null )
+ {
+ classWorld = new ClassWorld( "core",
embedder.getClass().getClassLoader() );
+ }
+ else
+ {
+ classWorld = bootClassWorld;
+ }
URL url = Maven.class.getResource( "plexus.xml" );
embedder.setConfiguration( url );
- ClassRealm realm = classWorld.getRealm( "root" );
-
- embedder.setClassLoader( realm.getClassLoader() );
-
- embedder.addContextValue( "rootClassRealm", realm );
-
embedder.addContextValue( "maven.home", mavenHome );
- embedder.start();
+ embedder.start( classWorld );
maven = (MavenCore) embedder.lookup( MavenCore.ROLE );
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]