Browse Source

make all classes use the same AntClassLoader constructor

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@796614 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 16 years ago
parent
commit
e04ff4d52c
6 changed files with 23 additions and 9 deletions
  1. +10
    -0
      src/main/org/apache/tools/ant/AntClassLoader.java
  2. +3
    -3
      src/main/org/apache/tools/ant/Project.java
  3. +1
    -1
      src/main/org/apache/tools/ant/taskdefs/Classloader.java
  4. +1
    -1
      src/main/org/apache/tools/ant/taskdefs/WhichResource.java
  5. +5
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java
  6. +3
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java

+ 10
- 0
src/main/org/apache/tools/ant/AntClassLoader.java View File

@@ -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);
}

} }

+ 3
- 3
src/main/org/apache/tools/ant/Project.java View File

@@ -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);
} }


/** /**


+ 1
- 1
src/main/org/apache/tools/ant/taskdefs/Classloader.java View File

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


+ 1
- 1
src/main/org/apache/tools/ant/taskdefs/WhichResource.java View File

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


+ 5
- 2
src/main/org/apache/tools/ant/taskdefs/optional/javacc/JavaCC.java View File

@@ -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");


+ 3
- 2
src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java View File

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


Loading…
Cancel
Save