Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Hudson continuous integration system can use Gant files directly to initiate builds.  The Buildbot continuous integration system uses a shell to initiate builds and so Gant can be used directly. However, often the only way of initiating a build on a continuous integration server is via Ant (or Maven). People can still use Gant by making use of the Groovy Ant task, creating a Gant instance and calling processTargets on that instance. However many would see that as rather awkward, so the Gant Ant task is providedSome builds have to have Ant as the driver, but people still want to use Gant (rather than just Groovy). To support this there is the Gant Ant task. The Gant jar contains the Gant Ant task:  org.codehaus.gant.ant.Gant.  With the Gant jar in the class path, we can create an instance of the Gant Ant task by:

...

Use the classpath or classpathref attribute or nested tags as needed in the usual way.

Attributes

The Gant Ant task supports the following attributes:

Attribute

Optional

Default value

file

yes

build.gant

The path to the Gant file to use.

target

yes

default

The target to achieve.

Currently the Gant Ant task does not recognize any nested tags.

As an example, explicitly stating both the file and the target a Gant build can be initiated from an Ant script by:

...

If the Gant file specifies the test target as the default target then this is equivalent to:

Code Block
<gant>

Nested Tags

Targets

The target attribute specifies a single target, if multiple targets are to be used then they must be provided using nested target tags.  A target tag must have a value attribute.  So for example

Code Block

<target value="test"/>

Definitions

Definitions, equivalent ot -D... options on the gant command line, are provided to the Gant executed via the gant tag, by nested definition tags.  Each definition tag has a name and a value attribute.  So, for example:

Code Block

<definition name="skipTests" value="true"/>