2. Description
Runs Calabash. You can use this task to process:
-
A single input file to produce a single output file
-
A set of input files, processed one at a time, to produce a set of output files
-
Multiple input files as the input to one XProc input port processed to produce a single output file
-
Any of the above with additional input ports to each of which are applied one or more input files whose file names may be either fixed or mapped from the name(s) of the current main input file(s)
-
Any of the above with additional output ports whose file names may be either fixed or mapped from the name(s) of the current main input file(s)
You can also specify options and parameters to be used by the pipeline.
2.1. Custom Task and Types
The previously defined Antlib provides one custom task and four custom types in the configured namespace.
2.1.1. calabash
The custom Ant Task that is provided by the Antlib. This is the main piece of the Calabash Ant integration. The remaining sections of this chapter describe the usage of this task.
2.1.2. stdin
A read-only Ant Resource that connects to stdin.
2.1.3. stdout
A write-only Ant Resource that connects to stdout.
2.1.4. stdinout
A read-write Ant Resource that connects to stdin for reading and to stdout for writing.
2.1.5. stderr
A write-only Ant Resource that connects to stderr.
2.2. Input and output files and filesets
In the simplest scenario, the in
attribute, if present, specifies the single input file and / or
the out attribute, if present,
specifies the single output file. The inPort and outPort
attributes specify the pipeline port to which to apply the input
or from which to receive the output, respectively, though these
may be omitted as stated below.
You can as well or instead specify one or more files to apply to an
input port using one or more nested input elements.
input elements whose port attribute value matches
inPort (or whose port attribute is omitted when
inPort is omitted) are
applied to the inPort port. Those
input elements may contain
zero or more Ant resources
(i.e., fileset, dirset, etc.).
input elements for ports other than the
inPort port may contain
either zero or more Ant resources or an Ant
mapper element (i.e., mapper, globmapper, etc.) that maps the
current inPort file(s) name(s) to
other file name(s) that are used as the input file(s) for that
port. You cannot specify both Ant resources and a mapper
for an input port (nor can you specify a mapper for the inPort port).
You can as well or instead specify a file to contain the output of
an output port using one or more nested output elements. You cannot specify more than
one output element for any pipeline
output.
An output element whose port attribute value matches
outPort (or whose port attribute is omitted when
outPort is omitted) is
used for the outPort port. This
output element and the out attribute cannot both be
used at once.
Other output elements may each be used
for any of the other output ports of the pipeline.
output elements may contain either
zero or more Ant resources or an Ant mapper
element (i.e., mapper, globmapper, etc.) that maps the
current inPort file(s) name(s) to a
file name that is used as the output file for that port. You
cannot specify both Ant resources and a mapper for an
output port, and the output cannot
result in more than one file name.
When no files are specified for either the inPort or outPort
ports, the implicit fileset (formed based on includes and other attributes
of calabash) and / or an explicit file
set (formed from nested Ant resources (outside of
any input or output elements) makes a set of files that are
processed one at a time as the input to the inPort port in separate runs of
the pipeline.
The basedir, includes, includesfile, excludes, excludesfile, defaultexcludes, and scanincludeddirectories attributes determine the
implicit fileset. useimplicitfileset can disable the implicit
fileset.
When the implicit fileset and / or the explicit fileset selects one
or more files, the destdir, and
extension attributes (or
using a nested mapper instead of extension) determine the filename to use for the
output of the outPort port, and the
Ant resources
or mapper for other input and output ports
determine the file(s) from which to read or the file to which to
write for those ports.
2.3. Ports
The inPort and outPort attributes determine the pipeline ports
to use for single, or sequential, processing of files.
Additionally, the filename of the file on the inPort port is used (or can be
used) by mappers to determine the input or output files to use
for other ports.
You may omit at most one input port name and at most one output
port name from the ports specified on the calabash task. The calabash task maps the primary non-parameter
input the primary output port of the pipeline to the
unnamed ports (and any additional port without a defined mapping
will cause an error). The omitted ports do not have to be the
inPort and outPort ports; e.g., you can
instead specify inPort and omit the
port attribute on the
nested input element for a different
port.
Nested parameter elements specify Inputs
to parameter ports.



