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 */