Package groovy.ant

Class 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.
  • Constructor Details

    • 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 Details

    • 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​(Object parent, Object child)
      Specified by:
      setParent in class BuilderSupport
    • doInvokeMethod

      protected Object doInvokeMethod​(String methodName, Object name, 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​(Object parent, 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 Object createNode​(Object tagName)
      Specified by:
      createNode in class BuilderSupport
    • createNode

      protected Object createNode​(Object name, Object value)
      Specified by:
      createNode in class BuilderSupport
    • createNode

      protected Object createNode​(Object name, Map attributes, Object value)
      Specified by:
      createNode in class BuilderSupport
    • buildAttributes

      protected static Attributes buildAttributes​(Map attributes)
      Builds an Attributes from a Map
      Parameters:
      attributes - the attributes to wrap
      Returns:
      the wrapped attributes
    • createNode

      protected Object createNode​(Object name, Map attributes)
      Specified by:
      createNode in class BuilderSupport
    • setText

      protected void setText​(Object task, String text)
    • getAntProject

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