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
26
27
28
29
30
31 public class MavenITmng4960MakeLikeReactorResumeTest
32 extends AbstractMavenIntegrationTestCase
33 {
34
35 public MavenITmng4960MakeLikeReactorResumeTest()
36 {
37 super( "[2.1.0,3.0-alpha-1),[3.0.2,)" );
38 }
39
40
41
42
43
44
45
46 public void testitFromUpstream()
47 throws Exception
48 {
49 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4960" );
50
51 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
52 verifier.setAutoclean( false );
53 verifier.deleteDirectory( "target" );
54 verifier.deleteDirectory( "mod-a/target" );
55 verifier.deleteDirectory( "mod-b/target" );
56 verifier.addCliOption( "--projects" );
57 verifier.addCliOption( "mod-b" );
58 verifier.addCliOption( "--also-make" );
59 verifier.addCliOption( "--resume-from" );
60 verifier.addCliOption( "mod-a" );
61 verifier.setLogFileName( "log-up.txt" );
62 verifier.executeGoal( "validate" );
63 verifier.verifyErrorFreeLog();
64 verifier.resetStreams();
65
66 verifier.assertFilePresent( "mod-a/target/touch.txt" );
67 verifier.assertFilePresent( "mod-b/target/touch.txt" );
68 verifier.assertFileNotPresent( "target/touch.txt" );
69 }
70
71
72
73
74
75
76
77 public void testitFromDownstream()
78 throws Exception
79 {
80 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4960" );
81
82 Verifier verifier = newVerifier( testDir.getAbsolutePath() );
83 verifier.setAutoclean( false );
84 verifier.deleteDirectory( "target" );
85 verifier.deleteDirectory( "mod-a/target" );
86 verifier.deleteDirectory( "mod-b/target" );
87 verifier.addCliOption( "--projects" );
88 verifier.addCliOption( "mod-a" );
89 verifier.addCliOption( "--also-make-dependents" );
90 verifier.addCliOption( "--resume-from" );
91 verifier.addCliOption( "mod-b" );
92 verifier.setLogFileName( "log-down.txt" );
93 verifier.executeGoal( "validate" );
94 verifier.verifyErrorFreeLog();
95 verifier.resetStreams();
96
97 verifier.assertFileNotPresent( "mod-a/target/touch.txt" );
98 verifier.assertFilePresent( "mod-b/target/touch.txt" );
99 verifier.assertFileNotPresent( "target/touch.txt" );
100 }
101
102 }