Garima Bathla a écrit :
Thanks for your response :-) ;
my answers, explanations inside your response.
I did not quite understood your problem? Dependencies that do not exist will
fail and looks like you do undestand that.
I do understand.
When I try to resolve an artifact B which depends on artifact A it fails
because the "latest.integration" of B dpends on* a non existing revision of
A.*
I also see, the B module depends on same or higher revisions of A
so e.g. revision 1 of B depends on revision 1 or higher till 2 of A
revision 2 of B depends on revision 2 or higher till 3 of A
revision 3 of B depends on revision 3 of A
So if you have no idea on who is developing module A or it is always going
to be a fixed revision I suggest you fix the dependency element in moduleB
to depend on revision (,3.0]
<dependency org="org.addons" name="addonA" transitive="true" rev="(,3.0]"/>
module A is always growing with time and every-time he came non
compatible with
B, I do the necessary changes (and raise the revision) on the module B .
but for some production environment will always keep a specific version
of A (may be an old one),
therefore we keep that version locally.
for ivy I supposed that he will search for latest for module B for which
we can resolve dependencies.
Actually he searches for the laster version of A regardless of the
existence of dependences.
I hope Its now clear for you.
thank u again.
Youssef.
HTH,
Garima.
On Tue, Dec 29, 2009 at 11:42 AM, lemine youssef <
[email protected]> wrote:
Hi all;
When I try to resolve an artifact B which depends on artifact A it fails
because the "latest.integration" of B dpends on a non existing revision of
A.
I have two locals repositories and use a chain resolver like this
<ivysettings>
<settings defaultResolver="test"/> <caches
defaultCacheDir="${ivy.cache.dir}/ivy-cache">
<cache name="mycache"
basedir="${ivy.cache.dir}/repository"
ivyPattern="ivy.xml"
artifactPattern="[artifact]-[revision].jar"
lockStrategy="no-lock"
defaultTTL="5s">
</cache>
</caches>
<resolvers>
<chain name="test">
<filesystem name="company">
<ivy
pattern="${ivy-home-repo}/repository2/[module]/[revision]/ivy.xml" />
<artifact
pattern="${ivy-home-repo}/repository2/[module]/[revision]/[artifact]-[revision].jar"
/>
</filesystem>
<filesystem name="woekspace">
<ivy
pattern="${ivy-home-repo}/repository1/[module]/[revision]/ivy.xml"/>
<artifact
pattern="${ivy-home-repo}/repository1/[module]/[revision]/[artifact]-[revision].jar"/>
</filesystem>
</chain>
</resolvers>
<modules>
<module organisation="org.addons" name="addonA"
resolver="internal" />
</modules>
</ivysettings>
repository 1: contains only one revision of the module addonA
<ivy-module version="2.0">
<info organization="org.addons" module="addonA" revision="1.0"/>
<dependencies>
</dependencies>
</ivy-module>
repository 2: contains many revisions of the module addonB
========================Version 1.0=====================================
<ivy-module version="2.0">
<info organization="org.addons" module="addonB" revision="1.0"/>
<dependencies>
<dependency org="org.addons" name="addonA" transitive="true"
rev="[1,2["/>
</dependencies>
</ivy-module>
========================Version 2.0=====================================
<ivy-module version="2.0">
<info organization="org.addons" module="addonB" revision="2.0"/>
<dependencies>
<dependency org="org.addons" name="addonA" transitive="true"
rev="[2,3["/>
</dependencies>
</ivy-module>
========================Version 3.0=====================================
<ivy-module version="2.0">
<info organization="org.addons" module="addonB" revision="3.0"/>
<dependencies>
<dependency org="org.addons" name="addonA" transitive="true" rev="[3,)"/>
</dependencies>
</ivy-module>