From afc0f299147ab8155d1156906e781a1a0ca68f78 Mon Sep 17 00:00:00 2001 From: Benjamin Bentmann Date: Sun, 22 Feb 2009 22:24:15 +0000 Subject: [PATCH] [MNG-947] add optional flag for dependencies o Added IT git-svn-id: https://svn.apache.org/repos/asf/maven/core-integration-testing/trunk@746837 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/maven/it/IntegrationTestSuite.java | 1 + .../MavenITmng0947OptionalDependencyTest.java | 70 +++++++++++++++ .../src/test/resources/mng-0947/pom.xml | 82 ++++++++++++++++++ .../apache/maven/its/mng0947/a/0.1/a-0.1.jar | Bin 0 -> 1929 bytes .../apache/maven/its/mng0947/a/0.1/a-0.1.pom | 36 ++++++++ .../maven/its/mng0947/a/maven-metadata.xml | 13 +++ .../apache/maven/its/mng0947/b/0.1/b-0.1.jar | Bin 0 -> 1930 bytes .../apache/maven/its/mng0947/b/0.1/b-0.1.pom | 36 ++++++++ .../maven/its/mng0947/b/maven-metadata.xml | 13 +++ .../apache/maven/its/mng0947/c/0.1/c-0.1.jar | Bin 0 -> 2009 bytes .../apache/maven/its/mng0947/c/0.1/c-0.1.pom | 53 +++++++++++ .../maven/its/mng0947/c/maven-metadata.xml | 13 +++ 12 files changed, 317 insertions(+) create mode 100644 its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0947OptionalDependencyTest.java create mode 100644 its/core-it-suite/src/test/resources/mng-0947/pom.xml create mode 100644 its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/a/0.1/a-0.1.jar create mode 100644 its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/a/0.1/a-0.1.pom create mode 100644 its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/a/maven-metadata.xml create mode 100644 its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/b/0.1/b-0.1.jar create mode 100644 its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/b/0.1/b-0.1.pom create mode 100644 its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/b/maven-metadata.xml create mode 100644 its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/c/0.1/c-0.1.jar create mode 100644 its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/c/0.1/c-0.1.pom create mode 100644 its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/c/maven-metadata.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 d4195b5968..e9a8d41211 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 @@ -281,6 +281,7 @@ public class IntegrationTestSuite suite.addTestSuite( MavenITmng1021EqualAttachmentBuildNumberTest.class ); suite.addTestSuite( MavenITmng0985NonExecutedPluginMngtGoalsTest.class ); suite.addTestSuite( MavenITmng0956ComponentInjectionViaProjectLevelPluginDepTest.class ); + suite.addTestSuite( MavenITmng0947OptionalDependencyTest.class ); suite.addTestSuite( MavenITmng0870ReactorAwarePluginDiscoveryTest.class ); suite.addTestSuite( MavenITmng0866EvaluateDefaultValueTest.class ); suite.addTestSuite( MavenITmng0848SystemPropOverridesDefaultValueTest.class ); diff --git a/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0947OptionalDependencyTest.java b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0947OptionalDependencyTest.java new file mode 100644 index 0000000000..40b072eb69 --- /dev/null +++ b/its/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng0947OptionalDependencyTest.java @@ -0,0 +1,70 @@ +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-947. + * + * @author Benjamin Bentmann + */ +public class MavenITmng0947OptionalDependencyTest + extends AbstractMavenIntegrationTestCase +{ + + public MavenITmng0947OptionalDependencyTest() + { + super( ALL_MAVEN_VERSIONS ); + } + + /** + * Verify that optional dependencies of a project's direct dependencies are excluded from the project class path. + */ + public void testit() + throws Exception + { + File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-0947" ); + + Verifier verifier = new Verifier( testDir.getAbsolutePath() ); + verifier.setAutoclean( false ); + verifier.deleteDirectory( "target" ); + verifier.deleteArtifacts( "org.apache.maven.its.mng0947" ); + verifier.executeGoal( "validate" ); + verifier.verifyErrorFreeLog(); + verifier.resetStreams(); + + List compile = verifier.loadLines( "target/compile.txt", "UTF-8" ); + assertEquals( 0, compile.size() ); + + List runtime = verifier.loadLines( "target/runtime.txt", "UTF-8" ); + assertTrue( runtime.toString(), runtime.contains( "org.apache.maven.its.mng0947:c:jar:0.1" ) ); + assertEquals( 1, runtime.size() ); + + List test = verifier.loadLines( "target/test.txt", "UTF-8" ); + assertTrue( test.toString(), test.contains( "org.apache.maven.its.mng0947:c:jar:0.1" ) ); + assertEquals( 1, test.size() ); + } + +} diff --git a/its/core-it-suite/src/test/resources/mng-0947/pom.xml b/its/core-it-suite/src/test/resources/mng-0947/pom.xml new file mode 100644 index 0000000000..880fac3545 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-0947/pom.xml @@ -0,0 +1,82 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng0947 + consumer + 0.1 + + Maven Integration Test :: MNG-947 + + Verify that optional dependencies of a project's direct dependencies are excluded from the project class path. + + + + + org.apache.maven.its.mng0947 + c + 0.1 + runtime + + + + + + maven-core-it + file:///${basedir}/repo + + ignore + + + false + + + + + + + + org.apache.maven.its.plugins + maven-it-plugin-dependency-resolution + 2.1-SNAPSHOT + + + test + validate + + target/compile.txt + target/runtime.txt + target/test.txt + 1 + + + compile + runtime + test + + + + + + + diff --git a/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/a/0.1/a-0.1.jar b/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/a/0.1/a-0.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..f8a411b7d4c11b402cbe97e80d544b5e54cadf4c GIT binary patch literal 1929 zcmWIWW@h1H00EJmVOC%Ul;8x?zOEsTx}JV+`TuQ}lbAEG>!4=~NPm6TC&YjTl)^*}wf3hTOikS8R zm5QBnx`TwhgMv%uYONKK;TD=~93)yJd^+eeP{zx+*z3R}zjc1=1nRohg?pKuC@{8d zu3#>X(~Hw%fH@1(_58@r%1taw&4c>^Q?U-F;{2j?y~KjV5*tsBHSzv1`c4zvNrPb&SGL4MghPAKA}Y zXuBrpz{`+KbFZmed)uz526={mz1S%HNGvC9_N9zl_4f@Gr{~@h-gN%$ZW-bDJy%3+ z7MnSp{QST~ioL-oymi9U%7X1P+TJ&JANgLRUnknOuUxrk3LEzZt~XMNmp;s~n;CVp zFS})BR_Z}r(`NI@IaN$0F1%ig-fQx1T{I`gbM?_pTT23Se>3WvCiPyL#i8K*X7>4K z-CsUQg)Lh2%4tTfDDV50*x)vU3z~mfw6l(MJMGxGhe`3}qIZrz<{g`qeZ1|MnY8Yy zt*lo)mG+47o{h2)x>>@0B4+bQBB-<(zF zrrpb#buTk0Vw&=OW9!}hzLqDpFuRrX3wvnz^|4Imxunx@ezMM4w}Sb4`_8-OA(qd$DZIA&ogr5i)Pj=Iy)P zeNXgqf?k-Cdeo+z%FY0-Ta_=bEpm+Iew<^%vVMW!5KS$|4_u;qI8C$B3 z+)?xUwIhr*?68$e`b7(=<8S(RuXQb48G3t(tJAqRKC6BjpYpiy?D{5|dW&lD&9Pze zhqj7p&x^MDJVSQwuNNOmCKr}SZGQgOpex|JdYsVFClg=KknLlhvez`^W3PA6(Y^ck zO$@d&@tk%GbDJqD1Sz+S`9WcEyDVrOzz<^I$H2AoJ1W@I5Cx z&MnlIUNvjep?AMr+(V=-RB{!wyuYO!SiWQZ;XB8k=&rZfdsOfL(Y8G|U2U&E?`HI~ z+*5JN{sh~;0B=Sn5oX+FC(uJcAi(g}5kw=Eq%dvR%TkbH5LnWv4kY2)kV;m37K4gC z2mo2U56Fa@04oGx)?+UQ5t?6PY9>%9;x-vnEJ6UtS*DB_&cbUlsE~x2jlGzJnZBg4 xkz})>g(k8UpsEl(aU!h91D4Hbp-RB{AS)0_HNcyd4P+WS5LyDudMj2C4*) + + + + + 4.0.0 + + org.apache.maven.its.mng0947 + a + 0.1 + jar + + + + maven-core-it + file:///${basedir}/repo + + + diff --git a/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/a/maven-metadata.xml b/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/a/maven-metadata.xml new file mode 100644 index 0000000000..4c8e77020b --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/a/maven-metadata.xml @@ -0,0 +1,13 @@ + + + org.apache.maven.its.mng0947 + a + 0.1 + + 0.1 + + 0.1 + + 20090222220838 + + diff --git a/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/b/0.1/b-0.1.jar b/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/b/0.1/b-0.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..f9fe8977c7ca688341c2f74eb9c848bc387dc57e GIT binary patch literal 1930 zcmWIWW@h1H00HTpVOC%Ul;8x?zOEsTx}JV+`TuQ}lbAEG>!4=~NPm6TC&YjTl)^*}wf3hTOikS8R zm5QBnx`TwhgMv%uYONKK;TD=~93)yJd^+eeP{zx+*z3R}zjc1=1nRohg?pKuC@{8d zu3#>X(~Hw%fH@1(_58@r%1taw&4c>^Q?U-F;{2j?y~KjV5*ts65K2f1_@xuF6d`NK9>hBvWPS3q1yy^Vg-7>=Qd#;Gu zEH-mG`T2o~6nleFcsaD zJ(Her$|?K91<4Pp$BzjGFol{=ePFcwR^!!u_6w^eqE;+@I^}G&(1NhznFrQ>W>3h? z{XB8wy4Ongn0u$_-RzUtt*D!Rv(zIY_TSt!7bGtHSS&irBsQt1G1#5Cpm#@4(0eJxLHVRkF&7xvKb>tmVBb4jP+{A8W8ZUyu8_MLezR$#w# z@7yzDFH6}zNAH+(e%&QktN9l*xhCIieqZaG9MUpIlb*YVqOAzQ-=f7+o|;OV4J1wasWvGc)& znSZZZrTuqxTJc@!KN~E+a)3*lr`$8Q7XuS{DG=L`mDmf4@(WUnN-|T6MbB*HI%FWg zaKX0Vf58RYIV%_GmI&$c`Tb&^{;fx{N;5O+!~3g$Kdy=kF%p-&SpVVNY>gSOHfqHk zU0nR))il4i2Os|Ys41-`ox6 zc-MRksJqbolPSQPkx7IZci{>25fBJ4ymbW8NJS}38}`B!q!UJL74T}%Rz+Z*O;0Kl!~}b29=8t0CJWoBZjl^nhYu>VP<15Ct;>9 zX>26fY-p*8Yz3$;L{FUvEAoJaGg_z;a6ZTiL|P5-W@Q7J#twv*z{1{|6~qGovqF*l literal 0 HcmV?d00001 diff --git a/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/b/0.1/b-0.1.pom b/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/b/0.1/b-0.1.pom new file mode 100644 index 0000000000..b537189e08 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/b/0.1/b-0.1.pom @@ -0,0 +1,36 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng0947 + b + 0.1 + jar + + + + maven-core-it + file:///${basedir}/repo + + + diff --git a/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/b/maven-metadata.xml b/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/b/maven-metadata.xml new file mode 100644 index 0000000000..11707941da --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/b/maven-metadata.xml @@ -0,0 +1,13 @@ + + + org.apache.maven.its.mng0947 + b + 0.1 + + 0.1 + + 0.1 + + 20090222220853 + + diff --git a/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/c/0.1/c-0.1.jar b/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/c/0.1/c-0.1.jar new file mode 100644 index 0000000000000000000000000000000000000000..1957dae7851d2e66625de3917f4b645c8979ffcf GIT binary patch literal 2009 zcmWIWW@h1H0DuQ}lbAEG>!4=~NPm6TC&YjTl)^*}wf3hTOikS8R zm5QBnx`TwhgMv%uYONKK;TD=~93)yJd^+eeP{zx+*z3R}zjc1=1nRohg?pKuC@{8d zu3#>X(~Hw%fH@1(_58@r%1taw&4c>^Q?U-F;{2j?y~KjV5*tsGTbZ<1_xlsE>yCP{Ykxq zlH7_ZH#AorIa?}v%PnGx%c|g2c6o0)H?Q5BU3R@x`N)3b*WOtxelc{YXP4zYpEI+t z;8Vbpf_|@J%|7?`dnGIyLNkjd%J#1d`+V~DMb8&j>xB2r@QHceq^@DIEJ0<4?x8g) zoV7_i4NZeNiX%IxNNTaIPy6_X;e-oo(1O<Mw6%8bWb;OS7}HItXpi5d}`Ce zZBP9^=43luYvRbS^xPXZ&Bf+@IJe?+ zFQ1*sPS)Fv6WFwR`=>I>3+eDOss^~uELIab^)}+|YvEn9*R{k*yIowP$XH~|!<_b} zhGE;WDer6dugmT?b+BD&v|s&M{Df)UKWdy3a{o*{5ttqDW9_3Zli2qSQ(IIMvz=ya zmRhr_Oy}%|mDOuK5-0Y?x_^Hx$M-aFnViH$S+)rQJ!(d?jtU%A{$bI*xPs^U#aEX< zWwBo0eERgwB+oM-viFKN2F_=81mo#LjKyBC`` z-gh_E^pV_`*r{mE`KR$}#qP_z%kL#Vxc`3k#P(J9H}+_>ZTDgQxA>;x&Hgr{eFl!J zZv4(JI=Onolv$TM-|Z5wdYpNqVXjKaG2uL>`OEw7c|BctH!sTZ|I_cLi}$mH+t);E zd|11A^_%};Rv+fOUV3yyD3eF&;fmiUoDv=am!lm zUE}>()$4U`&kxE7alN{j1JeCDbPV-zWFO1-?mPMfHyMjIjLA0WQ5Z z@A;}%1k5z0Kx{)+<|!!3FGwva$xJO4J+qPPkbwZhg})E}JzVg6;<1J;7d%5`=6qpa z_fpc>L^Ct$!~3g$Kh9dMrW;hc=%aJ_O;bgae%*_%?wh8)S(xwpUS{q&|4qkAICf7n zeP$w&C+KwYcG2v%7^c%o|JK_47w;>5YRP(er*hL2srW~)`Kwxh1py#-NB2+glC zH4`XgahnV(W+4FNEK^1dXW=y&ROrIY#$N2gOkdL2NV3_`LKxW!P}Pc_I1yItV + + + + + 4.0.0 + + org.apache.maven.its.mng0947 + c + 0.1 + jar + + + + maven-core-it + file:///${basedir}/repo + + + + + + org.apache.maven.its.mng0947 + a + 0.1 + compile + true + + + org.apache.maven.its.mng0947 + b + 0.1 + runtime + true + + + diff --git a/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/c/maven-metadata.xml b/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/c/maven-metadata.xml new file mode 100644 index 0000000000..589fea4329 --- /dev/null +++ b/its/core-it-suite/src/test/resources/mng-0947/repo/org/apache/maven/its/mng0947/c/maven-metadata.xml @@ -0,0 +1,13 @@ + + + org.apache.maven.its.mng0947 + c + 0.1 + + 0.1 + + 0.1 + + 20090222221044 + +