1) deliver
Delivers a parse descriptor for the current module, and may perform dependent recursive deliveries.
This task mainly does two things:
1. Generate a well parsed Ivy file
This task generates a parse-good descriptor for the current module, based on the last parse. The parsed Ivy file contains updated information about the delivered module, such as revision and status.
In addition, all included configuration files will be included in the Ivy file, and the variables are replaced by their values.
Eventually, in the parsed Ivy file, the dynamic revisions are replaced by static revisions found in the parsing process, so these ivy files can be safely used to obtain the same dependencies (if the revision only identifies a module, which is the basis for Ivy's normal use).
From 1.3 Dynamic revisions are replaced by static revisions that can be turned off, so the dynamic revision is kept in the Ivy file. This is an exception to the recommended standard for issuing module descriptors that are fully parsed, so be careful to use them.
2. Perform recursive delivery
This is only done when Delever target is set to the Delever task.
If Delever target is set, the Delever state that is set for each and this task is not dependent on the suffisant state, and it is invoked (through Antcall). This means that if you deliver an integrated revision, the recursive delivery will not proceed.
If you deliver a milestone or release revision, Delever target will be invoked with each integration dependency.
Delever target is invoked with the following properties available:
Dependency.name
The name of a recursive delivery dependency
Dependency.published.status
Status of the dependencies to be delivered
Dependency.published.version
Revised version of dependencies to be delivered
Dependency.version
Revised version of dependencies to be delivered
Dependency.published.status and dependency.published.version require that the user give the Ant input task (the default behavior), or that the entire recursive delivery process is always the same, if the following properties are set:
Recursive.delivery.status
Set the status of all dependencies required to be delivered
Recursive.delivery.version
Set all dependent versions that are required to be delivered
Typically, the delivery task itself throws another ant build (using an ant task), although it depends on you.
The delivered Ivy file will use the revised version of the dependencies that are given here to update it.