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; | ||||