Browse Source

When searching /usr/local/java/jdk1.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/bodewig/bin:/home/bodewig/dev/xml-forrest/build/dist/shbat//bin, look into user supplied environment first

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@276794 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 21 years ago
parent
commit
6fd0ddc8b8
1 changed files with 19 additions and 2 deletions
  1. +19
    -2
      src/main/org/apache/tools/ant/taskdefs/ExecTask.java

+ 19
- 2
src/main/org/apache/tools/ant/taskdefs/ExecTask.java View File

@@ -391,16 +391,29 @@ public class ExecTask extends Task {

// couldn't find it - must be on path
if (searchPath) {
Path p = null;
String[] environment = env.getVariables();
if (environment != null) {
for (int i = 0; i < environment.length; i++) {
if (isPath(environment[i])) {
p = new Path(getProject(),
environment[i].substring(5));
break;
}
}
}

if (p == null) {
Vector env = Execute.getProcEnvironment();
Enumeration e = env.elements();
Path p = null;
while (e.hasMoreElements()) {
String line = (String) e.nextElement();
if (line.startsWith("PATH=") || line.startsWith("Path=")) {
if (isPath(line)) {
p = new Path(getProject(), line.substring(5));
break;
}
}
}

if (p != null) {
String[] dirs = p.list();
@@ -647,4 +660,8 @@ public class ExecTask extends Task {
protected void logFlush() {
}

private boolean isPath(String line) {
return line.startsWith("PATH=") || line.startsWith("Path=");
}

}

Loading…
Cancel
Save