[ https://issues.apache.org/jira/browse/IVY-1485?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17887584#comment-17887584 ]
Sodrul Bhuiyan commented on IVY-1485: ------------------------------------- [~jaikiran] I couldn't view the link, says I don't have permission to view. BTW please correct me if I'm wrong, the Ivy configurations are supposed to be independent of each other unless they're extended from each other regardless of the dependencies they have. So in my situation *tests* configuration dependencies whether transitive or not should not impact *ear* configuration dependencies. > Incorrect revision of dependencies put in to delivered Ivy files > ---------------------------------------------------------------- > > Key: IVY-1485 > URL: https://issues.apache.org/jira/browse/IVY-1485 > Project: Ivy > Issue Type: Bug > Components: Core > Affects Versions: 2.3.0, 2.4.0-RC1 > Reporter: Perrin Morrow > Priority: Critical > Attachments: 0001-Add-test-cases-for-IVY-1485.patch, > 0002-Ensure-dependency-is-applicable-to-all-confs-of-matc.patch, > ivy-1485-test-cases.patch > > > Ivy deliver incorrectly replaces top-level dependency revision with one from > a transitive dependency in a different conf. > When writing the resolved Ivy properties into the cache, the Ivy > ResolveEngine does not take into account the top-level confs. If it finds the > same dependency on any transitive path it will prefer the resolved revision > of the transitive dependency over that of the top-level dependency even when > that transitive dependency is being resolved into a completely different > top-level conf. This results in a delivered Ivy file, that when resolved > again will pull in the wrong version of that top-level dependency. > Consider the following Ivy dependency chain: > {noformat} > top-level > [conf1] > - modA#1 > [conf2] > - modB#1 > - modA#2 > {noformat} > Ivy resolve and retrieve will pull modA#1 into conf1 and modA#2 into conf2, > as expected. > Ivy deliver, however, will replace modA#1 with modA#2 in the delivered ivy > descriptor. When that delivered ivy file is resolved again (by some other > module depending on it) it will pull in modA#2 into both conf1 and conf2. > This appears to be a regression in Ivy 2.3.0. It did not happen with Ivy > 2.2.0. (Maybe related to IVY-1300?) > We have written some test cases that demonstrate the problem (a diff against > the Git repository master) which I will attach. > We're also working on a patch to fix this but so far it has proved elusive. -- This message was sent by Atlassian Jira (v8.20.10#820010)