From 36bb0bfe27089007730e1dad0a70103229c98a03 Mon Sep 17 00:00:00 2001 From: Benjamin Bentmann Date: Tue, 17 Aug 2010 19:01:52 +0000 Subject: [PATCH] [MNG-4768] Depending on declaration order, nearest matching version does not win when version range is involved in conflict o Added IT git-svn-id: https://svn.apache.org/repos/asf/maven/core-integration-testing/trunk@986452 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/maven/it/IntegrationTestSuite.java | 1 + ...768NearestMatchConflictResolutionTest.java | 114 ++++++++++++++++++ .../apache/maven/its/mng4768/a/1.0/a-1.0.jar | Bin 0 -> 1931 bytes .../apache/maven/its/mng4768/a/1.0/a-1.0.pom | 36 ++++++ .../apache/maven/its/mng4768/a/2.0/a-2.0.jar | Bin 0 -> 1931 bytes .../apache/maven/its/mng4768/a/2.0/a-2.0.pom | 36 ++++++ .../apache/maven/its/mng4768/a/2.1/a-2.1.jar | Bin 0 -> 1934 bytes .../apache/maven/its/mng4768/a/2.1/a-2.1.pom | 36 ++++++ .../maven/its/mng4768/a/maven-metadata.xml | 14 +++ .../apache/maven/its/mng4768/b/0.1/b-0.1.jar | Bin 0 -> 1973 bytes .../apache/maven/its/mng4768/b/0.1/b-0.1.pom | 44 +++++++ .../apache/maven/its/mng4768/c/0.1/c-0.1.jar | Bin 0 -> 1981 bytes .../apache/maven/its/mng4768/c/0.1/c-0.1.pom | 44 +++++++ .../apache/maven/its/mng4768/d/0.1/d-0.1.jar | Bin 0 -> 1977 bytes .../apache/maven/its/mng4768/d/0.1/d-0.1.pom | 44 +++++++ .../resources/mng-4768/settings-template.xml | 43 +++++++ .../test/resources/mng-4768/test-abd/pom.xml | 77 ++++++++++++ .../test/resources/mng-4768/test-adb/pom.xml | 77 ++++++++++++ .../test/resources/mng-4768/test-bad/pom.xml | 77 ++++++++++++ .../test/resources/mng-4768/test-bda/pom.xml | 77 ++++++++++++ .../test/resources/mng-4768/test-dab/pom.xml | 77 ++++++++++++ .../test/resources/mng-4768/test-dba/pom.xml | 77 ++++++++++++ 22 files changed, 874 insertions(+) create mode 100644 its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4768NearestMatchConflictResolutionTest.java create mode 100644 its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/1.0/a-1.0.jar create mode 100644 its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/1.0/a-1.0.pom create mode 100644 its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/2.0/a-2.0.jar create mode 100644 its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/2.0/a-2.0.pom create mode 100644 its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/2.1/a-2.1.jar create mode 100644 its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/2.1/a-2.1.pom create mode 100644 its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/maven-metadata.xml create mode 100644 its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/b/0.1/b-0.1.jar create mode 100644 its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/b/0.1/b-0.1.pom create mode 100644 its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/c/0.1/c-0.1.jar create mode 100644 its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/c/0.1/c-0.1.pom create mode 100644 its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/d/0.1/d-0.1.jar create mode 100644 its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/d/0.1/d-0.1.pom create mode 100644 its/core-it-suite/src/test/resources/mng-4768/settings-template.xml create mode 100644 its/core-it-suite/src/test/resources/mng-4768/test-abd/pom.xml create mode 100644 its/core-it-suite/src/test/resources/mng-4768/test-adb/pom.xml create mode 100644 its/core-it-suite/src/test/resources/mng-4768/test-bad/pom.xml create mode 100644 its/core-it-suite/src/test/resources/mng-4768/test-bda/pom.xml create mode 100644 its/core-it-suite/src/test/resources/mng-4768/test-dab/pom.xml create mode 100644 its/core-it-suite/src/test/resources/mng-4768/test-dba/pom.xml diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java b/its/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java index 70893a3a03..a2cd121a2c 100644 --- a/its/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java @@ -81,6 +81,7 @@ public class IntegrationTestSuite // ------------------------------------------------------------------------------------------------------------- // suite.addTestSuite( MavenIT0108SnapshotUpdateTest.class ); -- MNG-3137 + suite.addTestSuite( MavenITmng4768NearestMatchConflictResolutionTest.class ); suite.addTestSuite( MavenITmng4750ResolvedMavenProjectDependencyArtifactsTest.class ); suite.addTestSuite( MavenITmng4747JavaAgentUsedByPluginTest.class ); // suite.addTestSuite( MavenITmng4745PluginVersionUpdateTest.class ); diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4768NearestMatchConflictResolutionTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4768NearestMatchConflictResolutionTest.java new file mode 100644 index 0000000000..6a55f4d78c --- /dev/null +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4768NearestMatchConflictResolutionTest.java @@ -0,0 +1,114 @@ +package org.apache.maven.it; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.maven.it.Verifier; +import org.apache.maven.it.util.ResourceExtractor; + +import java.io.File; +import java.util.List; + +/** + * This is a test set for MNG-4768. + * + * @author Benjamin Bentmann + */ +public class MavenITmng4768NearestMatchConflictResolutionTest + extends AbstractMavenIntegrationTestCase +{ + + public MavenITmng4768NearestMatchConflictResolutionTest() + { + super( "[2.0.9,)" ); + } + + // Ideally, all six permutations of the three direct dependencies should yield the same result... + + public void testitABD() + throws Exception + { + testit( "test-abd" ); + } + + public void testitADB() + throws Exception + { + requiresMavenVersion( "[4.0,)" ); + testit( "test-adb" ); + } + + public void testitBAD() + throws Exception + { + testit( "test-bad" ); + } + + public void testitBDA() + throws Exception + { + testit( "test-bda" ); + } + + public void testitDAB() + throws Exception + { + requiresMavenVersion( "[4.0,)" ); + testit( "test-dab" ); + } + + public void testitDBA() + throws Exception + { + testit( "test-dba" ); + } + + /** + * Verify that conflict resolution picks the nearest version that matches all hard constraints given by ranges. + * And for conflicting dependencies on distinct tree levels, "nearest" shouldn't be subject to the dependency + * order. + */ + private void testit( String test ) + throws Exception + { + File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4768" ); + + Verifier verifier = newVerifier( new File( testDir, test ).getAbsolutePath() ); + verifier.setAutoclean( false ); + verifier.deleteDirectory( "target" ); + verifier.deleteArtifacts( "org.apache.maven.its.mng4768" ); + verifier.getCliOptions().add( "-s" ); + verifier.getCliOptions().add( "settings.xml" ); + verifier.filterFile( "../settings-template.xml", "settings.xml", "UTF-8", verifier.newDefaultFilterProperties() ); + verifier.executeGoal( "validate" ); + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + + List classpath = verifier.loadLines( "target/classpath.txt", "UTF-8" ); + + assertTrue( test + " > " + classpath.toString(), classpath.contains( "a-2.0.jar" ) ); + assertTrue( test + " > " + classpath.toString(), classpath.contains( "b-0.1.jar" ) ); + assertTrue( test + " > " + classpath.toString(), classpath.contains( "c-0.1.jar" ) ); + assertTrue( test + " > " + classpath.toString(), classpath.contains( "d-0.1.jar" ) ); + + assertFalse( test + " > " + classpath.toString(), classpath.contains( "a-2.1.jar" ) ); + assertFalse( test + " > " + classpath.toString(), classpath.contains( "a-1.0.jar" ) ); + } + +} diff --git a/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/1.0/a-1.0.jar b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/1.0/a-1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..194267ed7cb3be5ec24c167f8ecf5892914f2a06 GIT binary patch literal 1931 zcmWIWW@h1H00HaCg0^4=l;8x?zOEsTx}JV+`Tw#DVS(&e+ zpQoE^aEP9-+h^Z1r+vJ2^)B*y>uQ}lbAEG>!4=~NPm6TC&YjTl)^*}wf3hTOikS8R zm5QBnx`TwhgMv%uYONKK;TD=~93)yJd^+eeP{zx+*z3R}zm=7dojYd+Y!r!IKP6`Z z>#{1gk8W*yV)n!^z+8su0e)nc0l5AE%ey(0cZcb^)!MxcH0(+G| z@&{jWR+21OCAVstz)sIKif6nbEE3rotJi zX_w=*t}jdGO4N%EG;mHRF!FxB+`&CWfpu43NPzdLlS>V{)<-#uU*+SESSgS#;>OOP znZ&;@BJJc;(>0Z@S6Q#`*2=n9xOpMZx`mTpNnT?)($#c(+Zral7mMC`?&v!-Npp4E zEwkvOr+XQ1atiHv$ouuwnvN1Xp^MfxV!bcznEF=Xp~u^VLoEB=)-;zN6!FtISh`2? z+1$EU+1cAz6?wNv@tW%`UwJ+lvmXjAU9{w?BERwD()*nzQ@GMYDLh>bJy9T)tX&L)(rgIj%g~ z*BVQ&_AQk+D}66wsdK9H^^3wg$DJ*2mS@-w&kUk%cAfLxv||>-B+n~s@zSX;h28UHk37oA zKlZOo|JTYFY{mPYS)LS1J?+&Jbm<)TZZY0fv$Cz-e7|r-wal7bSGnc&pT(L5viI-r zZFf7Ve#SRvZGTo|g6SIPKXx&@(M6sfaTmQAuAM zSoAP5i7?|XJ%Jtq0s)4%jvyMTEQM*qUYddwgTRtTbs!1XhE%rVvlvwBK>*0&gFq(S z1XvjevmSdXh|v5FQ!{}w5x2>pQV{|`&az;{a28&ZL1iS&Z0w~Z%=9IVEhL)_Ei;j= p09A(Qi4$Q(0kCLB3snNn2U&qgssY}tY#`IvfzT3I)Z4IvcmQNRif{k` literal 0 HcmV?d00001 diff --git a/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/1.0/a-1.0.pom b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/1.0/a-1.0.pom new file mode 100644 index 0000000000..2cde37cc7f --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/1.0/a-1.0.pom @@ -0,0 +1,36 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng4768 + a + 1.0 + jar + + + + maven-core-it + file:///${basedir}/repo + + + diff --git a/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/2.0/a-2.0.jar b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/2.0/a-2.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..be7a2eb0dfedf4f9230e9dac431552f0d1fabd01 GIT binary patch literal 1931 zcmWIWW@h1H00F1Tg0^4=l;8x?zOEsTx}JV+`Tw#DVS(&e+ zpQoE^aEP9-+h^Z1r+vJ2^)B*y>uQ}lbAEG>!4=~NPm6TC&YjTl)^*}wf3hTOikS8R zm5QBnx`TwhgMv%uYONKK;TD=~93)yJd^+eeP{zx+*z3R}zm=7dojYd+Y!r!IKP6`Z z>#{1gk8W*yV)n!^z+8su0e)nc&uA|97zt{WVieL(MStkarR|L;ZeY`eW`U&LLt;d*pST;M(Fx6SU zKV+TnagjqY+ZH9X9e9v3?VNvO-wFq=64{jtrcIgbohTB&wM}o8tlWkm#cLWpd<;QH z}LyORrKTUCR@c(>+m z>zXdjyh&K4;;{6qsgZ&&Yg87MZ`eI;Nul;_$3qiu9cMT-AK!+J}zwhp0{yH;8VTVCZ`_3g)zcZCfTv=3{{{;K4#uK#j_q_uoQ zui@F_25)xhCD>kcSY;&B+PeM8Q>DG%I@g@tFD{zJ%T>Q6X5#YIx*OVdJjrq8(Z1GL zdbMwhQ*~C-*!-SOhY2PJn z&b)h<)~&PCFR_w+`st&glT=T$&V6POZL{l~@1`BI7$$jMVT+eeeJSjoCwt^kM*gvX zW%|EXzF;ff_ssI7Q0i%~mY_@LxOa>3u9}r??dJQ1E2?GI?7GS=um3F8ERel_e{Z|n zN%b?nIcxi~A`?v4IRCMm!FE~W&*MDvMJqx!vzLe{;Ldvhm-}YB;?(zec6=qi}Fwg#};8x5W#)*85D*{`U9l zR*}#f9%o;6=Cw=jdhB{<^4H?3V|M0&C%T=tgofs9pB-jU^Sk)y3+;nf*I!_AUC7IK z;$i%Sz#s8yN2>Ba<-@Wo2e`c1H(Bdr5ipIH0kI8PX}zE*zaX`!Br~-*xXk~ox2~6t zr*ELgs*n%9I^Jg=KMms3^bIZ0@eMaH2{+iX!N_Q{kwI8N882U;fsuj9gQr^1!pZa! zbJ3;lPu|=%!8xD1FMSmPmqK5Q9FM(7ohI`7>9eKo42=5WNr9eeQAtId0f|cb;=rPZ zkx7IZcj*cA5D*A3ymbW8NM$KZ8}`x^q!V! zK$!K|OF@L@cbJ+9l!>@a29=5s0CJWEBZjl^nhYu1|cY-pK@Yz3$? nL{FRuD++)`Gg_z;a6ZTiL{bg#W@Q7J#twv*z@pxU6~qGohu4Ud literal 0 HcmV?d00001 diff --git a/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/2.0/a-2.0.pom b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/2.0/a-2.0.pom new file mode 100644 index 0000000000..c2277b33f7 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/2.0/a-2.0.pom @@ -0,0 +1,36 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng4768 + a + 2.0 + jar + + + + maven-core-it + file:///${basedir}/repo + + + diff --git a/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/2.1/a-2.1.jar b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/2.1/a-2.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..e71e9218cb4f340e79c09174ab503dada51e81e1 GIT binary patch literal 1934 zcmWIWW@h1H00Fnjg0^4=l;8x?zOEsTx}JV+`Tw#DVS(&e+ zpQoE^aEP9-+h^Z1r+vJ2^)B*y>uQ}lbAEG>!4=~NPm6TC&YjTl)^*}wf3hTOikS8R zm5QBnx`TwhgMv%uYONKK;TD=~93)yJd^+eeP{zx+*z3R}zm=7dojYd+Y!r!IKP6`Z z>#{1gk8W*yV)n!^z+8su0e)nc{!NnF$FC=R|MT7-z7oIgtvwMarE@@QLw1Yj;o@JX zube82QT7Sd=Fa2f@l(6`MdU??)D)Nd!BSbSmOCefb*E;(Ty*OZqrPcU@19n29Nrb2h|4!xc%(E zZ8g2$5F!@U%${=Kx{S29OJ~U4kfzgfve-kbYm&ZOIILLubjsOk!3AN*GY_nt&41w5 zt!K>1vDaPqs7ql39mRzP+f9zjX5}#{{26W@zrb}x>)Ywaf84X5rF5VB@Z0K) zEmeo^sGa+@BaAidu$9XDMTI7PH|5K33m#n>mOELD(>Kk0$*lbgdRTJnbWgwk(tT5J zwf@6fU83i8=T@HS^Q$eX*mbh9L~Qf)TH`K(U&i{LNuQ3Cp5Z&*c&g4Mr7f~>iH=px+nvdJ^Y(mizj)4t^@i*s#^N#) zZpL3Q{H-sXwAcKnIV{6+fJ>Y&wa<4H15w4*U z`UZNe3i;rx<9+t=(;z-g-_Qab-*5wyaDy!yjEpuLnS>OS@$v;47#Wy6c&Y_0o=h(p zKY8kGz>-FFAPLuoRJ;aw!%V;|%RmJm1b{3) z2xP)dfE9zdHG>L52mon*2V|mYCQvNmHW^efLIB8Q3r5mR1{ISqv#}SHFw>VbwvcQ# twAe(p0#qNOr%r?wMZnUTlz>Up2U&qgs{!7uY#`IvfzT3I+S{{&cmNs^hxq^i literal 0 HcmV?d00001 diff --git a/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/2.1/a-2.1.pom b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/2.1/a-2.1.pom new file mode 100644 index 0000000000..a0fbe80c97 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/2.1/a-2.1.pom @@ -0,0 +1,36 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng4768 + a + 2.1 + jar + + + + maven-core-it + file:///${basedir}/repo + + + diff --git a/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/maven-metadata.xml b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/maven-metadata.xml new file mode 100644 index 0000000000..77630d8c23 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/a/maven-metadata.xml @@ -0,0 +1,14 @@ + + + org.apache.maven.its.mng4768 + a + 1.0 + + + 1.0 + 2.0 + 2.1 + + 20100817162611 + + diff --git a/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/b/0.1/b-0.1.jar b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/b/0.1/b-0.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..c68700cdb885934c102e23284c5accd8bf7e81e8 GIT binary patch literal 1973 zcmWIWW@h1H0D-Q_g0^4=l;8x?zOEsTx}JV+`Tw#DVS(&e+ zpQoE^aEP9-+h^Z1r+vJ2^)B*y>uQ}lbAEG>!4=~NPm6TC&YjTl)^*}wf3hTOikS8R zm5QBnx`TwhgMv%uYONKK;TD=~93)yJd^+eeP{zx+*z3R}zm=7dojYd+Y!r!IKP6`Z z>#{1gk8W*yV)n!^z+8su0e)ncW^pjI0s~j4SNGl_CI*IFRt5%BlFcf}&(*8Q&6yhFn}6GYXRq{! z`UgF-VGA~1PHaysj!nsJmV7O=!0-Ck6*qboUz=v*xlWqr_xr_vChpL#iqLD+`1J9k z?Wu=1gCh?pYn@$c@zw9oN_LH)nS~SQSDCN=`DAgq*v`J!E%|D~*LObB#=8P>`QiYhX>RG?$31+=dv%X&OD> z7=@0A)ohG8`h5C^hpeILG3B9G_B>4UmW**$zRH}#(UB^-JvWjuCSXC1=Z?NZb2P1a zx2`SgdLGTZNzmlOwD2q0sqG%mm<8`1EYrx})#< z{Yv-ww{J~)>)^q>^%%3!gW#^Iii=!Ut>HT7;~>n_s`anIsyowqZ}(=ckX9;*OqXo%_rn`p(XC+baqSc|4Q?rE6AAS?VvdGgM&n z#d|z|-^OiO_kt^U-$Tt_)lajYa_n3(SG-JDD@67BH8Z2xt6;s>2;ks{B$u7%EVeR3ut=%ifWk2z-hMSlAK zYCSmN>NJDYA8kw9&b>B}n0xE?zn5;o|5bS8zMp;3c0oSEPucCePwT;lH-c|QJB!|* zsSx_+cXsy6utZhUZ5^k_%gVCl9Mq5G(%6Rz#4U7y-9z4~8mSUzCjGsL9(m$oI z`@v`9S$(hT-Z~yW=RB^SW|dq#Ju+y`^x4zp7+Lnjbh@g}%d@*5E~FTlM3`}x zvp^pKfdIo>M-Yuv>cX^PFLyzTL10OvI*^2GLn?&>ykRC_7I~oZ5duIK9|SVtCcsKd z+?qkOBCQ5^v$BCqV+TS@V5N`-tP~g+0GE)V0ssI2 literal 0 HcmV?d00001 diff --git a/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/b/0.1/b-0.1.pom b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/b/0.1/b-0.1.pom new file mode 100644 index 0000000000..f8d06e6206 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/b/0.1/b-0.1.pom @@ -0,0 +1,44 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng4768 + b + 0.1 + jar + + + + maven-core-it + file:///${basedir}/repo + + + + + + org.apache.maven.its.mng4768 + c + 0.1 + + + diff --git a/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/c/0.1/c-0.1.jar b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/c/0.1/c-0.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..c4bb1c79378de8867612f7caa61d5869cf833ea7 GIT binary patch literal 1981 zcmWIWW@h1H0D*?dg0^4=l;8x?zOEsTx}JV+`Tw#DVS(&e+ zpQoE^aEP9-+h^Z1r+vJ2^)B*y>uQ}lbAEG>!4=~NPm6TC&YjTl)^*}wf3hTOikS8R zm5QBnx`TwhgMv%uYONKK;TD=~93)yJd^+eeP{zx+*z3R}zm=7dojYd+Y!r!IKP6`Z z>#{1gk8W*yV)n!^z+8su0e)ncYJ-+;k$U=HG^Zb59q~C6IlJK{=JU8S>_ez+Kpvp&(6;N zp2m4@UYCqqU}#KN@be?Hts0ajYKq@nS-g4H?)P&yU)YwTUGa3+w$h`*BBIL{sJ_rW zv?hh~@6n>g(#r&%Z4%SG%);irxuTAz#Dz6zL9Qoj>ykMxTx);qx+ZeM+9qM9lTN^k zQ_LNL(I1W$iO!8b)b>1N?x$6&7d_*>9)0S8s7a9RfwqQ-Sw)wpJw3q6+BK~uSM$sa zqssxei7Wqry&LrPYmfs%LjhF10_DaVxHcv*vY4v-v%dK8=Ih z=KMQn`R~Rxu^e`%tQFce3e0w@5m`!JOS+7n`>2H6_TPG3y{z1}B_`YL<{DY1Cuwuo ze5C6cwna^sui2j|)xXuncBN6h#F_m{y5b*~dZ+mQ>pih?mBYjHv$QXj>}3uUn%=Uu zGx401!78cfsLd;@7kea5^vzi<^+s-X(S%F|x5s_L9vW_a7Mmp&-DvdRY|*7&AidU3 zKR>L%diTD0x?vYnc}{0r#OvuT3f&TOA(L!w`oS- zx3m}e-xifF)iQi2J?}z<((1^z37)qq6R$0D3H@;DMugzrDPjvB?24UtYFpfyCpV|P zE_=T)B-tsBZ*{gHLkSRv#*>cB~DRoAq{?=$H8aQO3W#3clVp zcWBJlt4{f^|Kh-Z^~rte(>%;NT9Qo@-XtrR{nyWpHWQk%cf$6w5+Q#b_0vCn`?2$k z?*HdGZjF6Lo%`=kwTI%_fY^qt%u!I3UyxcKs#RmcZl9q+S`p9b-1`i2(h_=X#pgd1$xU}Uu2Xlp=0882U;fsuj9gQr^1(#-UN z@sp=s`ls}DKlp4stM7H)TgSuaoX6GEtdfhTM+U8#K6|wcPFK~LnVlz99a>L< z3oAw@5oX-wEzn0mAi(g}5kw=EzA$ar%U_UU5LnWv4kY2)kV@kKZ~F@?|@7+%>+tO+$Mv{Q3wE;Y{5vH$)HjdW;XV66=wR9#uk#z shL*C(R)DHc^wf#4Vj&Bu&Ieh6NUH(ftZX3D*n!XzSUKbYD+dM!00X3<761SM literal 0 HcmV?d00001 diff --git a/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/c/0.1/c-0.1.pom b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/c/0.1/c-0.1.pom new file mode 100644 index 0000000000..0252e6ad56 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/c/0.1/c-0.1.pom @@ -0,0 +1,44 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng4768 + c + 0.1 + jar + + + + maven-core-it + file:///${basedir}/repo + + + + + + org.apache.maven.its.mng4768 + a + [2.0,3) + + + diff --git a/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/d/0.1/d-0.1.jar b/its/core-it-suite/src/test/resources/mng-4768/repo/org/apache/maven/its/mng4768/d/0.1/d-0.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..ad91c0e3de1769053822bcef20ad5dc82a35ce71 GIT binary patch literal 1977 zcmWIWW@h1H0D-*8g0^4=l;8x?zOEsTx}JV+`Tw#DVS(&e+ zpQoE^aEP9-+h^Z1r+vJ2^)B*y>uQ}lbAEG>!4=~NPm6TC&YjTl)^*}wf3hTOikS8R zm5QBnx`TwhgMv%uYONKK;TD=~93)yJd^+eeP{zx+*z3R}zm=7dojYd+Y!r!IKP6`Z z>#{1gk8W*yV)n!^z+8su0e)nc`UH~+Q)&tB;d z^$(h4!xn72oYbCJ9GjBcEcse!f#3D7D{k~GzBbLqbDcEL@Ar%UOx&Se7NOUu@#*77 z+fxsJ7DpZs);hb?V)mRLmpK=Bq#kpvGus(^b}#?r&nHS_)N3ABt}8wpEFxuWAaq77 zF>K?Me?mJAd4oBMBfEPfnVQQtr_`~OxUdE-c+!{dp|d?;FbSFS=Alq zmh7J`Q=66Ty^UFs_lgw%iH7rrFb2y0&b7X0>O=iOR<#p`W>X4&lwJ0+Jh z8efxdSZjFoxI)IPW9hnq@vCek*tpkuo^~yIDi}GtUYqNRl*qp|JC%H|TPKJXdfuER zA-0Bb^{TB)O=s^i?-CLFx$*UjgYPzKvd?5oGI?jw*pl?*M9MUWIX(|Q>vT>|-q9T% zKW)4Aj@ftboDp07L#y#AZ;X!k^p9F`dM`}cZ$7$Ly6;%`>0}3?&RY+Pm+I6$IwV(e#T-Q|@dzy*T#yRiAyY zE8@P(X{pK^m`qMUU+Jq0^uFtv{-n9CD zBP$nk^-X2=ddK#I_A^UtHacx`Tq5(eVPk*qjlcW17>Smi>eR5SASxMO}Y}sIBwB5)kxS))eFVMiqz~sSGEoez*dcpX~ zQ!o8f`nn%{HlEe@y6&yx;d9R8>Sdef}ld2A_n&5(p zkx7IZcUcSc5fBJ4ymbW8NF^^!8}_mnq!m#Kf%`RAxc|Nb@@&6HPOL5)`+|pfVH!Kqgx-l4dffM1`4+y-bCfzNE2*WV4|q qEV31#suMkRBCMFpLaOsYRv^-9fHx}}$TW5!v; + + + + + 4.0.0 + + org.apache.maven.its.mng4768 + d + 0.1 + jar + + + + maven-core-it + file:///${basedir}/repo + + + + + + org.apache.maven.its.mng4768 + a + 2.0 + + + diff --git a/its/core-it-suite/src/test/resources/mng-4768/settings-template.xml b/its/core-it-suite/src/test/resources/mng-4768/settings-template.xml new file mode 100644 index 0000000000..f22a7f3570 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4768/settings-template.xml @@ -0,0 +1,43 @@ + + + + + + + + maven-core-it-repo + + + maven-core-it + @baseurl@/../repo + + ignore + + + false + + + + + + + maven-core-it-repo + + diff --git a/its/core-it-suite/src/test/resources/mng-4768/test-abd/pom.xml b/its/core-it-suite/src/test/resources/mng-4768/test-abd/pom.xml new file mode 100644 index 0000000000..5ec366dc60 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4768/test-abd/pom.xml @@ -0,0 +1,77 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng4768 + abd + 0.1 + pom + + Maven Integration Test :: MNG-4768 :: ABD + + Verify that conflict resolution picks the nearest version that matches all hard constraints given by ranges. + And for conflicting dependencies on distinct tree levels, "nearest" shouldn't be subject to the dependency + order. + + + + + org.apache.maven.its.mng4768 + a + 1.0 + + + org.apache.maven.its.mng4768 + b + 0.1 + + + org.apache.maven.its.mng4768 + d + 0.1 + + + + + + + org.apache.maven.its.plugins + maven-it-plugin-dependency-resolution + 2.1-SNAPSHOT + + target/classpath.txt + 1 + + + + resolve + validate + + compile + + + + + + + diff --git a/its/core-it-suite/src/test/resources/mng-4768/test-adb/pom.xml b/its/core-it-suite/src/test/resources/mng-4768/test-adb/pom.xml new file mode 100644 index 0000000000..7b63ce0c26 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4768/test-adb/pom.xml @@ -0,0 +1,77 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng4768 + adb + 0.1 + pom + + Maven Integration Test :: MNG-4768 :: ADB + + Verify that conflict resolution picks the nearest version that matches all hard constraints given by ranges. + And for conflicting dependencies on distinct tree levels, "nearest" shouldn't be subject to the dependency + order. + + + + + org.apache.maven.its.mng4768 + a + 1.0 + + + org.apache.maven.its.mng4768 + d + 0.1 + + + org.apache.maven.its.mng4768 + b + 0.1 + + + + + + + org.apache.maven.its.plugins + maven-it-plugin-dependency-resolution + 2.1-SNAPSHOT + + target/classpath.txt + 1 + + + + resolve + validate + + compile + + + + + + + diff --git a/its/core-it-suite/src/test/resources/mng-4768/test-bad/pom.xml b/its/core-it-suite/src/test/resources/mng-4768/test-bad/pom.xml new file mode 100644 index 0000000000..dd7f96cac2 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4768/test-bad/pom.xml @@ -0,0 +1,77 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng4768 + bad + 0.1 + pom + + Maven Integration Test :: MNG-4768 :: BAD + + Verify that conflict resolution picks the nearest version that matches all hard constraints given by ranges. + And for conflicting dependencies on distinct tree levels, "nearest" shouldn't be subject to the dependency + order. + + + + + org.apache.maven.its.mng4768 + b + 0.1 + + + org.apache.maven.its.mng4768 + a + 1.0 + + + org.apache.maven.its.mng4768 + d + 0.1 + + + + + + + org.apache.maven.its.plugins + maven-it-plugin-dependency-resolution + 2.1-SNAPSHOT + + target/classpath.txt + 1 + + + + resolve + validate + + compile + + + + + + + diff --git a/its/core-it-suite/src/test/resources/mng-4768/test-bda/pom.xml b/its/core-it-suite/src/test/resources/mng-4768/test-bda/pom.xml new file mode 100644 index 0000000000..a925c20b4c --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4768/test-bda/pom.xml @@ -0,0 +1,77 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng4768 + bda + 0.1 + pom + + Maven Integration Test :: MNG-4768 :: BDA + + Verify that conflict resolution picks the nearest version that matches all hard constraints given by ranges. + And for conflicting dependencies on distinct tree levels, "nearest" shouldn't be subject to the dependency + order. + + + + + org.apache.maven.its.mng4768 + b + 0.1 + + + org.apache.maven.its.mng4768 + d + 0.1 + + + org.apache.maven.its.mng4768 + a + 1.0 + + + + + + + org.apache.maven.its.plugins + maven-it-plugin-dependency-resolution + 2.1-SNAPSHOT + + target/classpath.txt + 1 + + + + resolve + validate + + compile + + + + + + + diff --git a/its/core-it-suite/src/test/resources/mng-4768/test-dab/pom.xml b/its/core-it-suite/src/test/resources/mng-4768/test-dab/pom.xml new file mode 100644 index 0000000000..de6683a117 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4768/test-dab/pom.xml @@ -0,0 +1,77 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng4768 + dab + 0.1 + pom + + Maven Integration Test :: MNG-4768 :: DAB + + Verify that conflict resolution picks the nearest version that matches all hard constraints given by ranges. + And for conflicting dependencies on distinct tree levels, "nearest" shouldn't be subject to the dependency + order. + + + + + org.apache.maven.its.mng4768 + d + 0.1 + + + org.apache.maven.its.mng4768 + a + 1.0 + + + org.apache.maven.its.mng4768 + b + 0.1 + + + + + + + org.apache.maven.its.plugins + maven-it-plugin-dependency-resolution + 2.1-SNAPSHOT + + target/classpath.txt + 1 + + + + resolve + validate + + compile + + + + + + + diff --git a/its/core-it-suite/src/test/resources/mng-4768/test-dba/pom.xml b/its/core-it-suite/src/test/resources/mng-4768/test-dba/pom.xml new file mode 100644 index 0000000000..38e2f37fa2 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-4768/test-dba/pom.xml @@ -0,0 +1,77 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng4768 + dba + 0.1 + pom + + Maven Integration Test :: MNG-4768 :: DBA + + Verify that conflict resolution picks the nearest version that matches all hard constraints given by ranges. + And for conflicting dependencies on distinct tree levels, "nearest" shouldn't be subject to the dependency + order. + + + + + org.apache.maven.its.mng4768 + d + 0.1 + + + org.apache.maven.its.mng4768 + b + 0.1 + + + org.apache.maven.its.mng4768 + a + 1.0 + + + + + + + org.apache.maven.its.plugins + maven-it-plugin-dependency-resolution + 2.1-SNAPSHOT + + target/classpath.txt + 1 + + + + resolve + validate + + compile + + + + + + +