ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Maarten Coene <>
Subject Re: Downloading new snapshot (trigger by timestamp)
Date Fri, 14 Jan 2011 23:27:59 GMT

I could be wrong, but I took a quick look at the code and it seems to me that 
when you define checkmodified="false" in combination with a changingPattern, Ivy 
will check the metadata of the changing modules as well.


----- Original Message ----
From: Mitch Gitman <>
Sent: Fri, January 14, 2011 7:01:37 PM
Subject: Re: Downloading new snapshot (trigger by timestamp)

Let me share some of my own notes, if this helps.

The checkmodified attribute only applies to the Ivy file (or, my
understanding is, the POM as well)--and to the timestamp of the file.

The checkmodified feature, in itself, checks the metadata only (the ivy.xml)
because the ivy.xml might be getting updated while the artifacts themselves
are never changing.

Since you're doing what I'd call snapshot versioning (where the artifacts
are changing while the version, *-SNAPSHOT, remains the same), you can't
just use checkmodified="true". You also have to use the changingPattern and
possibly the changingMatcher. With just checkmodified="true", it will get
the new Ivy file but it will trust the artifacts in the cache.

Even though it is academic at this point, I noticed something erroneous in
my original response to you. I normally specify changingPattern &
changingMatcher in combination with checkmodified. I had originally told you
to specify changingPattern and changingMatcher without mentioning
checkmodified="true". Indeed, in the documentation page you reference, it
says, "And remember to set checkModified=true" on your resolver too!"

So I have a few questions of my own. Does anyone happen to know what should
happen when a changingPattern is specified without checkmodified="true"? Is
there a relevant use case, or perhaps should this be an error?

On Fri, Jan 14, 2011 at 9:38 AM, Romain Pelisse <> wrote:

> After a careful reading of this part of documentation :
>, I
> start to suspect what maybe my issue.
> As it is rather clearly describe (a tribute to Ivy documentation quality),
> an artifact with the same revision can be perceived as "new" by Ivy only if
> it meta data changes (ie it's pom.xml). However, in my case, if I do
> publish
> a new pom.xml this one is differently named than the .zip file. (Indeed, as
> I mention earlier on, I don't use Ivy to download jars but actually zip
> files - those zip files contained package applications).
> So I guess, it boils down to how Ivy consider as meta data and what do it
> actively checks ?
> I guess I could simply run Ivy in debug mode to learn that, but if one of
> you could help me (and spare this annoying task) I'll appreciate it greatly
> :)
> On 14 January 2011 18:12, Romain Pelisse <> wrote:
> > I just added this to my command line : -Divy.cache.ttl.default=10s
> >
> > However, I'm still confused on how the cache will impact what I'm trying
> to
> > do. The way I understand, but I might be wrong, is that if the cache is
> > somehow expired or deleted, Ivy will simply download again all the
> > artefacts. Or I only need it to download jars where timestamp on the
> nexus
> > repository has changed. Am I missing something here on how Ivy caches
> things
> > ?
> >


View raw message