ant-ivy-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Felix Dorner <>
Subject Re: Dynamically switching 'latest' property requires to delete cache
Date Wed, 25 Nov 2009 14:14:32 GMT
Seems like I don't understand how revisions and statuses are connected. I start from the beginning:

Say there's an imaginary module "mymodule" in the repository:

ivy-0.1-I2000.xml, with status 'integration'
ivy-0.1-S2009.xml with status 'snapshot'

Another module now declares a dependency on "mymodule", setting rev="latest.integration".
When I now try to resolve this module's dependencies, ivy outputs something like this, (I
shortened the output to show only the relevant stuff, and also obfuscated some names):

using r1 to list all in XXX
[ivy:retrieve] 		found 16 urls
[ivy:retrieve] 		4 matched C:/develop/ivy/repository/r1/myorg/mymodule/ivy-[revision].xml
[ivy:retrieve] 	found revs: [0.1-I2000, 0.1-S2009]
[ivy:retrieve] 		=> C:\develop\ivy\repository\r1\myorg\mymodule\ivy-0.1-S2009.xml (0.1-S2009)
[ivy:retrieve] ERROR: 	playw: unacceptable revision => was=0.1-S2009 required=latest.integration
[ivy:retrieve] WARN: 	module not found: myorg#mymodule;latest.integration

So the resolver correctly finds the 'latest revision of all', but then fails because this
'latest of all' does have status 'snapshot', not 'integration'. In my understanding, now the
resolver should just try the next revision in the list (0.1-I2000) and suceed, but instead
it just stops trying and fails. Why?

Thanks for your help.

Find my ivy settings file below. 

  <property name="defaultCacheDir" value="C:\develop\ivy\cache"/>

  <settings defaultResolver="r2"/>
  <caches defaultCacheDir="${defaultCacheDir}"/>

  	 Neutralize the weight of status letters in latest-revision comparisons.
  	 ===> Latest revision will be determined by version prefix + timestamp 
    <latest-revision name="mylatest" usedefaultspecialmeanings="false" >
      <specialMeaning name="S" value="0"/>   <!-- snapshot builds    -->
      <specialMeaning name="I" value="0"/>   <!-- integration builds -->
      <specialMeaning name="M" value="0"/>   <!-- milestone builds   -->

      <sftp name="r1" user="ivy" userPassword="xxx" host="yyy" checkmodified="true" checksums="sha1"
          <artifact pattern="/home/ivy/repository/r1/[organisation]/[module]/[artifact]-[revision].[ext]"
	      <ivy pattern="/home/ivy/repository/r1/[organisation]/[module]/ivy-[revision].xml"
      <sftp name="r2" user="ivy" userPassword="xxx" host="yyy"  checkmodified="true" checksums="sha1">
	      <artifact pattern="/home/ivy/repository/r2/[organisation]/[module]/[artifact]-[revision].[ext]"
	      <ivy pattern="/home/ivy/repository/r2/[organisation]/[module]/ivy-[revision].xml"

  <statuses default="snapshot">
      <status name="release"      integration="false"/>
      <status name="milestone"    integration="false"/>
      <status name="integration"  integration="false"/>
      <status name="snapshot"      integration="true"/>
  	<module organisation="myorg" resolver="r1"/>


View raw message