git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@796614 13f79535-47bb-0310-9956-ffa450edef68master
@@ -1456,4 +1456,14 @@ public class AntClassLoader extends ClassLoader implements SubBuildListener { | |||||
return "AntClassLoader[" + getClasspath() + "]"; | return "AntClassLoader[" + getClasspath() + "]"; | ||||
} | } | ||||
/** | |||||
* Factory method | |||||
*/ | |||||
public static AntClassLoader newAntClassLoader(ClassLoader parent, | |||||
Project project, | |||||
Path path, | |||||
boolean parentFirst) { | |||||
return new AntClassLoader(parent, project, path, parentFirst); | |||||
} | |||||
} | } |
@@ -335,8 +335,8 @@ public class Project implements ResourceFactory { | |||||
* @return an appropriate classloader. | * @return an appropriate classloader. | ||||
*/ | */ | ||||
public AntClassLoader createClassLoader(Path path) { | public AntClassLoader createClassLoader(Path path) { | ||||
return new AntClassLoader( | |||||
getClass().getClassLoader(), this, path); | |||||
return AntClassLoader | |||||
.newAntClassLoader(getClass().getClassLoader(), this, path, true); | |||||
} | } | ||||
/** | /** | ||||
@@ -350,7 +350,7 @@ public class Project implements ResourceFactory { | |||||
*/ | */ | ||||
public AntClassLoader createClassLoader( | public AntClassLoader createClassLoader( | ||||
ClassLoader parent, Path path) { | ClassLoader parent, Path path) { | ||||
return new AntClassLoader(parent, this, path); | |||||
return AntClassLoader.newAntClassLoader(parent, this, path, true); | |||||
} | } | ||||
/** | /** | ||||
@@ -210,7 +210,7 @@ public class Classloader extends Task { | |||||
+ parent + " " + parentFirst, Project.MSG_DEBUG); | + parent + " " + parentFirst, Project.MSG_DEBUG); | ||||
// The param is "parentFirst" | // The param is "parentFirst" | ||||
acl = new AntClassLoader((ClassLoader) parent, | |||||
acl = AntClassLoader.newAntClassLoader((ClassLoader) parent, | |||||
getProject(), classpath, parentFirst); | getProject(), classpath, parentFirst); | ||||
getProject().addReference(loaderName, acl); | getProject().addReference(loaderName, acl); | ||||
@@ -135,7 +135,7 @@ public class WhichResource extends Task { | |||||
getProject().log("using system classpath: " + classpath, Project.MSG_DEBUG); | getProject().log("using system classpath: " + classpath, Project.MSG_DEBUG); | ||||
} | } | ||||
AntClassLoader loader; | AntClassLoader loader; | ||||
loader = new AntClassLoader(getProject().getCoreLoader(), | |||||
loader = AntClassLoader.newAntClassLoader(getProject().getCoreLoader(), | |||||
getProject(), | getProject(), | ||||
classpath, false); | classpath, false); | ||||
String loc = null; | String loc = null; | ||||
@@ -411,8 +411,11 @@ public class JavaCC extends Task { | |||||
String packagePrefix = null; | String packagePrefix = null; | ||||
String mainClass = null; | String mainClass = null; | ||||
AntClassLoader l = new AntClassLoader(); | |||||
l.setClassPath(path.concatSystemClasspath("ignore")); | |||||
AntClassLoader l = | |||||
AntClassLoader.newAntClassLoader(null, null, | |||||
path | |||||
.concatSystemClasspath("ignore"), | |||||
true); | |||||
String javaccClass = COM_PACKAGE + COM_JAVACC_CLASS; | String javaccClass = COM_PACKAGE + COM_JAVACC_CLASS; | ||||
InputStream is = l.getResourceAsStream(javaccClass.replace('.', '/') | InputStream is = l.getResourceAsStream(javaccClass.replace('.', '/') | ||||
+ ".class"); | + ".class"); | ||||
@@ -1131,8 +1131,9 @@ public class JUnitTask extends Task { | |||||
if (!cmd.haveClasspath()) { | if (!cmd.haveClasspath()) { | ||||
return; | return; | ||||
} | } | ||||
AntClassLoader loader = new AntClassLoader( | |||||
getProject(), cmd.createClasspath(getProject())); | |||||
AntClassLoader loader = AntClassLoader.newAntClassLoader(null, | |||||
getProject(), cmd.createClasspath(getProject()), | |||||
true); | |||||
String projectResourceName = LoaderUtils.classNameToResource( | String projectResourceName = LoaderUtils.classNameToResource( | ||||
Project.class.getName()); | Project.class.getName()); | ||||
URL previous = null; | URL previous = null; | ||||