Use changing="true" on AppY's dependency on LibX.
On Feb 19, 2012, at 7:46 PM, Sugar Bzzz <[email protected]> wrote:
> Hello,
>
> I have two projects: LibX and AppY, where AppY depends on LibX.
>
> I would like to establish the following workflow with Ivy:
> 1) make some changes to LibX
> 2) rebuild and publish the modified LibX using Ant+Ivy
> 3) rebuild AppY using the modified LibX
> 4) repeat (goto 1)
>
> This works the first time around (with a clean cache) but it doesn't work a
> second time. When I rebuild AppY a second time around, it uses a cached
> LibX from the first iteration of this workflow. The only way I can get the
> latest LibX when building AppY after publishing LibX once already, is to
> clean the Ivy cache and start over; but this takes a long time since all of
> the dependencies of LibX need to be redownloaded. I want AppY to use the
> latest LibY that I've built.
>
> How can I achieve this without having to clean the Ivy cache every time I
> modify LibX?
>
>
> Thanks.
>
>
> Here is how I have Ant and Ivy setup:
>
> in build.xml of LibX:
>
> <target name="publish" depends="jar" description="--> publish LibX">
> <ivy:publish pubrevision="${LibX.version}" resolver="local"
> overwrite="true">
> <artifacts pattern="${artifacts.dir}/[artifact].[ext]"/>
> </ivy:publish>
> </target>
>
> in ivy.xml of LibX:
>
> <ivy-module version="2.2">
> <info organisation="myorg" module="LibX"/>
> <publications>
> <artifact name="LibX" type="jar"/>
> </publications>
> <dependencies>
> <... several dependencies here ...>
> </dependencies>
> </ivy-module>
>
> in build.xml of AppY:
>
> <target name="resolve" description="--> retrieve dependencies">
> <ivy:retrieve/>
> </target>
>
> in ivy.xml of AppY:
>
> <ivy-module version="2.2">
> <info organisation="myorg" module="AppY"/>
> <dependencies>
> <dependency org="myorg" name="LibX" rev="latest.integration"/>
> </dependencies>
> </ivy-module>