Index: groovy/util/AntBuilder.java =================================================================== --- groovy/util/AntBuilder.java (revision 4072) +++ groovy/util/AntBuilder.java (working copy) @@ -82,7 +82,7 @@ private Project project; private final AntXMLContext antXmlContext; private final ProjectHelper2.ElementHandler antElementHandler = new ProjectHelper2.ElementHandler(); - private final Target collectorTarget = new Target(); + private final Target collectorTarget; private Object lastCompletedNode; @@ -92,8 +92,13 @@ } public AntBuilder(final Project project) { + this(project,new Target()); + } + + public AntBuilder(final Project project, final Target owningTarget) { this.project = project; - + collectorTarget = owningTarget; + antXmlContext = new AntXMLContext(project); collectorTarget.setProject(project); antXmlContext.setCurrentTarget(collectorTarget); Index: org/codehaus/groovy/ant/Groovy.java =================================================================== --- org/codehaus/groovy/ant/Groovy.java (revision 4066) +++ org/codehaus/groovy/ant/Groovy.java (working copy) @@ -358,7 +358,7 @@ final GroovyShell groovy = new GroovyShell(classLoader, new Binding(), configuration); try { final Script script = groovy.parse(txt); - script.setProperty("ant", new AntBuilder(project)); + script.setProperty("ant", new AntBuilder(project,getOwningTarget())); script.setProperty("project", project); script.setProperty("properties", new AntProjectPropertiesDelegate(project)); script.setProperty("target", getOwningTarget());