|
|
|
@@ -387,32 +387,29 @@ public class Javac extends MatchingTask { |
|
|
|
// add our classpath to the mix |
|
|
|
|
|
|
|
if (compileClasspath != null) { |
|
|
|
addExistingToClasspath(classpath,compileClasspath); |
|
|
|
classpath.addExisting(compileClasspath); |
|
|
|
} |
|
|
|
addReferencesToPath(classpathReferences, classpath); |
|
|
|
|
|
|
|
// add the system classpath |
|
|
|
|
|
|
|
addExistingToClasspath(classpath, Path.systemClasspath); |
|
|
|
classpath.addExisting(Path.systemClasspath); |
|
|
|
if (addRuntime) { |
|
|
|
if (Project.getJavaVersion() == Project.JAVA_1_1) { |
|
|
|
addExistingToClasspath(classpath, |
|
|
|
new Path(null, |
|
|
|
classpath.addExisting(new Path(null, |
|
|
|
System.getProperty("java.home") |
|
|
|
+ File.separator + "lib" |
|
|
|
+ File.separator |
|
|
|
+ "classes.zip")); |
|
|
|
} else { |
|
|
|
// JDK > 1.1 seems to set java.home to the JRE directory. |
|
|
|
addExistingToClasspath(classpath, |
|
|
|
new Path(null, |
|
|
|
classpath.addExisting(new Path(null, |
|
|
|
System.getProperty("java.home") |
|
|
|
+ File.separator + "lib" |
|
|
|
+ File.separator + "rt.jar")); |
|
|
|
// Just keep the old version as well and let addExistingToPath |
|
|
|
// sort it out. |
|
|
|
addExistingToClasspath(classpath, |
|
|
|
new Path(null, |
|
|
|
classpath.addExisting(new Path(null, |
|
|
|
System.getProperty("java.home") |
|
|
|
+ File.separator +"jre" |
|
|
|
+ File.separator + "lib" |
|
|
|
@@ -423,32 +420,6 @@ public class Javac extends MatchingTask { |
|
|
|
return classpath; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* Takes a Path, and adds each element of |
|
|
|
* another Path to a new classpath, if the components exist. |
|
|
|
* Components that don't exist, aren't added. |
|
|
|
* We do this, because jikes issues warnings for non-existant |
|
|
|
* files/dirs in his classpath, and these warnings are pretty |
|
|
|
* annoying. |
|
|
|
* @param target - target classpath |
|
|
|
* @param source - source classpath |
|
|
|
* to get file objects. |
|
|
|
*/ |
|
|
|
private void addExistingToClasspath(Path target, Path source) { |
|
|
|
String[] list = source.list(); |
|
|
|
for (int i=0; i<list.length; i++) { |
|
|
|
File f = project.resolveFile(list[i]); |
|
|
|
|
|
|
|
if (f.exists()) { |
|
|
|
target.setLocation(f); |
|
|
|
} else { |
|
|
|
log("Dropping from classpath: "+ |
|
|
|
f.getAbsolutePath(), Project.MSG_VERBOSE); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Peforms a compile using the classic compiler that shipped with |
|
|
|
* JDK 1.1 and 1.2. |
|
|
|
|