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.ArrayList;
26 import java.util.Arrays;
27 import java.util.Collections;
28 import java.util.List;
29 import java.util.Properties;
30
31
32
33
34
35
36 public class MavenITmng3732ActiveProfilesTest
37 extends AbstractMavenIntegrationTestCase
38 {
39
40 public MavenITmng3732ActiveProfilesTest()
41 {
42 super( "[2.0,)" );
43 }
44
45
46
47
48
49
50 public void testitMNG3732()
51 throws Exception
52 {
53 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3732" );
54
55 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
56 verifier.setAutoclean( false );
57 verifier.deleteDirectory( "target" );
58 verifier.addCliOption( "--settings" );
59 verifier.addCliOption( "settings.xml" );
60 if ( matchesVersionRange( "[4.0.0-alpha-1,)" ) )
61 {
62 verifier.addCliOption( "-Ppom,settings" );
63 }
64 else
65 {
66 verifier.addCliOption( "-Ppom,profiles,settings" );
67 }
68 verifier.executeGoal( "validate" );
69 verifier.verifyErrorFreeLog();
70 verifier.resetStreams();
71
72 Properties props = verifier.loadProperties( "target/profile.properties" );
73 List<String> ids = new ArrayList<>();
74
75
76 if ( matchesVersionRange( "[2.0,3.0-alpha-1)" ) )
77 {
78 ids.add( props.getProperty( "project.activeProfiles.0.id", "" ) );
79 ids.add( props.getProperty( "project.activeProfiles.1.id", "" ) );
80 ids.add( props.getProperty( "project.activeProfiles.2.id", "" ) );
81 ids.add( props.getProperty( "project.activeProfiles.3.id", "" ) );
82 ids.remove( "it-defaults" );
83 Collections.sort( ids );
84
85 assertEquals( Arrays.asList( new String[]{ "pom", "profiles", "settings" } ), ids );
86 assertEquals( "4", props.getProperty( "project.activeProfiles" ) );
87
88 assertEquals( "PASSED-1", props.getProperty( "project.properties.pomProperty" ) );
89 assertEquals( "PASSED-2", props.getProperty( "project.properties.settingsProperty" ) );
90 assertEquals( "PASSED-3", props.getProperty( "project.properties.profilesProperty" ) );
91 }
92 else
93 {
94 ids.add( props.getProperty( "project.activeProfiles.0.id", "" ) );
95 ids.add( props.getProperty( "project.activeProfiles.1.id", "" ) );
96 ids.add( props.getProperty( "project.activeProfiles.2.id", "" ) );
97 ids.remove( "it-defaults" );
98 Collections.sort( ids );
99
100 assertEquals( Arrays.asList( new String[]{ "pom", "settings" } ), ids );
101 assertEquals( "3", props.getProperty( "project.activeProfiles" ) );
102
103 assertEquals( "PASSED-1", props.getProperty( "project.properties.pomProperty" ) );
104 assertEquals( "PASSED-2", props.getProperty( "project.properties.settingsProperty" ) );
105 }
106 }
107
108 }