1 package org.apache.maven.it;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.it.Verifier;
23 import org.apache.maven.it.util.ResourceExtractor;
24
25 import java.io.File;
26 import java.util.Properties;
27
28
29
30
31
32
33
34 public class MavenITmng3906MergedPluginClassPathOrderingTest
35 extends AbstractMavenIntegrationTestCase
36 {
37
38 public MavenITmng3906MergedPluginClassPathOrderingTest()
39 {
40 super( "(2.0.10,2.1.0-M1),(2.1.0-M1,)" );
41 }
42
43
44
45
46 public void testitMNG3906()
47 throws Exception
48 {
49 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3906" );
50
51 Verifier verifier = newVerifier( new File( testDir, "sub" ).getAbsolutePath() );
52 verifier.setAutoclean( false );
53 verifier.deleteDirectory( "target" );
54 verifier.deleteArtifacts( "org.apache.maven.its.mng3906" );
55 verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", verifier.newDefaultFilterProperties() );
56 verifier.getCliOptions().add( "--settings" );
57 verifier.getCliOptions().add( "settings.xml" );
58 verifier.executeGoal( "validate" );
59 verifier.verifyErrorFreeLog();
60 verifier.resetStreams();
61
62 Properties pclProps = verifier.loadProperties( "target/pcl.properties" );
63
64 String className = "org.apache.maven.its.mng3906.SomeClass";
65 String resName = className.replace( '.', '/' ) + ".class";
66
67 assertEquals( "5", pclProps.getProperty( resName + ".count" ) );
68
69 assertTrue( pclProps.getProperty( resName + ".0" ),
70 pclProps.getProperty( resName + ".0" ).endsWith( "/c-0.1.jar!/" + resName ) );
71 assertTrue( pclProps.getProperty( resName + ".1" ),
72 pclProps.getProperty( resName + ".1" ).endsWith( "/a-0.2.jar!/" + resName ) );
73 assertTrue( pclProps.getProperty( resName + ".2" ),
74 pclProps.getProperty( resName + ".2" ).endsWith( "/b-0.1.jar!/" + resName ) );
75 assertTrue( pclProps.getProperty( resName + ".3" ),
76 pclProps.getProperty( resName + ".3" ).endsWith( "/e-0.1.jar!/" + resName ) );
77 assertTrue( pclProps.getProperty( resName + ".4" ),
78 pclProps.getProperty( resName + ".4" ).endsWith( "/d-0.1.jar!/" + resName ) );
79 }
80
81 }