org.apache.tools.ant.taskdefs

Class Ant

  • All Implemented Interfaces:
    java.lang.Cloneable


    public class Ant
    extends Task
    Build a sub-project.
      <target name="foo" depends="init">
        <ant antfile="build.xml" target="bar" >
          <property name="property1" value="aaaaa" />
          <property name="foo" value="baz" />
        </ant>
      </target>
    
      <target name="bar" depends="init">
        <echo message="prop is ${property1} ${foo}" />
      </target>
     
    Since:
    Ant 1.1
    • Constructor Detail

      • Ant

        public Ant()
        simple constructor
      • Ant

        public Ant(Task owner)
        create a task bound to its creator
        Parameters:
        owner - owning task
    • Method Detail

      • setUseNativeBasedir

        public void setUseNativeBasedir(boolean b)
        Whether the basedir of the new project should be the same one as it would be when running the build file directly - independent of dir and/or inheritAll settings.
        Parameters:
        b - boolean
        Since:
        Ant 1.8.0
      • setInheritAll

        public void setInheritAll(boolean value)
        If true, pass all properties to the new Ant project. Defaults to true.
        Parameters:
        value - if true pass all properties to the new Ant project.
      • setInheritRefs

        public void setInheritRefs(boolean value)
        If true, pass all references to the new Ant project. Defaults to false.
        Parameters:
        value - if true, pass all references to the new Ant project
      • init

        public void init()
        Creates a Project instance for the project to call.
        Overrides:
        init in class Task
      • handleOutput

        public void handleOutput(java.lang.String outputToHandle)
        Handles output. Send it the the new project if is present, otherwise call the super class.
        Overrides:
        handleOutput in class Task
        Parameters:
        outputToHandle - The string output to output.
        Since:
        Ant 1.5
        See Also:
        Task.handleOutput(String)
      • handleInput

        public int handleInput(byte[] buffer,
                               int offset,
                               int length)
                        throws java.io.IOException
        Handles input. Delegate to the created project, if present, otherwise call the super class.
        Overrides:
        handleInput in class Task
        Parameters:
        buffer - the buffer into which data is to be read.
        offset - the offset into the buffer at which data is stored.
        length - the amount of data to read.
        Returns:
        the number of bytes read.
        Throws:
        java.io.IOException - if the data cannot be read.
        Since:
        Ant 1.6
        See Also:
        Task.handleInput(byte[], int, int)
      • handleFlush

        public void handleFlush(java.lang.String toFlush)
        Handles output. Send it the the new project if is present, otherwise call the super class.
        Overrides:
        handleFlush in class Task
        Parameters:
        toFlush - The string to output.
        Since:
        Ant 1.5.2
        See Also:
        Task.handleFlush(String)
      • handleErrorOutput

        public void handleErrorOutput(java.lang.String errorOutputToHandle)
        Handle error output. Send it the the new project if is present, otherwise call the super class.
        Overrides:
        handleErrorOutput in class Task
        Parameters:
        errorOutputToHandle - The string to output.
        Since:
        Ant 1.5
        See Also:
        Task.handleErrorOutput(String)
      • handleErrorFlush

        public void handleErrorFlush(java.lang.String errorOutputToFlush)
        Handle error output. Send it the the new project if is present, otherwise call the super class.
        Overrides:
        handleErrorFlush in class Task
        Parameters:
        errorOutputToFlush - The string to output.
        Since:
        Ant 1.5.2
        See Also:
        Task.handleErrorFlush(String)
      • execute

        public void execute()
                     throws BuildException
        Do the execution.
        Overrides:
        execute in class Task
        Throws:
        BuildException - if a target tries to call itself; probably also if a BuildException is thrown by the new project.
      • getDefaultBuildFile

        protected java.lang.String getDefaultBuildFile()
        Get the default build file name to use when launching the task.

        This function may be overriden by providers of custom ProjectHelper so they can implement easily their sub launcher.

        Returns:
        the name of the default file
        Since:
        Ant 1.8.0
      • setDir

        public void setDir(java.io.File dir)
        The directory to use as a base directory for the new Ant project. Defaults to the current project's basedir, unless inheritall has been set to false, in which case it doesn't have a default value. This will override the basedir setting of the called project.
        Parameters:
        dir - new directory as File.
      • setAntfile

        public void setAntfile(java.lang.String antFile)
        The build file to use. Defaults to "build.xml". This file is expected to be a filename relative to the dir attribute given.
        Parameters:
        antFile - the String build file name.
      • setTarget

        public void setTarget(java.lang.String targetToAdd)
        The target of the new Ant project to execute. Defaults to the new project's default target.
        Parameters:
        targetToAdd - the name of the target to invoke.
      • setOutput

        public void setOutput(java.lang.String outputFile)
        Set the filename to write the output to. This is relative to the value of the dir attribute if it has been set or to the base directory of the current project otherwise.
        Parameters:
        outputFile - the name of the file to which the output should go.
      • createProperty

        public Property createProperty()
        Property to pass to the new project. The property is passed as a 'user property'.
        Returns:
        the created Property object.
      • addReference

        public void addReference(Ant.Reference ref)
        Add a Reference element identifying a data type to carry over to the new project.
        Parameters:
        ref - Reference to add.
      • addConfiguredTarget

        public void addConfiguredTarget(Ant.TargetElement t)
        Add a target to this Ant invocation.
        Parameters:
        t - the TargetElement to add.
        Since:
        Ant 1.6.3
      • addPropertyset

        public void addPropertyset(PropertySet ps)
        Add a set of properties to pass to the new project.
        Parameters:
        ps - PropertySet to add.
        Since:
        Ant 1.6
      • getNewProject

        protected Project getNewProject()
        Get the (sub)-Project instance currently in use.
        Returns:
        Project
        Since:
        Ant 1.7