You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by Vladimir Gubarkov <xo...@gmail.com> on 2012/05/06 00:19:46 UTC
Question on multi-module project and ivy local repository & cache
Hi, dear sirs
I'm working on moving a multi-module (some modules depend on others)
ant project to ivy dependency management.
I more-or-less managed to do that, however now I'm facing a problem.
What I'm doing to resolve dependencies among my own modules is
1) ivy:publish-ing my dependee modules to my local ivy repo (.ivy2/local) and
2) for the depender module I'm perfroming ivy:resolve & ivy:retrieve
to populate module lib folder with jars.
At stage 2) dependee module (pushed to local repo at stage 1)) is fetched.
Now to the problem: when I'm changing dependee
module/rebuild/republish to local repo I'm unable to make ivy at stage
2) replace dependee.jar at lib folder of depender module. It just keep
telling me
[ivy:retrieve] 0 artifacts copied, 25 already retrieved (0kB/16ms)
To make it clear, I'm not updating my revision version while deploying
the jar to local repo, maybe this is the problem. But I don't think it
is reasonable to update revision at every code change.
The problem seems to be that despite jar is updated in local
repository, it's not in cache!
So ivy:resolve doesn't want to update from local repo -> cache despite
file timestamp changed, and ivy:retrieve looks to cache hence not
seeing updated file.
I've tried use ivy:retrieve with overwriteMode="different" option, but
this did not help.
Please advise.
Sincerely yours,
Vladimir
Re: Question on multi-module project and ivy local repository & cache
Posted by Vladimir Gubarkov <xo...@gmail.com>.
Ok, just informing that I solved the problem with the help of
overriding caches useOrigin option, here are my ivysettings config:
<ivysettings>
<settings defaultResolver="default"/>
<!-- just use default settings -->
<include url="${ivy.default.settings.dir}/ivysettings.xml"/>
<caches useOrigin="true" /> <!-- not cache local repo -->
</ivysettings>
Please let me know if this is wrong approach.
Still it seems to work for me.
On Sun, May 6, 2012 at 2:19 AM, Vladimir Gubarkov <xo...@gmail.com> wrote:
> Hi, dear sirs
>
>
> I'm working on moving a multi-module (some modules depend on others)
> ant project to ivy dependency management.
> I more-or-less managed to do that, however now I'm facing a problem.
>
> What I'm doing to resolve dependencies among my own modules is
>
> 1) ivy:publish-ing my dependee modules to my local ivy repo (.ivy2/local) and
> 2) for the depender module I'm perfroming ivy:resolve & ivy:retrieve
> to populate module lib folder with jars.
>
> At stage 2) dependee module (pushed to local repo at stage 1)) is fetched.
>
> Now to the problem: when I'm changing dependee
> module/rebuild/republish to local repo I'm unable to make ivy at stage
> 2) replace dependee.jar at lib folder of depender module. It just keep
> telling me
>
> [ivy:retrieve] 0 artifacts copied, 25 already retrieved (0kB/16ms)
>
> To make it clear, I'm not updating my revision version while deploying
> the jar to local repo, maybe this is the problem. But I don't think it
> is reasonable to update revision at every code change.
>
> The problem seems to be that despite jar is updated in local
> repository, it's not in cache!
>
> So ivy:resolve doesn't want to update from local repo -> cache despite
> file timestamp changed, and ivy:retrieve looks to cache hence not
> seeing updated file.
> I've tried use ivy:retrieve with overwriteMode="different" option, but
> this did not help.
>
> Please advise.
>
>
> Sincerely yours,
> Vladimir