Hi. No much reaction to that post:
> Considering this excerpt of the ivy file for module "B": > > <dependency name="A" > rev="SNAPSHOT" > changing="true"/> > > Module "A" is "publish"-ed to a (local "filesystem") repository. > But when I "resolve", the cache is not updated with the latest version of > the repository. Consequently, after a "retrieve" the classpath of "B" still > contains an old version of "A"! > > The documentation seems to imply that all that's needed is the "changing" > attribute, but this is not the case. > What am I missing from the config (ivy file and/or ivy settings)? To be more specific, the documentation says: <quote> Ivy supports this kind of approach with the notion of changing revision. A changing revision is just that: a revision for which Ivy should consider that the artifacts may change over time. To handle this, you can either specify a dependency as changing on the dependency tag, or use the changingPattern and changingMatcher attributes on your resolvers to indicate which revision or group of revisions should be considered as changing. </quote> Since this mentions an *alternative*, I used *one* of the possibilities, namely adding the "changing" attribute (see above). But the cache is *not* updated, as this shows: Repository: -rw-r--r-- 1 gilles gilles 159779 2009-05-11 15:15 /home/dummy/ivy/repository/automatic/be.ac.ulb.iaa/gesss/jars/gesss-SNAPSHOT.jar Cache: -rw-r--r-- 1 gilles gilles 159782 2009-05-08 17:30 /home/gilles/.ivy2/cache/be.ac.ulb.iaa/gesss/jars/gesss-SNAPSHOT.jar Can someone please confirm whether this is bug or expected behaviour? As far as I'm guessing correctly, it should be obvious that, for a changing revision, ivy should look up the repository to check whether a more recent version exit there... To make sure that an application will use the latest version stored in the repository, there must be another way than to clean the cache each time I run it! At the end of the explanation on "changing revisions", the doc indicates: <quote> So if you want to use changing revisions, use the publish task to publish your modules, it will take care of updating the publication date, and everything will work fine. And remember to set checkModified=true" on your resolver too! </quote> So, even as it clearly stated before that the "changing" attribute is all that's needed, I also tried to add the "checkModified" attribute on the resolver, but then I got the following error: BUILD FAILED /home/gilles/devel/SVN/java/ecl/ant/common.xml:188: impossible to configure ivy:settings with given file: /home/dummy/ivy/settings/ivysettings-local.xml: java.text.ParseException: failed to load settings from file:/home/dummy/ivy/settings/ivysettings-local.xml: no set method found for checkModified on class org.apache.ivy.plugins.resolver.FileSystemResolver I'm lost here. The error message is rather cryptic. It would really be useful to have a fully functional set of ivy files in the section "Cache and Change Management"... Regards, Gilles
