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