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() + "]";
}

/**
* 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.
*/
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(
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);

// The param is "parentFirst"
acl = new AntClassLoader((ClassLoader) parent,
acl = AntClassLoader.newAntClassLoader((ClassLoader) parent,
getProject(), classpath, parentFirst);

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);
}
AntClassLoader loader;
loader = new AntClassLoader(getProject().getCoreLoader(),
loader = AntClassLoader.newAntClassLoader(getProject().getCoreLoader(),
getProject(),
classpath, false);
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 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;
InputStream is = l.getResourceAsStream(javaccClass.replace('.', '/')
+ ".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()) {
return;
}
AntClassLoader loader = new AntClassLoader(
getProject(), cmd.createClasspath(getProject()));
AntClassLoader loader = AntClassLoader.newAntClassLoader(null,
getProject(), cmd.createClasspath(getProject()),
true);
String projectResourceName = LoaderUtils.classNameToResource(
Project.class.getName());
URL previous = null;


Loading…
Cancel
Save