diff --git a/surefire/plugin.jelly b/surefire/plugin.jelly index 35396f4f..8dc11c81 100644 --- a/surefire/plugin.jelly +++ b/surefire/plugin.jelly @@ -27,6 +27,8 @@ + diff --git a/surefire/project.xml b/surefire/project.xml index 07691cb4..e6bd3a36 100644 --- a/surefire/project.xml +++ b/surefire/project.xml @@ -18,30 +18,10 @@ - - junit - junit - 3.8.1 - - - maven - test-runner - 1.4 - - - maven - maven-model - 2.0-SNAPSHOT - maven maven-project 2.0-SNAPSHOT - - plexus - plexus - 0.14-SNAPSHOT - diff --git a/surefire/src/main/org/apache/maven/test/IsolatedClassLoader.class b/surefire/src/main/org/apache/maven/test/IsolatedClassLoader.class deleted file mode 100644 index ed2c8875..00000000 Binary files a/surefire/src/main/org/apache/maven/test/IsolatedClassLoader.class and /dev/null differ diff --git a/surefire/src/main/org/apache/maven/test/IsolatedClassLoader.java b/surefire/src/main/org/apache/maven/test/IsolatedClassLoader.java deleted file mode 100644 index 085fddf6..00000000 --- a/surefire/src/main/org/apache/maven/test/IsolatedClassLoader.java +++ /dev/null @@ -1,59 +0,0 @@ -package org.apache.maven.test; - -import java.net.URLClassLoader; -import java.net.URL; - -/** - * - * - * @author Jason van Zyl - * - * @version $Id: IsolatedClassLoader.java,v 1.1 2004/01/09 16:22:59 jvanzyl Exp $ - */ -public class IsolatedClassLoader - extends URLClassLoader -{ - private ClassLoader parent = ClassLoader.getSystemClassLoader(); - - public IsolatedClassLoader() - { - super( new URL[0], null ); - } - - public void addURL( URL url ) - { - super.addURL( url ); - } - - public synchronized Class loadClass( String className ) - throws ClassNotFoundException - { - Class c = findLoadedClass( className ); - - ClassNotFoundException ex = null; - - if ( c == null ) - { - try - { - c = findClass( className ); - } - catch ( ClassNotFoundException e ) - { - ex = e; - - if ( parent != null ) - { - c = parent.loadClass( className ); - } - } - } - - if ( c == null ) - { - throw ex; - } - - return c; - } -} diff --git a/surefire/src/main/org/apache/maven/test/TestRunnerBooter.class b/surefire/src/main/org/apache/maven/test/TestRunnerBooter.class deleted file mode 100644 index 506bc627..00000000 Binary files a/surefire/src/main/org/apache/maven/test/TestRunnerBooter.class and /dev/null differ diff --git a/surefire/src/main/org/apache/maven/test/TestRunnerBooter.java b/surefire/src/main/org/apache/maven/test/TestRunnerBooter.java deleted file mode 100644 index 21dc8093..00000000 --- a/surefire/src/main/org/apache/maven/test/TestRunnerBooter.java +++ /dev/null @@ -1,130 +0,0 @@ -package org.apache.maven.test; - -import org.apache.maven.artifact.Artifact; -import org.apache.maven.model.Dependency; -import org.apache.maven.project.Project; -import org.codehaus.plexus.util.DirectoryScanner; -import org.codehaus.plexus.util.StringUtils; - -import java.io.File; -import java.lang.reflect.Method; -import java.net.MalformedURLException; -import java.util.Iterator; -import java.util.List; - -public class TestRunnerBooter -{ - private Project project; - - public void setProject( Project project ) - { - this.project = project; - } - - public void execute() - throws Exception - { - // maven.build.dest - // maven.test.dest - - IsolatedClassLoader classLoader = new IsolatedClassLoader(); - - File basedir = project.getFile().getParentFile(); - - System.setProperty( "basedir", basedir.getPath() ); - - Thread.currentThread().setContextClassLoader( classLoader ); - - String mavenRepoLocal = project.getProperty( "maven.repo.local" ); - - classLoader.addURL( new File ( mavenRepoLocal, "junit/jars/junit-3.8.1.jar" ).toURL() ); - - classLoader.addURL( new File ( mavenRepoLocal, "maven/jars/surefire-runner-1.0.jar" ).toURL() ); - - classLoader.addURL( new File( basedir, "target/classes/" ).toURL() ); - - classLoader.addURL( new File( basedir, "target/test-classes/" ).toURL() ); - - processDependencies( project, classLoader ); - - String[] tests = collectTests( basedir, - project.getBuild().getUnitTest().getIncludes(), - project.getBuild().getUnitTest().getExcludes() ); - - Class testRunnerClass = classLoader.loadClass( "org.apache.maven.test.TestRunner" ); - - Object testRunner = testRunnerClass.newInstance(); - - Method m = testRunnerClass.getMethod( "runTestClasses", new Class[] { - ClassLoader.class, - String[].class - } ); - - m.invoke( testRunner, new Object[]{ - classLoader, - tests - } ); - } - - // We need to deal with populating a plugin classloader with its requirements. - private void processDependencies( Project project, IsolatedClassLoader classLoader ) - throws MalformedURLException - { - if ( project.getArtifacts() == null ) - { - return; - } - - for ( Iterator i = project.getArtifacts().iterator(); i.hasNext(); ) - { - Artifact artifact = (Artifact) i.next(); - - Dependency dependency = artifact.getDependency(); - - // Only add compile type dependencies to classloader - if ( dependency.getType().equals( "jar" ) ) - { - // We have the jar and the classloader to push it into so - // lets do it! - if ( artifact.exists() ) - { - classLoader.addURL( artifact.getFile().toURL() ); - } - } - } - } - - public String[] collectTests( File basedir, List includes, List excludes ) - throws Exception - { - DirectoryScanner scanner = new DirectoryScanner(); - - scanner.setBasedir( new File( basedir, "target/test-classes" ) ); - - String[] incs = new String[includes.size()]; - - for ( int i = 0; i < incs.length; i++ ) - { - incs[i] = StringUtils.replace( (String) includes.get( i ), "java", "class" ); - } - - scanner.setIncludes( incs ); - - String[] excls = new String[excludes.size() + 1]; - - for ( int i = 0; i < excls.length - 1; i++ ) - { - excls[i] = StringUtils.replace( (String) excludes.get( i ), "java", "class" ); - } - - // Exclude inner classes - - excls[excludes.size()] = "**/*$*"; - - scanner.setExcludes( excls ); - - scanner.scan(); - - return scanner.getIncludedFiles(); - } -}