As highly-configurable as Ivy is, I'm having a very hard time getting it
to
emulate the default SNAPSHOT handling behavior of Maven. I have
configured
three chained resolvers: local, shared, and public.
<resolvers>
<filesystem name="local" changingPattern=".*SNAPSHOT">
...
</filesystem>
<url name="shared" changingPattern=".*SNAPSHOT">
...
</url>
<ibiblio name="public" m2compatible="true"/>
<chain name="chained" changingPattern=".*SNAPSHOT"
returnFirst="false">
<resolver ref="local"/>
<resolver ref="shared"/>
<resolver ref="public"/>
</chain>
</resolvers>
We have project 'app' that depends on revision SNAPSHOT of project
'lib'.
Everyone on my team works in both projects, publishing lib-SNAPSHOT to
the local
repository to test their changes in the app, and our CI server publishes
to the
shared repository after each successful build.
When resolving dependencies for 'app' we would like Ivy to choose the
most
recent lib-SNAPSHOT.jar, whether that file comes from the local *OR* the
shared
repository. But the chained resolver always chooses the
lib-SNAPSHOT.jar from
the first resolver in its chain, regardless of the value of
'returnFirst'.
We've tried various combinations of attributes, including checkmodified,
latest,
ttl, etc. The all result in the same frustrating behavior.
It's worth noting that the changingPattern does seem to work: when I
re-publish
locally, the cache does get populated with the new file. But it will
never pick
up a newer version from the shared cache!
Can someone please tell me how to achieve this? I'm not sure what else
to try.
Thanks,
Jim
***CONFIDENTIALITY NOTICE and DISCLAIMER***
This message and any attachment are confidential and may be
privileged or otherwise protected from disclosure and solely for
the use of the person(s) or entity to whom it is intended. If you
have received this message in error and are not the intended
recipient, please notify the sender immediately and delete this
message and any attachment from your system. If you are not the
intended recipient, be advised that any use of this message is
prohibited and may be unlawful, and you must not copy this
message or attachment or disclose the contents to any other person.