- Documentation
resolve
The resolve task actually resolve dependencies described in an ivy file, and put the resolved dependencies in the ivy cache.
If configure has not been called before resolve is called, a default configuration will be used (equivalent to call configure with no attributes).
After the call to this task, four properties are set in ant:
- ivy.organisation set to the organisation name found in the ivyfile which was used for resolve
- ivy.module set to the module name found in the ivyfile which was used for resolve
- ivy.revision set to the revision name found in the ivyfile which was used for resolve, or a generated revision name if no revision was specified in the file
- ivy.resolved.configurations set to the comma separated list of configurations resolved
An additional property is set to true if the resolved dependencies are changes since the last resolve, and to false otherwise:
ivy.deps.changedSince 2.0:
In addition, if the resolveId attribute has been set, the following properties are set as well:
- ivy.organisation.${resolveId}
- ivy.module.${resolveId}
- ivy.revision.${resolveId}
- ivy.resolved.configurations.${resolveId}
- ivy.deps.changed.${resolveId}
---------------------------------------------------------------------This table gives some statistics about the dependency resolution. Each line correspond to a configuration resolved. Then the table is divided in two parts:
| | modules || artifacts |
| conf | number| search|dwnlded|evicted|| number|dwnlded|
---------------------------------------------------------------------
| default | 4 | 0 | 0 | 0 || 4 | 0 |
---------------------------------------------------------------------
- modules
- number This is the total number of dependency modules resolved in this configuration, including transitive ones
- search This is the number of dependency modules that required a repository access. The repository access is needed if the module is not yet in cache, or if a latest version is required, or in some other cases (depending on checkModified, for instance)
- dwnlded This is the number of dependency ivy files downloaded from the repository. This number can be less than the total number of modules even with a clean cache, if no ivy file is provided for some dependencies.
- evicted This is the number of dependency module evicted by conflict managers.
- artifacts
- number This is the total number of artifacts resolved in the given configuration.
- dwnlded This is the number of artifacts actually downloaded from the repository.
Note for developers:
After the call to this task, a reference to the module descriptor resolved is put in the ant project under the id
"ivy.resolved.descriptor".
Attributes
Attribute | Description | Required |
---|---|---|
file | path to the ivy file to use for resolution | No. Defaults to ${ivy.dep.file} or nothing in inline mode |
conf | a comma separated list of the configurations to resolve, or '*'. Since 2.0, you can also use '*(private)', '*(public)'. Note that when inline is true, the configuration '*' is equivalent as '*(public)'. | No. Defaults to ${ivy.configurations} |
refresh | true to force Ivy to resolve dynamic revision in this resolve process, false to use cached resolved revision since 2.0 | No. defaults to false |
inline | true to use inline mode, false to resolve an ivy file since 1.4 | No. defaults to false |
organisation | the organisation of the module to resolve in inline mode since 1.4 | Yes in inline mode, no otherwise. |
module | the name of the module to resolve in inline mode since 1.4 | Yes in inline mode, no otherwise. |
revision | the revision constraint to apply to the module to resolve in inline mode since 1.4 | No. Defaults to "latest.integration" in inline mode, nothing in standard mode. |
type | comma separated list of accepted artifact types (since 1.2) | No. defaults to ${ivy.resolve.default.type.filter} |
haltonfailure | true to halt the build on ivy failure, false to continue | No. Defaults to true |
failureproperty | the name of the property to set if the resolve failed since 1.4 | No. No property is set by default. |
transitive | true to resolve dependencies transitively, false otherwise since 1.4 | No. Defaults to true |
showprogress | true to show dots while downloading, false otherwise | No. Defaults to true |
validate | true to force ivy files validation against ivy.xsd, false to force no validation | No. Defaults to default ivy value (as configured in configuration file) |
settingsRef | A reference to the ivy settings that must be used by this task (since 2.0) | No, 'ivy.instance' is taken by default. |
resolveId | An id which can be used later to refer to the results of this resolve (since 2.0) | No, defaults to '[org]-[module]'. |
log | the log setting to use during the resolve process. (since 2.0) Available options are:
| No, defaults to 'default'. |
Examples
<ivy:resolve file="path/to/ivy.xml"/>Resolve all dependencies declared in path/to/ivy.xml file.
<ivy:resolve file="path/to/ivy.xml" transitive="false" />Same as above, but with transitive dependencies disabled.
<ivy:resolve file="path/to/ivy.xml" conf="default, test"/>Resolve the dependencies declared in the configuration default and test of the path/to/ivy.xml file.
<ivy:resolve file="path/to/ivy.xml" type="jar"/>Resolve all dependencies declared in path/to/ivy.xml file, but download only jar artifacts.
<ivy:resolve organisation="apache" module="commons-lang" revision="2+" inline="true" />Resolve the commons-lang module revision 2+ from the repository, with its dependencies.