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.
> >
> >
> >


Reply via email to