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

Rein updated IVY-1585:
----------------------
    Description: 
Given the following artifacts (and their dependencies):
{code:java}
A: 1.0
   1.1
B: 2.0 -> A;1.0 
   2.1 -> A;1.1
   2.2 -> A;1.1
C: 3.0 -> A;1.0
   3.1 -> A;1.1{code}
When trying to resolve a compatible set of dependencies given the following 
constraint:
{code:java}
A: [0.0,)   (no constraint)
B: [0.0,)   (no constraint)
C: 3.0      (pinned at version 3.0){code}
the latest-compatible conflict manager does not resolve a compatible set of 
dependencies.

*Expected*

Following compatible set of dependencies is resolved:
{code:java}
A: 1.0
B: 2.0
C: 3.0{code}
*Actual*

Incompatible set of dependencies is resolved:
{code:java}
A: 1.1
   1.0
B: 2.1
C: 3.0{code}
*Test case*

Test case that can be used to easily reproduce the problem (can be added to 
{{LatestCompatibleConflictManagerTest):}}
{code:java}
    @Test
    public void testCompatibilityResolve7() throws Exception {
        fixture.addMD("#A;1.0").addMD("#A;1.1")
                
.addMD("#B;2.0->#A;1.0").addMD("#B;2.1->#A;1.1").addMD("#B;2.2->#A;1.1")
                .addMD("#C;3.0->#A;1.0").addMD("#C;3.1->#A;1.1")
                .addMD("#D;1->{ #A;[0.0,), #B;[0.0,), #C;3.0 }").init();
        resolveAndAssert("#D;1", "#A;1.0, #B;2.0, #C;3.0");
    }{code}

  was:
Given the following artifacts (and their dependencies):
{code:java}
A: 1.0
   1.1
B: 2.0 -> A;1.0 
   2.1 -> A;1.1
   2.2 -> A;1.1
C: 3.0 -> A;1.0
   3.1 -> A;1.1{code}
When trying to resolve a compatible set of dependencies given the following 
constraint:
{code:java}
A: [0.0,)   (no constraint)
B: [0.0,)   (no constraint)
C: 3.0      (pinned at version 3.0){code}
the latest-compatible conflict manager does not resolve a compatible set of 
dependencies.

*Expected*

Following compatible set of dependencies is resolved:
{code:java}
A: 1.0
B: 2.0
C: 3.0{code}
*Actual*

Incompatible set of dependencies is resolved:
{code:java}
A: 1.1
   1.0
B: 2.1
C: 3.0{code}
*Test case*

Test case that can be used to easily reproduce the problem (can be added to 
{{LatestCompatibleConflictManagerTest):(}}
{code:java}
    @Test
    public void testCompatibilityResolve7() throws Exception {
        fixture.addMD("#A;1.0").addMD("#A;1.1")
                
.addMD("#B;2.0->#A;1.0").addMD("#B;2.1->#A;1.1").addMD("#B;2.2->#A;1.1")
                .addMD("#C;3.0->#A;1.0").addMD("#C;3.1->#A;1.1")
                .addMD("#D;1->{ #A;[0.0,), #B;[0.0,), #C;3.0 }").init();
        resolveAndAssert("#D;1", "#A;1.0, #B;2.0, #C;3.0");
    }{code}


> Latest-compatible conflict manager does not properly resolve a compatible set
> -----------------------------------------------------------------------------
>
>                 Key: IVY-1585
>                 URL: https://issues.apache.org/jira/browse/IVY-1585
>             Project: Ivy
>          Issue Type: Bug
>    Affects Versions: master
>            Reporter: Rein
>            Priority: Critical
>
> Given the following artifacts (and their dependencies):
> {code:java}
> A: 1.0
>    1.1
> B: 2.0 -> A;1.0 
>    2.1 -> A;1.1
>    2.2 -> A;1.1
> C: 3.0 -> A;1.0
>    3.1 -> A;1.1{code}
> When trying to resolve a compatible set of dependencies given the following 
> constraint:
> {code:java}
> A: [0.0,)   (no constraint)
> B: [0.0,)   (no constraint)
> C: 3.0      (pinned at version 3.0){code}
> the latest-compatible conflict manager does not resolve a compatible set of 
> dependencies.
> *Expected*
> Following compatible set of dependencies is resolved:
> {code:java}
> A: 1.0
> B: 2.0
> C: 3.0{code}
> *Actual*
> Incompatible set of dependencies is resolved:
> {code:java}
> A: 1.1
>    1.0
> B: 2.1
> C: 3.0{code}
> *Test case*
> Test case that can be used to easily reproduce the problem (can be added to 
> {{LatestCompatibleConflictManagerTest):}}
> {code:java}
>     @Test
>     public void testCompatibilityResolve7() throws Exception {
>         fixture.addMD("#A;1.0").addMD("#A;1.1")
>                 
> .addMD("#B;2.0->#A;1.0").addMD("#B;2.1->#A;1.1").addMD("#B;2.2->#A;1.1")
>                 .addMD("#C;3.0->#A;1.0").addMD("#C;3.1->#A;1.1")
>                 .addMD("#D;1->{ #A;[0.0,), #B;[0.0,), #C;3.0 }").init();
>         resolveAndAssert("#D;1", "#A;1.0, #B;2.0, #C;3.0");
>     }{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to