Ivy detection depends on the following to successfully run:
- Apache Ant CLI as part of your PATH (
antorant.batshould be runnable from a given command line). - Java Development Kit (JDK) installed and configured for Ant.
- One or more
ivy.xmlfiles. - Optional
ivysettings.xmlfiles in the same directory asivy.xmlfor repository configuration.
Ivy detection is performed by running Apache Ant to resolve dependencies for each ivy.xml file found. The detector:
- Copies
ivy.xml(andivysettings.xmlif present) to a temporary directory. - Creates a synthetic Ant build file with a custom task that invokes Ivy's dependency resolver.
- Executes
ant resolve-dependenciesto resolve both direct and transitive dependencies. - Parses the JSON output produced by the custom Ant task to register components.
Components are identified using Maven's GAV (group, artifact, version) coordinate system, which corresponds to Ivy's (org, name, rev) coordinates. Dependencies with the same organization as the project are treated as first-party dependencies and ignored.
Components tagged as development dependencies are marked appropriately.
Full dependency graph generation is supported.
Ivy detection will not run if ant is unavailable in the PATH.
The ivy.xml and ivysettings.xml files must be self-contained. Detection will fail if these files:
- Rely on properties defined in the project's
build.xml - Use file inclusion mechanisms (e.g.,
<include>tags)
Dependencies that cannot be resolved by Ivy will be logged as package parse failures and not included in the detection results.