Hi all, I am trying to replace ivy 1.4.1 with the 2.0 alpha 2 and found 
something which revealed a little bit difficult to understand: I just want to 
remark it here so that anyone trying to do the same thing in the future doesn't 
get stuck as I was.

My problem was with "publish": I was trying to publish a new build without 
changing the version number (I had to add 'overwrite="true"'): everything 
worked until I deleted the cache that I had probably generated with 1.4.1. At 
that moment I started having this error: 

BUILD FAILED
c:\stratosfera\commons\buildsystem\build-ivy.xml:65: impossible to publish 
artifacts for [ stratosfera SPA | stratosfera-commons | 1.0.0017 ]: [ 
stratosfera SPA | stratosfera-commons | 1.0.0017 ]: java.lang.Ill
egalStateException: ivy file not found in cache for [ stratosfera SPA | 
stratosfera-commons | 1.0.0017 ]: please resolve dependencies before delivering 
(c:\stratosfera\commons\buildsystem\cfg\..\ivy-cache\r
esolved-stratosfera SPA-stratosfera-commons-1.0.0017.xml)

Looking in the cache dir revealed that the file was indeed missing, but there 
was something called 

resolved-stratosfera [EMAIL PROTECTED] 

(wsictdb2p is my pc's name). 

After a while I realized that there must be a difference in how the resolve 
task works. I previously used it like this:

        <ivy-resolve conf="${ivy.resolve.sequence}"/>

and this did work in 1.4.1. Apparently in 2.0 if not using the revision number 
like this:

        <ivy-resolve conf="${ivy.resolve.sequence}" 
revision="${version.number.full}"/>

a default version number is generated by default and a subsequent call to the 
publish task like this:

        <ivy-publish artifactspattern="${dir.build.packages}/[artifact].[ext]"
                     resolver="projects" revision="${version.number.full}" 
status="release" forcedeliver="true" overwrite="${ivy.publish.overwrite}"/>

fails because the "resolved" file can not be found for the right revision.

Adding the "revision" attribute to the "resolve" task solves the problem, 
though.




Reply via email to