diff --git a/src/main/org/apache/tools/ant/taskdefs/Ant.java b/src/main/org/apache/tools/ant/taskdefs/Ant.java index c4d3b7863..d581fb07c 100644 --- a/src/main/org/apache/tools/ant/taskdefs/Ant.java +++ b/src/main/org/apache/tools/ant/taskdefs/Ant.java @@ -149,7 +149,8 @@ public class Ant extends Task { } /** - * Called in execute or createProperty if newProject is null. + * Called in execute or createProperty (via getNewProject()) + * if newProject is null. * *
This can happen if the same instance of this task is run
* twice as newProject is set to null at the end of execute (to
@@ -311,9 +312,7 @@ public class Ant extends Task {
String savedAntFile = antFile;
Vector locals = new Vector(targets);
try {
- if (newProject == null) {
- reinit();
- }
+ getNewProject();
if (dir == null && inheritAll) {
dir = getProject().getBaseDir();
@@ -653,11 +652,8 @@ public class Ant extends Task {
* @return the created Property
object.
*/
public Property createProperty() {
- if (newProject == null) {
- reinit();
- }
Property p = new Property(true, getProject());
- p.setProject(newProject);
+ p.setProject(getNewProject());
p.setTaskName("property");
properties.addElement(p);
return p;
@@ -699,6 +695,18 @@ public class Ant extends Task {
propertySets.addElement(ps);
}
+ /*
+ * Get the (sub)-Project instance currently in use.
+ * @return Project
+ * @since Ant 1.7
+ */
+ protected Project getNewProject() {
+ if (newProject == null) {
+ reinit();
+ }
+ return newProject;
+ }
+
/**
* @since Ant 1.6.2
*/