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 java.io.File;
23
24 import org.apache.maven.it.Verifier;
25 import org.apache.maven.it.util.ResourceExtractor;
26
27
28
29
30
31
32 public class MavenITmng3545ProfileDeactivationTest
33 extends AbstractMavenIntegrationTestCase
34 {
35
36 public MavenITmng3545ProfileDeactivationTest()
37 {
38 super( "(2.0.9,)" );
39 }
40
41
42
43
44
45 public void testBasicBuildWithDefaultProfiles()
46 throws Exception
47 {
48 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3545" );
49
50 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
51 verifier.setAutoclean( false );
52 verifier.deleteDirectory( "target" );
53 verifier.setLogFileName( "log1.txt" );
54
55 verifier.executeGoal( "validate" );
56
57 verifier.verifyErrorFreeLog();
58
59 verifier.assertFilePresent( "target/profile1/touch.txt" );
60 verifier.assertFilePresent( "target/profile2/touch.txt" );
61 verifier.assertFileNotPresent( "target/profile3/touch.txt" );
62 verifier.assertFileNotPresent( "target/profile4/touch.txt" );
63 verifier.assertFileNotPresent( "target/profile5/touch.txt" );
64 verifier.resetStreams();
65 }
66
67
68
69
70
71 public void testDeactivateDefaultProfilesDash()
72 throws Exception
73 {
74 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3545" );
75
76 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
77 verifier.setAutoclean( false );
78 verifier.deleteDirectory( "target" );
79 verifier.setLogFileName( "log2.txt" );
80
81
82 verifier.getCliOptions().add( "-P-profile1" );
83 verifier.getCliOptions().add( "-P -profile2" );
84
85 verifier.executeGoal( "validate" );
86
87 verifier.verifyErrorFreeLog();
88 verifier.assertFileNotPresent( "target/profile1/touch.txt" );
89 verifier.assertFileNotPresent( "target/profile2/touch.txt" );
90 verifier.resetStreams();
91 }
92
93 public void testDeactivateDefaultProfilesExclamation()
94 throws Exception
95 {
96 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3545" );
97
98 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
99 verifier.setAutoclean( false );
100 verifier.deleteDirectory( "target" );
101 verifier.setLogFileName( "log3.txt" );
102
103
104 verifier.getCliOptions().add( "-P!profile1" );
105 verifier.getCliOptions().add( "-P !profile2" );
106
107 verifier.executeGoal( "validate" );
108
109 verifier.verifyErrorFreeLog();
110 verifier.assertFileNotPresent( "target/profile1/touch.txt" );
111 verifier.assertFileNotPresent( "target/profile2/touch.txt" );
112 verifier.resetStreams();
113 }
114
115
116
117
118
119
120 public void testDeactivateActivatedByProp()
121 throws Exception
122 {
123 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3545" );
124
125 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
126 verifier.setAutoclean( false );
127 verifier.deleteDirectory( "target" );
128 verifier.setLogFileName( "log4.txt" );
129
130
131 verifier.getCliOptions().add( "-Dprofile3-active-by-property=true" );
132 verifier.getCliOptions().add( "-P-profile3" );
133
134 verifier.executeGoal( "validate" );
135
136 verifier.verifyErrorFreeLog();
137 verifier.assertFilePresent( "target/profile1/touch.txt" );
138 verifier.assertFilePresent( "target/profile2/touch.txt" );
139 verifier.assertFileNotPresent( "target/profile3/touch.txt" );
140 verifier.assertFileNotPresent( "target/profile4/touch.txt" );
141 verifier.assertFileNotPresent( "target/profile5/touch.txt" );
142 verifier.resetStreams();
143 }
144
145
146
147
148
149
150 public void testActivateThenDeactivate()
151 throws Exception
152 {
153 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3545" );
154
155 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
156 verifier.setAutoclean( false );
157 verifier.deleteDirectory( "target" );
158 verifier.setLogFileName( "log5.txt" );
159
160
161 verifier.getCliOptions().add( "-Pprofile4" );
162 verifier.getCliOptions().add( "-P-profile4" );
163
164 verifier.executeGoal( "validate" );
165
166 verifier.verifyErrorFreeLog();
167 verifier.assertFilePresent( "target/profile1/touch.txt" );
168 verifier.assertFilePresent( "target/profile2/touch.txt" );
169 verifier.assertFileNotPresent( "target/profile3/touch.txt" );
170 verifier.assertFileNotPresent( "target/profile4/touch.txt" );
171 verifier.assertFileNotPresent( "target/profile5/touch.txt" );
172 verifier.resetStreams();
173 }
174
175
176
177
178
179
180 public void testDefaultProfileAutoDeactivation()
181 throws Exception
182 {
183 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-3545" );
184
185 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
186 verifier.setAutoclean( false );
187 verifier.deleteDirectory( "target" );
188 verifier.setLogFileName( "log6.txt" );
189
190
191 verifier.getCliOptions().add( "-Pprofile4" );
192
193 verifier.executeGoal( "validate" );
194
195 verifier.verifyErrorFreeLog();
196 verifier.assertFileNotPresent( "target/profile1/touch.txt" );
197 verifier.assertFileNotPresent( "target/profile2/touch.txt" );
198 verifier.assertFileNotPresent( "target/profile3/touch.txt" );
199 verifier.assertFilePresent( "target/profile4/touch.txt" );
200 verifier.assertFileNotPresent( "target/profile5/touch.txt" );
201 verifier.resetStreams();
202 }
203
204 }