git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269845 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -68,6 +68,7 @@ import java.io.File; | |||
| import java.io.PrintWriter; | |||
| import java.io.FileWriter; | |||
| import java.io.IOException; | |||
| import java.util.Locale; | |||
| import java.util.Random; | |||
| /** | |||
| @@ -165,48 +166,7 @@ public abstract class DefaultCompilerAdapter implements CompilerAdapter { | |||
| } | |||
| if (includeJavaRuntime) { | |||
| // XXX move this stuff to a separate class, code is identical to | |||
| // code in ../rmic/DefaultRmicAdapter | |||
| if (System.getProperty("java.vendor").toLowerCase().indexOf("microsoft") >= 0) { | |||
| // Pull in *.zip from packages directory | |||
| FileSet msZipFiles = new FileSet(); | |||
| msZipFiles.setDir(new File(System.getProperty("java.home") + File.separator + "Packages")); | |||
| msZipFiles.setIncludes("*.ZIP"); | |||
| classpath.addFileset(msZipFiles); | |||
| } | |||
| else if (Project.getJavaVersion() == Project.JAVA_1_1) { | |||
| 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. | |||
| 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. | |||
| classpath.addExisting(new Path(null, | |||
| System.getProperty("java.home") | |||
| + File.separator +"jre" | |||
| + File.separator + "lib" | |||
| + File.separator + "rt.jar")); | |||
| // Added for MacOS X | |||
| classpath.addExisting(new Path(null, | |||
| System.getProperty("java.home") | |||
| + File.separator + ".." | |||
| + File.separator + "Classes" | |||
| + File.separator + "classes.jar")); | |||
| classpath.addExisting(new Path(null, | |||
| System.getProperty("java.home") | |||
| + File.separator + ".." | |||
| + File.separator + "Classes" | |||
| + File.separator + "ui.jar")); | |||
| } | |||
| classpath.addJavaRuntime(); | |||
| } | |||
| return classpath; | |||
| @@ -145,55 +145,7 @@ public abstract class DefaultRmicAdapter implements RmicAdapter { | |||
| } | |||
| if (attributes.getIncludejavaruntime()) { | |||
| // XXX move this stuff to a separate class, code is identical to | |||
| // code in ../compiler/DefaultCompilerAdapter | |||
| if (System.getProperty("java.vendor").toLowerCase().indexOf("microsoft") >= 0) { | |||
| // Pull in *.zip from packages directory | |||
| FileSet msZipFiles = new FileSet(); | |||
| msZipFiles.setDir(new File(System.getProperty("java.home") + File.separator + "Packages")); | |||
| msZipFiles.setIncludes("*.ZIP"); | |||
| classpath.addFileset(msZipFiles); | |||
| } else if (Project.getJavaVersion() == Project.JAVA_1_1) { | |||
| classpath.addExisting(new Path(null, | |||
| System.getProperty("java.home") | |||
| + File.separator + "lib" | |||
| + File.separator | |||
| + "classes.zip")); | |||
| } else if(System.getProperty("java.vm.name").equals("Kaffe")) { | |||
| FileSet kaffeJarFiles = new FileSet(); | |||
| kaffeJarFiles.setDir(new File(System.getProperty("java.home") | |||
| + File.separator + "share" | |||
| + File.separator + "kaffe")); | |||
| kaffeJarFiles.setIncludes("*.jar"); | |||
| classpath.addFileset(kaffeJarFiles); | |||
| } else { | |||
| // JDK > 1.1 seems to set java.home to the JRE directory. | |||
| 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. | |||
| classpath.addExisting(new Path(null, | |||
| System.getProperty("java.home") | |||
| + File.separator +"jre" | |||
| + File.separator + "lib" | |||
| + File.separator + "rt.jar")); | |||
| // Added for MacOS X | |||
| classpath.addExisting(new Path(null, | |||
| System.getProperty("java.home") | |||
| + File.separator + ".." | |||
| + File.separator + "Classes" | |||
| + File.separator + "classes.jar")); | |||
| classpath.addExisting(new Path(null, | |||
| System.getProperty("java.home") | |||
| + File.separator + ".." | |||
| + File.separator + "Classes" | |||
| + File.separator + "ui.jar")); | |||
| } | |||
| classpath.addJavaRuntime(); | |||
| } | |||
| return classpath; | |||
| } | |||
| @@ -62,7 +62,7 @@ import org.apache.tools.ant.PathTokenizer; | |||
| import java.io.File; | |||
| import java.util.Enumeration; | |||
| import java.util.Locale; | |||
| import java.util.Stack; | |||
| import java.util.Vector; | |||
| @@ -518,4 +518,49 @@ public class Path extends DataType implements Cloneable { | |||
| } | |||
| /** | |||
| * Add the Java Runtime classes to this Path instance. | |||
| */ | |||
| public void addJavaRuntime() { | |||
| if (System.getProperty("java.vendor").toLowerCase(Locale.US).indexOf("microsoft") >= 0) { | |||
| // Pull in *.zip from packages directory | |||
| FileSet msZipFiles = new FileSet(); | |||
| msZipFiles.setDir(new File(System.getProperty("java.home") + File.separator + "Packages")); | |||
| msZipFiles.setIncludes("*.ZIP"); | |||
| addFileset(msZipFiles); | |||
| } | |||
| else if (Project.getJavaVersion() == Project.JAVA_1_1) { | |||
| 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. | |||
| 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. | |||
| addExisting(new Path(null, | |||
| System.getProperty("java.home") | |||
| + File.separator +"jre" | |||
| + File.separator + "lib" | |||
| + File.separator + "rt.jar")); | |||
| // Added for MacOS X | |||
| addExisting(new Path(null, | |||
| System.getProperty("java.home") | |||
| + File.separator + ".." | |||
| + File.separator + "Classes" | |||
| + File.separator + "classes.jar")); | |||
| addExisting(new Path(null, | |||
| System.getProperty("java.home") | |||
| + File.separator + ".." | |||
| + File.separator + "Classes" | |||
| + File.separator + "ui.jar")); | |||
| } | |||
| } | |||
| } | |||