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



Find my ivy settings file below. 

<ivysettings>  
  <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-strategies>
    <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   -->
    </latest-revision>
  </latest-strategies>   

  <resolvers>
      <sftp name="r1" user="ivy" userPassword="xxx" host="yyy" 
checkmodified="true" checksums="sha1" latest="mylatest">
          <artifact 
pattern="/home/ivy/repository/r1/[organisation]/[module]/[artifact]-[revision].[ext]"
 />
              <ivy 
pattern="/home/ivy/repository/r1/[organisation]/[module]/ivy-[revision].xml" />
      </sftp> 
      <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" />
      </sftp>
  </resolvers>

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

</ivysettings>


Reply via email to