I have a multimodule ant+ivy project. Dependencies between projects are recorded in ivy.xml files.
When <ivy:retrieve>
is invoked it will try to download all dependencies including local projects.
How can I exclude my local projects from retrieval ?
Or maybe it's somehow possible to use Filesystem resolver such that it will resolve to ${projects.dir}/*/ivy.xml
, kind of like IvyDE does with workspace resolver.
UPDATE
I want to exclude only local projects, but still retrieve their transitive dependencies. I need to duplicate behavior of IvyDE workspace resolver but outside of eclipse.
EXAMPLE
Given project structure:
- projects/
- local.module1/
- bin/
- lib/
- build.xml
- ivy.xml
<dependency org="local" name="local.module2" />
- local.module2/
- bin/
- lib/
- build.xml
- ivy.xml
<dependency org="external" name="library1" />
- common.xml
- build.xml
- local.module1/
I want local.module1
to be able to retrieve all it's transitive dependencies (local.module2, external.library1) except local projects (local.module2), so effectively this leaves external.library1
.
From this I want to construct build classpath that consists of direct references to local projects and jar references to external libraries. In case of module1:
- ../local.module2/bin
- lib/external.library1-1.0.jar
In case anyone wonders why - I'm trying to fit ivy into existing build system with minimal changes.