Browse Source

Didn't handle relative paths in project's basedir attribute correctly.

Reported by:	<Glen_Stampoultzis@ansett.com.au>,
                Jesse Glick <Jesse.Glick@netbeans.com>


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@267826 13f79535-47bb-0310-9956-ffa450edef68
master
Stefan Bodewig 25 years ago
parent
commit
9b79c03c8a
3 changed files with 12 additions and 8 deletions
  1. +1
    -1
      src/main/org/apache/tools/ant/ProjectHelper.java
  2. +10
    -6
      src/main/org/apache/tools/ant/taskdefs/Ant.java
  3. +1
    -1
      src/main/org/apache/tools/ant/taskdefs/CallTarget.java

+ 1
- 1
src/main/org/apache/tools/ant/ProjectHelper.java View File

@@ -233,7 +233,7 @@ public class ProjectHelper {
if (project.getProperty("basedir") != null) {
project.setBasedir(project.getProperty("basedir"));
} else {
project.setBasedir(baseDir);
project.setBasedir((new File(buildFile.getParent(), baseDir)).getAbsolutePath());
}

}


+ 10
- 6
src/main/org/apache/tools/ant/taskdefs/Ant.java View File

@@ -79,7 +79,7 @@ import java.util.*;
*/
public class Ant extends Task {

private String dir = null;
private File dir = null;
private String antFile = null;
private String target = null;
private String output = null;
@@ -154,12 +154,13 @@ public class Ant extends Task {
reinit();
}
if( dir==null) dir=".";
if(dir == null)
dir = project.getBaseDir();

initializeProject();

p1.setBasedir(dir);
p1.setUserProperty("basedir" , dir);
p1.setBaseDir(dir);
p1.setUserProperty("basedir" , dir.getAbsolutePath());
// Override with local-defined properties
Enumeration e = properties.elements();
@@ -168,7 +169,10 @@ public class Ant extends Task {
p.init();
}
if (antFile == null) antFile = dir + "/build.xml";
if (antFile == null)
antFile = "build.xml";

antFile = (new File(dir, antFile)).getAbsolutePath();

p1.setUserProperty( "ant.file" , antFile );
ProjectHelper.configureProject(p1, new File(antFile));
@@ -184,7 +188,7 @@ public class Ant extends Task {
}
}

public void setDir(String d) {
public void setDir(File d) {
this.dir = d;
}



+ 1
- 1
src/main/org/apache/tools/ant/taskdefs/CallTarget.java View File

@@ -97,7 +97,7 @@ public class CallTarget extends Task {
location);
}
delegate.setDir(".");
delegate.setDir(project.getBaseDir());
delegate.setAntfile(project.getProperty("ant.file"));
delegate.setTarget(subTarget);
delegate.execute();


Loading…
Cancel
Save