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 MavenITmng4840MavenPrerequisiteTest
32 extends AbstractMavenIntegrationTestCase
33 {
34
35 public MavenITmng4840MavenPrerequisiteTest()
36 {
37 super( "[2.1.0,3.0-alpha-1),[3.0.2,)" );
38 }
39
40
41
42
43
44
45 public void testitMojoExecution()
46 throws Exception
47 {
48 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4840" );
49
50 Verifier verifier = newVerifier( new File( testDir, "test-1" ).getAbsolutePath() );
51 verifier.setAutoclean( false );
52 verifier.deleteDirectory( "target" );
53 verifier.deleteArtifacts( "org.apache.maven.its.mng4840" );
54 verifier.addCliOption( "-s" );
55 verifier.addCliOption( "settings.xml" );
56 verifier.filterFile( "../settings-template.xml", "settings.xml", "UTF-8", verifier.newDefaultFilterProperties() );
57 try
58 {
59 verifier.executeGoal( "validate" );
60 verifier.verifyErrorFreeLog();
61 fail( "Build did not fail despite unsatisfied prerequisite of plugin on Maven version." );
62 }
63 catch ( Exception e )
64 {
65
66 }
67 finally
68 {
69 verifier.resetStreams();
70 }
71 }
72
73
74
75
76
77
78
79 public void testitPluginVersionResolution()
80 throws Exception
81 {
82 File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4840" );
83
84 Verifier verifier = newVerifier( new File( testDir, "test-2" ).getAbsolutePath() );
85 verifier.setAutoclean( false );
86 verifier.deleteDirectory( "target" );
87 verifier.deleteArtifacts( "org.apache.maven.its.mng4840" );
88 verifier.addCliOption( "-s" );
89 verifier.addCliOption( "settings.xml" );
90 verifier.filterFile( "../settings-template.xml", "settings.xml", "UTF-8", verifier.newDefaultFilterProperties() );
91 verifier.executeGoal( "org.apache.maven.its.mng4840:maven-mng4840-plugin:touch" );
92 verifier.verifyErrorFreeLog();
93 verifier.resetStreams();
94
95 verifier.assertFilePresent( "target/touch-1.txt" );
96 verifier.assertFileNotPresent( "target/touch-2.txt" );
97 }
98
99 }