groovy.util

## Class AntBuilder

- java.lang.Object
- - groovy.lang.GroovyObjectSupport
  - - groovy.util.BuilderSupport
    - - groovy.util.AntBuilder

All Implemented Interfaces:
  GroovyObject

    public class AntBuilder
    extends BuilderSupport

Allows Ant tasks to be used with a Groovy builder-style markup. Requires that {{ant.jar}} is on your classpath which will happen automatically if you are using the Groovy distribution but will be up to you to organize if you are embedding Groovy. If you wish to use the optional tasks you will need to add one or more additional jars from the ant distribution to your classpath - see the library dependencies for more details.

Author:
  James Strachan, Dierk Koenig (dk), Marc Guillemot, Paul King

### Constructor Summary

Constructors
Constructor and Description
`AntBuilder()`
`AntBuilder(org.apache.tools.ant.Project project)`
`AntBuilder(org.apache.tools.ant.Project project, org.apache.tools.ant.Target owningTarget)`
`AntBuilder(org.apache.tools.ant.Task parentTask)`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`protected static org.xml.sax.Attributes` `buildAttributes(java.util.Map attributes)` Builds an `Attributes` from a `Map`
`protected java.lang.Object` `createNode(java.lang.Object tagName)`
`protected java.lang.Object` `createNode(java.lang.Object name, java.util.Map attributes)`
`protected java.lang.Object` `createNode(java.lang.Object name, java.util.Map attributes, java.lang.Object value)`
`protected java.lang.Object` `createNode(java.lang.Object name, java.lang.Object value)`
`protected static org.apache.tools.ant.Project` `createProject()`
`protected java.lang.Object` `doInvokeMethod(java.lang.String methodName, java.lang.Object name, java.lang.Object args)` We don't want to return the node as created in `createNode(Object, Map, Object)` but the one made ready by `nodeCompleted(Object, Object)`
`org.apache.tools.ant.Project` `getAntProject()`
`org.apache.tools.ant.helper.AntXMLContext` `getAntXmlContext()` Gets the xml context of Ant used while creating tasks
`org.apache.tools.ant.Project` `getProject()` # Gets the Ant project in which the tasks are executed
`boolean` `isSaveStreams()` Whether stdin, stdout, stderr streams are saved.
`protected void` `nodeCompleted(java.lang.Object parent, java.lang.Object node)` Determines, when the ANT Task that is represented by the "node" should perform.
`protected void` `setParent(java.lang.Object parent, java.lang.Object child)`
`void` `setSaveStreams(boolean saveStreams)` Indicates that we save stdin, stdout, stderr and replace them while AntBuilder is executing tasks with streams that funnel the normal streams into Ant's logs.
`protected void` `setText(java.lang.Object task, java.lang.String text)`

### Methods inherited from class groovy.util.BuilderSupport

`getCurrent, getName, invokeMethod, invokeMethod, postNodeCompletion, setClosureDelegate, setCurrent`

### Methods inherited from class groovy.lang.GroovyObjectSupport

`getMetaClass, getProperty, setMetaClass, setProperty`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### AntBuilder

    public AntBuilder()

#### AntBuilder

    public AntBuilder(org.apache.tools.ant.Project project)

#### AntBuilder

    public AntBuilder(org.apache.tools.ant.Project project,
                      org.apache.tools.ant.Target owningTarget)

#### AntBuilder

    public AntBuilder(org.apache.tools.ant.Task parentTask)

### Method Detail

#### getProject

    public org.apache.tools.ant.Project getProject()

# Gets the Ant project in which the tasks are executed

Returns:
  the project

#### getAntXmlContext

    public org.apache.tools.ant.helper.AntXMLContext getAntXmlContext()

Gets the xml context of Ant used while creating tasks

Returns:
  the Ant xml context

#### isSaveStreams

    public boolean isSaveStreams()

Whether stdin, stdout, stderr streams are saved.

Returns:
  true if we are saving streams
See Also:
  `setSaveStreams(boolean)`

#### setSaveStreams

    public void setSaveStreams(boolean saveStreams)

Indicates that we save stdin, stdout, stderr and replace them while AntBuilder is executing tasks with streams that funnel the normal streams into Ant's logs.

Parameters:
  `saveStreams` - set to false to disable this behavior

#### createProject

    protected static org.apache.tools.ant.Project createProject()

Returns:
  Factory method to create new Project instances

#### setParent

    protected void setParent(java.lang.Object parent,
                             java.lang.Object child)

Specified by:
  `setParent` in class `BuilderSupport`

#### doInvokeMethod

    protected java.lang.Object doInvokeMethod(java.lang.String methodName,
                                              java.lang.Object name,
                                              java.lang.Object args)

We don't want to return the node as created in `createNode(Object, Map, Object)` but the one made ready by `nodeCompleted(Object, Object)`

Overrides:
  `doInvokeMethod` in class `BuilderSupport`
See Also:
  `BuilderSupport.doInvokeMethod(java.lang.String, java.lang.Object, java.lang.Object)`

#### nodeCompleted

    protected void nodeCompleted(java.lang.Object parent,
                                 java.lang.Object node)

Determines, when the ANT Task that is represented by the "node" should perform. Node must be an ANT Task or no "perform" is called. If node is an ANT Task, it performs right after complete construction. If node is nested in a TaskContainer, calling "perform" is delegated to that TaskContainer.

Overrides:
  `nodeCompleted` in class `BuilderSupport`
Parameters:
  `parent` - note: null when node is root
  `node` - the node that now has all its children applied

#### createNode

    protected java.lang.Object createNode(java.lang.Object tagName)

Specified by:
  `createNode` in class `BuilderSupport`

#### createNode

    protected java.lang.Object createNode(java.lang.Object name,
                                          java.lang.Object value)

Specified by:
  `createNode` in class `BuilderSupport`

#### createNode

    protected java.lang.Object createNode(java.lang.Object name,
                                          java.util.Map attributes,
                                          java.lang.Object value)

Specified by:
  `createNode` in class `BuilderSupport`

#### buildAttributes

    protected static org.xml.sax.Attributes buildAttributes(java.util.Map attributes)

Builds an `Attributes` from a `Map`

Parameters:
  `attributes` - the attributes to wrap
Returns:
  the wrapped attributes

#### createNode

    protected java.lang.Object createNode(java.lang.Object name,
                                          java.util.Map attributes)

Specified by:
  `createNode` in class `BuilderSupport`

#### setText

    protected void setText(java.lang.Object task,
                           java.lang.String text)

#### getAntProject

    public org.apache.tools.ant.Project getAntProject()