[ 
https://issues.apache.org/jira/browse/IVY-707?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Xavier Hanin resolved IVY-707.
------------------------------

    Resolution: Fixed

I've fixed this as I suggested: now direct dynamic dependencies are always 
resolved, so deliver can do its job properly for any dependency, whatever the 
order of dependencies is.

> Deliver delivers the wrong version when a dynamic revision is evicted before 
> being resolved
> -------------------------------------------------------------------------------------------
>
>                 Key: IVY-707
>                 URL: https://issues.apache.org/jira/browse/IVY-707
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: 2.0.0-beta-1
>         Environment: Unix
>            Reporter: Jim Adams
>            Assignee: Xavier Hanin
>             Fix For: 2.0-RC1
>
>         Attachments: testIvy.zip
>
>
> I have 3 modules A, B, and C. C->B->A. These are in the repo with version 
> 1.0.0. I then have an ivy.xml for the module test which has dependencies of 
> A(latest.integration), C(latest.integration) and B(latest.integration) in 
> that order. Order seems to change the outcome. During the resolve I see 
> messages when resolving each of the modules that seems incorrect but that may 
> only be a symptom of the real problem. A resolves to a version, C resolves 
> and brings in B. B resolves A again but instead of listing the version number 
> in the repo for A it lists latest.integration. In this case that will return 
> the correct version but it seems wrong to see latest.integration and not 
> 1.0.0. In any case the resolve finishes and we deliver the ivy.xml file and 
> publish it. What gets published includes a list of dependencies that includes 
> latest.integration for the resolved version. This is clearly wrong and is 
> causing us lots of pain in our environment. If we move to latest-revision as 
> the conflict manager then the problem goes away.
> Here are the 3 ivy files from the repo:
> <?xml version="1.0" encoding="UTF-8"?>
> <ivy-module version="1.3">
>   <info organisation="SAS" module="a" revision="1.0.0.aaa_a" 
> status="integration" publication="20080117045213"/>
>   <configurations>
>     <conf name="compile"/>
>   </configurations>
>   <publications/>
>   <dependencies>
>     
>   </dependencies>
> </ivy-module>
> <?xml version="1.0" encoding="UTF-8"?>
> <ivy-module version="1.3">
>   <info organisation="SAS" module="b" revision="1.0.0.bbb_b" 
> status="integration" publication="20080117045213"/>
>   <configurations>
>     <conf name="compile"/>
>   </configurations>
>   <publications/>
>   <dependencies>
>     <dependency name="a" rev="1.0.0.aaa_a" org="SAS" conf="compile"/>
>   </dependencies>
> </ivy-module>
> <?xml version="1.0" encoding="UTF-8"?>
> <ivy-module version="1.3">
>   <info organisation="SAS" module="c" revision="1.0.0.ccc_c" 
> status="integration" publication="20080117045213"/>
>   <configurations>
>     <conf name="compile"/>
>   </configurations>
>   <publications/>
>   <dependencies>
>     <dependency name="b" rev="1.0.0.bbb_b" org="SAS" conf="compile"/>
>   </dependencies>
> </ivy-module>
> Here is the source ivy.xml file:
> <?xml version='1.0' encoding='UTF-8'?>
> <ivy-module version='1.3'>
>   <info status='integration' module='test' organisation='SAS'>
>     <ivyauthor name='SAS Build Technologies Team' 
> url='http://bt.unx.sas.com'/>
>     <description>Please describe sas.svc.sec.login here.</description>
>   </info>
>   <configurations>
>     <conf name='compile'/>
>     <!--conf name='runtime'-->
>   </configurations>
>   <publications>
>   </publications>
>   <dependencies>
>     <dependency name='a' rev='latest.integration' org='SAS' conf='compile'/>
>     <dependency name='c' rev='latest.integration' org='SAS' conf='compile'/>
>     <dependency name='b' rev='latest.integration' org='SAS' conf='compile'/>
>   </dependencies>
> </ivy-module>
> and here is the published ivy file
> <?xml version="1.0" encoding="UTF-8"?>
> <ivy-module version="1.3">
>   <info organisation="SAS" module="test" revision="20080117162421" 
> status="integration" publication="20080117162421">
>     <ivyauthor name="SAS Build Technologies Team" 
> url="http://bt.unx.sas.com"/>
>     <description>Please describe sas.svc.sec.login here.</description>
>   </info>
>   <configurations>
>     <conf name="compile"/>
>     <!--conf name='runtime'-->
>   </configurations>
>   <publications>
>   </publications>
>   <dependencies>
>     <dependency name="a" rev="1.0.0.aaa_a" org="SAS" conf="compile"/>
>     <dependency name="c" rev="1.0.0.ccc_c" org="SAS" conf="compile"/>
>     <dependency name="b" rev="latest.integration" org="SAS" conf="compile"/>
>   </dependencies>
> </ivy-module>
> Here is the resolve portion of the log:
> [ivy:resolve] parameter found as ivy variable: ivy.configurations=*
> [ivy:resolve] parameter found as ivy variable: 
> ivy.resolve.default.type.filter=*
> [ivy:resolve] using ivy parser to parse file:/sasusr/u/sasjaa/testIvy/ivy.xml
> [ivy:resolve] post 1.3 ivy file: using exact as default matcher
> [ivy:resolve] :: resolving dependencies :: SAS#test;[EMAIL PROTECTED]
> [ivy:resolve]         confs: [compile]
> [ivy:resolve]         validate = true
> [ivy:resolve] resolving dependencies for configuration 'compile'
> [ivy:resolve] == resolving dependencies for SAS#test;[EMAIL PROTECTED] 
> [compile]
> [ivy:resolve] loadData of SAS#test;[EMAIL PROTECTED] of rootConf=compile
> [ivy:resolve] == resolving dependencies SAS#test;[EMAIL 
> PROTECTED]>SAS#a;latest.integration [compile->compile]
> [ivy:resolve] loadData of SAS#a;latest.integration of rootConf=compile
> [ivy:resolve]         using sas-repo to resolve SAS#a;latest.integration
> [ivy:resolve] sas-repo: no latest strategy defined: using default
> [ivy:resolve] local: no namespace defined: using system
> [ivy:resolve] local: no latest strategy defined: using default
> [ivy:resolve]          trying 
> /sasusr/u/sasjaa/testIvy/repo/SAS/a/latest.integration/ivy.xml
> [ivy:resolve]                 tried 
> /sasusr/u/sasjaa/testIvy/repo/SAS/a/latest.integration/ivy.xml
> [ivy:resolve]                 tried 
> /sasusr/u/sasjaa/testIvy/repo/SAS/a/[revision]/ivy.xml
> [ivy:resolve]         listing all in 
> /sasusr/u/sasjaa/testIvy/repo/SAS/a/[revision]/ivy.xml
> [ivy:resolve]         using local to list all in 
> /sasusr/u/sasjaa/testIvy/repo/SAS/a/
> [ivy:resolve]                 found 1 resources
> [ivy:resolve]         found revs: [1.0.0.aaa_a]
> [ivy:resolve]         local: found md file for SAS#a;latest.integration
> [ivy:resolve]                 => 
> /sasusr/u/sasjaa/testIvy/repo/SAS/a/1.0.0.aaa_a/ivy.xml (1.0.0.aaa_a)
> [ivy:resolve]         parser = ivy parser
> [ivy:resolve]         no ivy file in cache for SAS#a;1.0.0.aaa_a: tried 
> /r/sanyo.unx.sas.com/vol/vol2/u22/sasjaa/.ivy2/cache/SAS/a/ivy-1.0.0.aaa_a.xml
> [ivy:resolve] downloading 
> /sasusr/u/sasjaa/testIvy/repo/SAS/a/1.0.0.aaa_a/ivy.xml ...
> [ivy:resolve]         local: downloading 
> /sasusr/u/sasjaa/testIvy/repo/SAS/a/1.0.0.aaa_a/ivy.xml
> [ivy:resolve]                 to 
> /r/sanyo.unx.sas.com/vol/vol2/u22/sasjaa/.ivy2/cache/a/ivys/ivy.original-1.0.0.aaa_a.xml.part
> [ivy:resolve]         [SUCCESSFUL ] SAS#a;1.0.0.aaa_a!ivy.original.xml(ivy) 
> (35ms)
> [ivy:resolve] post 1.3 ivy file: using exact as default matcher
> [ivy:resolve]         cache: parsed downloaded md file for SAS#a;1.0.0.aaa_a; 
> parsed=SAS#a;1.0.0.aaa_a
> [ivy:resolve]                 [1.0.0.aaa_a] SAS#a
> [ivy:resolve]         found SAS#a;1.0.0.aaa_a in local
> [ivy:resolve]         [1.0.0.aaa_a] SAS#a;latest.integration
> [ivy:resolve] == resolving dependencies SAS#test;[EMAIL 
> PROTECTED]>SAS#c;latest.integration [compile->compile]
> [ivy:resolve] loadData of SAS#c;latest.integration of rootConf=compile
> [ivy:resolve]         using sas-repo to resolve SAS#c;latest.integration
> [ivy:resolve]          trying 
> /sasusr/u/sasjaa/testIvy/repo/SAS/c/latest.integration/ivy.xml
> [ivy:resolve]                 tried 
> /sasusr/u/sasjaa/testIvy/repo/SAS/c/latest.integration/ivy.xml
> [ivy:resolve]                 tried 
> /sasusr/u/sasjaa/testIvy/repo/SAS/c/[revision]/ivy.xml
> [ivy:resolve]         listing all in 
> /sasusr/u/sasjaa/testIvy/repo/SAS/c/[revision]/ivy.xml
> [ivy:resolve]         using local to list all in 
> /sasusr/u/sasjaa/testIvy/repo/SAS/c/
> [ivy:resolve]                 found 1 resources
> [ivy:resolve]         found revs: [1.0.0.ccc_c]
> [ivy:resolve]         local: found md file for SAS#c;latest.integration
> [ivy:resolve]                 => 
> /sasusr/u/sasjaa/testIvy/repo/SAS/c/1.0.0.ccc_c/ivy.xml (1.0.0.ccc_c)
> [ivy:resolve]         parser = ivy parser
> [ivy:resolve]         no ivy file in cache for SAS#c;1.0.0.ccc_c: tried 
> /r/sanyo.unx.sas.com/vol/vol2/u22/sasjaa/.ivy2/cache/SAS/c/ivy-1.0.0.ccc_c.xml
> [ivy:resolve] downloading 
> /sasusr/u/sasjaa/testIvy/repo/SAS/c/1.0.0.ccc_c/ivy.xml ...
> [ivy:resolve]         local: downloading 
> /sasusr/u/sasjaa/testIvy/repo/SAS/c/1.0.0.ccc_c/ivy.xml
> [ivy:resolve]                 to 
> /r/sanyo.unx.sas.com/vol/vol2/u22/sasjaa/.ivy2/cache/c/ivys/ivy.original-1.0.0.ccc_c.xml.part
> [ivy:resolve]         [SUCCESSFUL ] SAS#c;1.0.0.ccc_c!ivy.original.xml(ivy) 
> (21ms)
> [ivy:resolve] post 1.3 ivy file: using exact as default matcher
> [ivy:resolve]         cache: parsed downloaded md file for SAS#c;1.0.0.ccc_c; 
> parsed=SAS#c;1.0.0.ccc_c
> [ivy:resolve]                 [1.0.0.ccc_c] SAS#c
> [ivy:resolve]         found SAS#c;1.0.0.ccc_c in local
> [ivy:resolve]         [1.0.0.ccc_c] SAS#c;latest.integration
> [ivy:resolve] == resolving dependencies 
> SAS#c;latest.integration->SAS#b;1.0.0.bbb_b [compile->compile]
> [ivy:resolve] loadData of SAS#b;1.0.0.bbb_b of rootConf=compile
> [ivy:resolve]         using sas-repo to resolve SAS#b;1.0.0.bbb_b
> [ivy:resolve]         no ivy file in cache for SAS#b;1.0.0.bbb_b: tried 
> /r/sanyo.unx.sas.com/vol/vol2/u22/sasjaa/.ivy2/cache/SAS/b/ivy-1.0.0.bbb_b.xml
> [ivy:resolve]          trying 
> /sasusr/u/sasjaa/testIvy/repo/SAS/b/1.0.0.bbb_b/ivy.xml
> [ivy:resolve]                 tried 
> /sasusr/u/sasjaa/testIvy/repo/SAS/b/1.0.0.bbb_b/ivy.xml
> [ivy:resolve]         local: found md file for SAS#b;1.0.0.bbb_b
> [ivy:resolve]                 => 
> /sasusr/u/sasjaa/testIvy/repo/SAS/b/1.0.0.bbb_b/ivy.xml (1.0.0.bbb_b)
> [ivy:resolve]         parser = ivy parser
> [ivy:resolve]         no ivy file in cache for SAS#b;1.0.0.bbb_b: tried 
> /r/sanyo.unx.sas.com/vol/vol2/u22/sasjaa/.ivy2/cache/SAS/b/ivy-1.0.0.bbb_b.xml
> [ivy:resolve] downloading 
> /sasusr/u/sasjaa/testIvy/repo/SAS/b/1.0.0.bbb_b/ivy.xml ...
> [ivy:resolve]         local: downloading 
> /sasusr/u/sasjaa/testIvy/repo/SAS/b/1.0.0.bbb_b/ivy.xml
> [ivy:resolve]                 to 
> /r/sanyo.unx.sas.com/vol/vol2/u22/sasjaa/.ivy2/cache/b/ivys/ivy.original-1.0.0.bbb_b.xml.part
> [ivy:resolve]         [SUCCESSFUL ] SAS#b;1.0.0.bbb_b!ivy.original.xml(ivy) 
> (88ms)
> [ivy:resolve] post 1.3 ivy file: using exact as default matcher
> [ivy:resolve]         cache: parsed downloaded md file for SAS#b;1.0.0.bbb_b; 
> parsed=SAS#b;1.0.0.bbb_b
> [ivy:resolve]         found SAS#b;1.0.0.bbb_b in local
> [ivy:resolve] == resolving dependencies 
> SAS#b;1.0.0.bbb_b->SAS#a;latest.integration [compile->compile]
> [ivy:resolve] loadData of SAS#a;1.0.0.aaa_a of rootConf=compile
> [ivy:resolve] compile is loaded and no conf to load.  Skip loading
> [ivy:resolve] == resolving dependencies SAS#test;[EMAIL 
> PROTECTED]>SAS#b;latest.integration [compile->compile]
> [ivy:resolve] loadData of SAS#b;latest.integration of rootConf=compile
> [ivy:resolve] compile is evicted.  Skip loading
> [ivy:resolve] == resolving dependencies SAS#test;[EMAIL 
> PROTECTED]>SAS#b;1.0.0.bbb_b [compile->compile]
> [ivy:resolve] loadData of SAS#b;1.0.0.bbb_b of rootConf=compile
> [ivy:resolve] compile is loaded and no conf to load.  Skip loading
> [ivy:resolve] == resolving dependencies SAS#test;[EMAIL 
> PROTECTED]>SAS#b;latest.integration [compile->compile]
> [ivy:resolve] loadData of SAS#b;latest.integration of rootConf=compile
> [ivy:resolve] compile is evicted.  Skip loading
> [ivy:resolve] == resolving dependencies SAS#test;[EMAIL 
> PROTECTED]>SAS#b;1.0.0.bbb_b [compile->compile]
> [ivy:resolve] loadData of SAS#b;1.0.0.bbb_b of rootConf=compile
> [ivy:resolve] compile is loaded and no conf to load.  Skip loading
> [ivy:resolve] Nbr of module to sort : 3
> [ivy:resolve] Sort dependencies of : SAS#a;1.0.0.aaa_a / Number of 
> dependencies = 0
> [ivy:resolve] Sort done for : SAS#a;1.0.0.aaa_a
> [ivy:resolve] Sort dependencies of : SAS#c;1.0.0.ccc_c / Number of 
> dependencies = 1
> [ivy:resolve] Sort dependencies of : SAS#b;1.0.0.bbb_b / Number of 
> dependencies = 1
> [ivy:resolve] Module descriptor is processed : SAS#a;1.0.0.aaa_a
> [ivy:resolve] Sort done for : SAS#b;1.0.0.bbb_b
> [ivy:resolve] Sort done for : SAS#c;1.0.0.ccc_c
> [ivy:resolve] Module descriptor is processed : SAS#b;1.0.0.bbb_b
> [ivy:resolve]         resolved ivy file produced in 
> /r/sanyo.unx.sas.com/vol/vol2/u22/sasjaa/.ivy2/cache/[EMAIL PROTECTED]
> [ivy:resolve] :: downloading artifacts ::
> [ivy:resolve] :: resolution report :: resolve 846ms :: artifacts dl 1ms
> [ivy:resolve]         :: evicted modules:
> [ivy:resolve]         SAS#b;latest.integration by [SAS#b;1.0.0.bbb_b] in 
> [compile]
> [ivy:resolve]           in SAS#test;[EMAIL PROTECTED] with latest-compatible
>       ---------------------------------------------------------------------
>       |                  |            modules            ||   artifacts   |
>       |       conf       | number| search|dwnlded|evicted|| number|dwnlded|
>       ---------------------------------------------------------------------
>       |      compile     |   4   |   3   |   0   |   1   ||   0   |   0   |
>       ---------------------------------------------------------------------
> [ivy:resolve] Nbr of module to sort : 3
> [ivy:resolve] Sort dependencies of : SAS#a;1.0.0.aaa_a / Number of 
> dependencies = 0
> [ivy:resolve] Sort done for : SAS#a;1.0.0.aaa_a
> [ivy:resolve] Sort dependencies of : SAS#c;1.0.0.ccc_c / Number of 
> dependencies = 1
> [ivy:resolve] Sort dependencies of : SAS#b;1.0.0.bbb_b / Number of 
> dependencies = 1
> [ivy:resolve] Module descriptor is processed : SAS#a;1.0.0.aaa_a
> [ivy:resolve] Sort done for : SAS#b;1.0.0.bbb_b
> [ivy:resolve] Sort done for : SAS#c;1.0.0.ccc_c
> [ivy:resolve] Module descriptor is processed : SAS#b;1.0.0.bbb_b
> [ivy:resolve]         report for SAS#test;[EMAIL PROTECTED] compile produced 
> in /r/sanyo.unx.sas.com/vol/vol2/u22/sasjaa/.ivy2/cache/SAS-test-compile.xml
> [ivy:resolve]         resolve done (846ms resolve - 1ms download)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to