IBM's JDK 1.2 as well. @todo refactor into a single method somewhere PR: 5541 git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@270667 13f79535-47bb-0310-9956-ffa450edef68master
| @@ -1,7 +1,7 @@ | |||||
| /* | /* | ||||
| * The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
| * | * | ||||
| * Copyright (c) 2000-2001 The Apache Software Foundation. All rights | |||||
| * Copyright (c) 2000-2002 The Apache Software Foundation. All rights | |||||
| * reserved. | * reserved. | ||||
| * | * | ||||
| * Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | ||||
| @@ -680,14 +680,25 @@ public class Javac extends MatchingTask { | |||||
| // nothing for *nix. | // nothing for *nix. | ||||
| String extension = Os.isFamily("dos") ? ".exe" : ""; | String extension = Os.isFamily("dos") ? ".exe" : ""; | ||||
| // Look for java in the java.home/../bin directory. Unfortunately | |||||
| File jExecutable = null; | |||||
| // On AIX using IBM's JDK 1.2 the javac executable is in | |||||
| // the java.home/../../sh directory | |||||
| if (Os.isName("aix")) { | |||||
| jExecutable = new File(System.getProperty("java.home") + | |||||
| "/../../sh/javac" + extension); | |||||
| } | |||||
| if (jExecutable == null || !jExecutable.exists()) { | |||||
| // Look for javac in the java.home/../bin directory. | |||||
| jExecutable = new File(System.getProperty("java.home") + | |||||
| "/../bin/javac" + extension); | |||||
| } | |||||
| // Unfortunately | |||||
| // on Windows java.home doesn't always refer to the correct location, | // on Windows java.home doesn't always refer to the correct location, | ||||
| // so we need to fall back to assuming java is somewhere on the | // so we need to fall back to assuming java is somewhere on the | ||||
| // PATH. | // PATH. | ||||
| java.io.File jExecutable = | |||||
| new java.io.File(System.getProperty("java.home") + | |||||
| "/../bin/javac" + extension ); | |||||
| if (jExecutable.exists() && !Os.isFamily("netware")) { | if (jExecutable.exists() && !Os.isFamily("netware")) { | ||||
| return jExecutable.getAbsolutePath(); | return jExecutable.getAbsolutePath(); | ||||
| } else { | } else { | ||||
| @@ -1,7 +1,7 @@ | |||||
| /* | /* | ||||
| * The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
| * | * | ||||
| * Copyright (c) 2000-2001 The Apache Software Foundation. All rights | |||||
| * Copyright (c) 2000-2002 The Apache Software Foundation. All rights | |||||
| * reserved. | * reserved. | ||||
| * | * | ||||
| * Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | ||||
| @@ -1161,19 +1161,29 @@ public class Javadoc extends Task { | |||||
| // nothing for *nix. | // nothing for *nix. | ||||
| String extension = Os.isFamily("dos") ? ".exe" : ""; | String extension = Os.isFamily("dos") ? ".exe" : ""; | ||||
| // Look for javadoc in the java.home/../bin directory. Unfortunately | |||||
| // on Windows java.home doesn't always refer to the correct location, | |||||
| // so we need to fall back to assuming javadoc is somewhere on the | |||||
| File jdocExecutable = null; | |||||
| // On AIX using IBM's JDK 1.2 the javadoc executable is in | |||||
| // the java.home/../sh directory | |||||
| if (Os.isName("aix")) { | |||||
| jdocExecutable = new File(System.getProperty("java.home") + | |||||
| "/../sh/javadoc" + extension); | |||||
| } | |||||
| if (jdocExecutable == null || !jdocExecutable.exists()) { | |||||
| // Look for javadoc in the java.home/../bin directory. | |||||
| jdocExecutable = new File(System.getProperty("java.home") + | |||||
| "/../bin/javadoc" + extension); | |||||
| } | |||||
| // Unfortunately | |||||
| // on Windows java.home doesn't always refer to the correct location, | |||||
| // so we need to fall back to assuming java is somewhere on the | |||||
| // PATH. | // PATH. | ||||
| File jdocExecutable = new File( System.getProperty("java.home") + | |||||
| "/../bin/javadoc" + extension ); | |||||
| if (jdocExecutable.exists() && !Os.isFamily("netware")) | |||||
| { | |||||
| if (jdocExecutable.exists() && !Os.isFamily("netware")) { | |||||
| return jdocExecutable.getAbsolutePath(); | return jdocExecutable.getAbsolutePath(); | ||||
| } | |||||
| else | |||||
| { | |||||
| } else { | |||||
| if (!Os.isFamily("netware")) { | if (!Os.isFamily("netware")) { | ||||
| log( "Unable to locate " + jdocExecutable.getAbsolutePath() + | log( "Unable to locate " + jdocExecutable.getAbsolutePath() + | ||||
| ". Using \"javadoc\" instead.", Project.MSG_VERBOSE ); | ". Using \"javadoc\" instead.", Project.MSG_VERBOSE ); | ||||
| @@ -1,7 +1,7 @@ | |||||
| /* | /* | ||||
| * The Apache Software License, Version 1.1 | * The Apache Software License, Version 1.1 | ||||
| * | * | ||||
| * Copyright (c) 2000-2001 The Apache Software Foundation. All rights | |||||
| * Copyright (c) 2000-2002 The Apache Software Foundation. All rights | |||||
| * reserved. | * reserved. | ||||
| * | * | ||||
| * Redistribution and use in source and binary forms, with or without | * Redistribution and use in source and binary forms, with or without | ||||
| @@ -54,6 +54,7 @@ | |||||
| package org.apache.tools.ant.types; | package org.apache.tools.ant.types; | ||||
| import java.io.File; | |||||
| import java.util.Properties; | import java.util.Properties; | ||||
| import java.util.Enumeration; | import java.util.Enumeration; | ||||
| import java.util.Vector; | import java.util.Vector; | ||||
| @@ -352,13 +353,25 @@ public class CommandlineJava implements Cloneable { | |||||
| // nothing for *nix. | // nothing for *nix. | ||||
| String extension = Os.isFamily("dos") ? ".exe" : ""; | String extension = Os.isFamily("dos") ? ".exe" : ""; | ||||
| // Look for java in the java.home/../bin directory. Unfortunately | |||||
| File jExecutable = null; | |||||
| // On AIX using IBM's JDK 1.2 the java executable is in | |||||
| // the java.home/../sh directory | |||||
| if (Os.isName("aix")) { | |||||
| jExecutable = new File(System.getProperty("java.home") + | |||||
| "/../sh/java" + extension); | |||||
| } | |||||
| if (jExecutable == null || !jExecutable.exists()) { | |||||
| // Look for java in the java.home/../bin directory. | |||||
| jExecutable = new File(System.getProperty("java.home") + | |||||
| "/../bin/java" + extension); | |||||
| } | |||||
| // Unfortunately | |||||
| // on Windows java.home doesn't always refer to the correct location, | // on Windows java.home doesn't always refer to the correct location, | ||||
| // so we need to fall back to assuming java is somewhere on the | // so we need to fall back to assuming java is somewhere on the | ||||
| // PATH. | // PATH. | ||||
| java.io.File jExecutable = | |||||
| new java.io.File(System.getProperty("java.home") + | |||||
| "/../bin/java" + extension ); | |||||
| if (jExecutable.exists() && !Os.isFamily("netware")) { | if (jExecutable.exists() && !Os.isFamily("netware")) { | ||||
| // NetWare may have a "java" in that directory, but 99% of | // NetWare may have a "java" in that directory, but 99% of | ||||