The only difference I see is that I also have forcedeliver="true" in my ivy:publish task. I'm not sure if that will make a difference. I thought that changing="true" forced it to check timestamps on the jar file. But maybe it only compares the timestamps on the ivy.xml file. If that's the case, forcedeliver="true" will force it to write a new ivy.xml file.
-- tBs > -----Original Message----- > From: acec acec [mailto:[email protected]] > Sent: Friday, August 06, 2010 2:49 PM > To: [email protected] > Subject: RE: updated SNAPSHOT.jar > > Hi, > Thanks for your helps. > I added changing="true", but it still keep the old jar file. > > The following is my configuration: > > ivy.xml of Project B: > ------------------------------------------------------------------- > <dependency org="test" name="a" rev="1.0.0-SNAPSHOT" changing="true"/> > ------------------------------------------------------------------- > > build.xml of project B: > ------------------------------------------------------------------- > <target name="resolve" description="retreive dependencies with ivy"> > <ivy:retrieve/> > </target> > ------------------------------------------------------------------- > > build.xml of project A: > -------------------------------- > <target name="publish-shared" depends="jar" description="--> publish > this project in shared ivy repository"> > <delete file="${build.dir}/ivy.xml" /> > <ivy:publish resolver="shared" overwrite="true" > artifactspattern="${build.dir}/[artifact]-[revision].[ext]" > pubrevision="${project.version}" status="release" /> > </target> > -------------------------------- > > > The ivysettings.xml used by project A and B: > --------------------------------------------- > <ivysettings> > <settings defaultResolver="default-resolver" /> > > <property name="ivy.local.default.root" > value="${ivy.default.ivy.user.dir}/local" /> > <property name="ivy.local.default.ivy.pattern" > value="[organisation]/[module]/[revision]/ivys/ivy-[revision].xml" /> > <property name="ivy.local.default.artifact.pattern" > value="[organisation]/[module]/[revision]/[type]s/[artifact]- > [revision].[ext]" /> > > <property name="ivy.shared.default.root" value="/home/test/ivy- > repository/repository/no-namespace" /> > <property name="ivy.shared.default.ivy.pattern" > value="[organisation]/[module]/[revision]/ivys/ivy-[revision].xml" /> > <property name="ivy.shared.default.artifact.pattern" > value="[organisation]/[module]/[revision]/[type]s/[artifact]- > [revision].[ext]" /> > > <resolvers> > <filesystem name="local"> > <ivy > pattern="${ivy.local.default.root}/${ivy.local.default.ivy.pattern} "/> > <artifact > pattern="${ivy.local.default.root}/${ivy.local.default.artifact.pattern > } "/> > </filesystem> > > <filesystem name="shared"> > <ivy > pattern="${ivy.shared.default.root}/${ivy.shared.default.ivy.pattern}"/ > > > <artifact > pattern="${ivy.shared.default.root}/${ivy.shared.default.artifact.patte > rn}"/> > </filesystem> > > <chain name="default-resolver"> > <resolver ref="local" /> > <resolver ref="shared" /> > </chain> > </resolvers> > </ivysettings> > --------------------------------------------- > Thanks a lot. > > > ============================================================== > > --- On Fri, 8/6/10, Troy Self <[email protected]> wrote: > > > From: Troy Self <[email protected]> > > Subject: RE: updated SNAPSHOT.jar > > To: [email protected] > > Received: Friday, August 6, 2010, 12:35 PM > > In B's ivy.xml file, you should note > > that A is changing as follows: > > <dependency > > name="A" > > > > rev="latest.integration" > > > > conf="compile->master;runtime->default" > > > > changing="true" /> > > > > That tells Ivy that the dependency is likely to change even > > when the version > > is the same. It will take the extra step to compare file > > size/date instead > > of just checking the cache for the version. > > > > Hope this helps. > > > > -- tBs > > > > > -----Original Message----- > > > From: acec acec [mailto:[email protected]] > > > Sent: Friday, August 06, 2010 12:13 PM > > > To: [email protected] > > > Subject: updated SNAPSHOT.jar > > > > > > Hi, all > > > I have two projects: a and b > > > > > > a project will publish a-1.0.0-SNAPSHOT.jar into > > shared repository. > > > > > > b project depends on a-1.0.0-SNAPSHOT.jar. > > > > > > If I did some changes on a, I published a again, I > > checked share > > > repository, which includes the right jar file. > > > > > > But in b project, when b retrieves dependent jar > > files, for some > > > reason, it still keep the old a-1.0.0-SNAPSHOT.jar. > > > > > > it seems the ~/.ivy2/cache also keeps the old jar > > file. How do I get > > > the updated jar file? > > > > > > > > > Thanks. > > > > > >
