Ant Tasks

This task mirrors artifacts and metadata from the given source
repositories to the destination. This task will traverse the source
repository and recursively include all IUs that match the
requirements of IUs being mirrored (this is called slicing
the repository).

Nested IU elements, as outlined above. The installable units to
mirror. If none are specified, all IUs contained in the source
repositories are mirrored.

log

A file to use for logging the results.

ignoreErrors

Whether or not to ignore errors. (Default is false)

raw

Copy the exact artifact descriptors from source into the
destination instead of initializing new artifact descriptors
with properties from the source descriptors. (Default is true)

verbose

Turn on verbose logging.

validate

Validate that all all source descriptors are present in the
destination after mirroring is complete. (Default is false)

<comparator>

A nested comparator element for comparing against a baseline
repository. If IUs from the source repository already exist in
the baseline, then the artifacts will be mirrored from the
baseline instead of the source. This element supports the
following attributes:

Id of a comparator to use if the baseline artifacts
should be compared against the source artifacts. These
are extensions to the
org.eclipse.equinox.p2.artifact.repository.artifactComparators
extension point. Comparators provided by p2 are:

org.eclipse.equinox.p2.repository.tools.jar.comparator:
Compare jars. Class files are disassembled and
compared for equivalence, properties and manifest
files are compared as such, all other files are
compared byte-for-byte.

org.eclipse.equinox.artifact.md5.comparator:
Compare the MD5 sums as recorded in the artifact
repositories.

comparatorLog

A log file for the results of the comparison.

<slicingOptions>

A nested element for specifying how to slice the repositories
to bring in additional IUs. This element supports the following
attributes:

followStrict

Set to true if only strict dependencies should be
followed. A strict dependency is defined by a version
range only including one version (e.g. [1.0.0.v2009,
1.0.0.v2009]). (Default is false)

includeOptional

Whether or not to follow optional requirements. (Default
is true).

includeNonGreedy

Whether or not to follow non-greedy requirements.
(Default is true).

includeFeatures

Whether or not to include features. (Default is true).

platformFilter

An "os,ws,arch" triplet to set as the platform against
which IU LDAP filters will be matched. IUs not matching
the filter will not be mirrored.

filter

Set additional filter properties. Format is a comma
separated list of "key=value" pairs.

followOnlyFilteredRequirements

Invert the filters, include only the IUs that
don't match.

latestVersionOnly

Set to "true" to filter the resulting set of IUs to only
included the latest version of each Installable Unit. By
default, all versions satisfying dependencies are
included.

Examples:

Creating a delta pack repository based on the contents of the platform,
rcp, jdt and equinox.executable features:

Transform IUs into their installed form and add them to the
destination repository. This allows compiling against folder shaped
bundles that contain nested jars. This task is the main mechanism
by which headless PDE/Builds can reuse metadata.

Default is true. Set to "false" to ignore errors and complete
the operation.

<iu>

Nested IU elements, as outlined above. The installable units to
transform. If none are specified, all IUs contained in the
source repositories are transformed.

p2.process.artifacts

Process a local, file-based artifact repository. This task will
(optionally) sign and pack artifacts, as well as update the MD5
sums in the repository to match the actual artifacts on disk (since
signing/conditioning will change the MD5 sums). This task will use
the jarProcessor, which in turn uses ant's SignJar task which
requires the jarsigner command line tool.

This task supports the following attributes and elements:

repositoryPath

A URL to an artifact repository to process. This must be a
local, file-based repository.

pack

Whether or not to create pack.gz artifacts. (Default is false)

normalize

Whether or not to do pack200(pack + unpack) conditioning on the
artifacts. (Default is false, however sign + pack will imply a
normalize.)

<sign>

A nested element to enable signing. This element supports the
following attributes:

alias

The alias to sign with

keystore

The location of the keystore.

keypass

Password for the private key (if different).

storepass

Password for the key store.

unsign

Whether or not to strip any existing signatures before
signing. (Default is false)

<feature>

Nested elements specifying features IUs to process (see
above, the query
attribute is not supported here). If no features or plug-ins
are specified, the entire repository is processed.

<plugin>

Nested elements specifying plugins IUs to process (see above, the query attribute is
not supported here). If no features or plug-ins are specified,
the entire repository is processed.

p2.remove.iu

Remove Installable Units from the given metadata and artifact
repositories. The provided repositories must be modifiable.

Nested IU elements, as outlined above. The installable units to
remove. Matching IUs are removed from the metadata repository,
and all associated artifacts are removed from the artifact
repository (if provided).

p2.composite.repository

Create a composite repository

This task supports the following attributes and elements:

failOnExists

Whether we should fail if the repository already exists.
(Default is false)

validate

A comparator-id. Child repositories claiming to contain the
same artifact are compared using the given comparator. These
are extensions to the
org.eclipse.equinox.p2.artifact.repository.artifactComparators
extension point. Comparators provided by p2 are:

org.eclipse.equinox.p2.repository.tools.jar.comparator:
Compare jars. Class files are disassembled and compared for
equivalence, properties and manifest files are compared as
such, all other files are compared byte-for-byte.

org.eclipse.equinox.artifact.md5.comparator: Compare
the MD5 sums as recorded in the artifact repositories.

<add>

A nested element containing a list of repositories to add to
the composite. See source
repositories above.

<remove>

A nested element containing a list repositories to remove from
the composite. See source
repositories above.