1 package org.apache.maven.plugin.ant;
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.embedder.MavenEmbedder;
23 import org.apache.maven.embedder.MavenEmbedderConsoleLogger;
24 import org.apache.maven.project.MavenProject;
25 import org.codehaus.plexus.PlexusTestCase;
26
27 import java.io.File;
28 import java.util.Map;
29
30
31
32
33
34
35
36 public class AntBuildWriterUtilTest
37 extends PlexusTestCase
38 {
39
40
41
42
43
44 public void testGetMavenCompilerPluginConfiguration()
45 throws Exception
46 {
47 File testPom = new File( getBasedir(), "src/test/resources/unit/ant-compiler-config-test/pom.xml" );
48
49 MavenEmbedder maven = new MavenEmbedder();
50 maven.setClassLoader( Thread.currentThread().getContextClassLoader() );
51 maven.setLogger( new MavenEmbedderConsoleLogger() );
52 maven.setLocalRepositoryDirectory( getTestFile( "target/local-repo" ) );
53 maven.setOffline( true );
54 maven.start();
55
56 MavenProject project = maven.readProject( testPom );
57
58 assertEquals( AntBuildWriterUtil.getMavenCompilerPluginBasicOption( project, "debug", null ), "true" );
59
60 assertNotNull( AntBuildWriterUtil.getMavenCompilerPluginOptions( project, "includes", null ) );
61 assertEquals( AntBuildWriterUtil.getMavenCompilerPluginOptions( project, "includes", null ).length, 2 );
62 assertNotNull( AntBuildWriterUtil.getMavenCompilerPluginOptions( project, "excludes", null ) );
63 assertEquals( AntBuildWriterUtil.getMavenCompilerPluginOptions( project, "excludes", null ).length, 1 );
64
65 maven.stop();
66 }
67
68
69
70
71
72
73 public void testGetMavenWarPluginConfiguration()
74 throws Exception
75 {
76 File testPom = new File( getBasedir(), "src/test/resources/unit/ant-war-config-test/pom.xml" );
77
78 MavenEmbedder maven = new MavenEmbedder();
79 maven.setClassLoader( Thread.currentThread().getContextClassLoader() );
80 maven.setLogger( new MavenEmbedderConsoleLogger() );
81 maven.setLocalRepositoryDirectory( getTestFile( "target/local-repo" ) );
82 maven.setOffline( true );
83 maven.start();
84
85 MavenProject project = maven.readProject( testPom );
86
87 assertEquals( AntBuildWriterUtil.getMavenWarPluginBasicOption( project, "warName", null ), "mywebapp" );
88 assertTrue( AntBuildWriterUtil.getMavenWarPluginBasicOption( project, "webXml", null ).endsWith(
89 "/src/main/webapp/WEB-INF/web.xml" ) );
90
91 maven.stop();
92 }
93
94
95
96
97
98
99 public void testGetMavenJavadocPluginConfiguration()
100 throws Exception
101 {
102 File testPom = new File( getBasedir(), "src/test/resources/unit/ant-javadoc-test/pom.xml" );
103
104 MavenEmbedder maven = new MavenEmbedder();
105 maven.setClassLoader( Thread.currentThread().getContextClassLoader() );
106 maven.setLogger( new MavenEmbedderConsoleLogger() );
107 maven.setLocalRepositoryDirectory( getTestFile( "target/local-repo" ) );
108 maven.setOffline( true );
109 maven.start();
110
111 MavenProject project = maven.readProject( testPom );
112
113 assertEquals( AntBuildWriterUtil.getMavenJavadocPluginBasicOption( project, "doclet", null ),
114 "gr.spinellis.umlgraph.doclet.UmlGraphDoc" );
115
116 assertNotNull( AntBuildWriterUtil.getMavenJavadocPluginOptions( project, "links", null ) );
117 assertEquals( AntBuildWriterUtil.getMavenJavadocPluginOptions( project, "links", null ).length, 2 );
118
119 assertNotNull( AntBuildWriterUtil.getMavenJavadocPluginOptions( project, "docletArtifacts", null ) );
120 assertEquals( AntBuildWriterUtil.getMavenJavadocPluginOptions( project, "docletArtifacts", null ).length, 2 );
121
122 Map[] options = AntBuildWriterUtil.getMavenJavadocPluginOptions( project, "tags", null );
123 assertNotNull( options );
124 assertEquals( options.length, 1 );
125 assertEquals( 1, options[0].size() );
126 Map properties = (Map) options[0].get( "tag" );
127 assertNotNull( properties );
128 assertEquals( "requirement", properties.get( "name" ) );
129 assertEquals( "a", properties.get( "placement" ) );
130 assertEquals( "Software Requirement:", properties.get( "head" ) );
131
132 maven.stop();
133 }
134
135
136
137
138
139
140 public static void testGetSingularForm()
141 throws Exception
142 {
143 assertEquals( "property", AntBuildWriterUtil.getSingularForm( "properties" ) );
144 assertEquals( "branch", AntBuildWriterUtil.getSingularForm( "branches" ) );
145 assertEquals( "report", AntBuildWriterUtil.getSingularForm( "reports" ) );
146 assertEquals( "", AntBuildWriterUtil.getSingularForm( "singular" ) );
147 assertEquals( "", AntBuildWriterUtil.getSingularForm( null ) );
148 }
149
150
151
152
153
154
155 public static void testToRelative()
156 throws Exception
157 {
158 assertEquals( "relative", AntBuildWriterUtil.toRelative( new File( "/home" ), "relative" ) );
159 assertEquals( "dir",
160 AntBuildWriterUtil.toRelative( new File( "home" ), new File( "home/dir" ).getAbsolutePath() ) );
161 assertEquals( "dir",
162 AntBuildWriterUtil.toRelative( new File( "/home" ), new File( "/home/dir" ).getAbsolutePath() ) );
163 assertEquals( "dir/", AntBuildWriterUtil.toRelative( new File( "/home" ),
164 new File( "/home/dir" ).getAbsolutePath() + "/" ) );
165 assertEquals( "dir/sub", AntBuildWriterUtil.toRelative( new File( "/home" ),
166 new File( "/home/dir/sub" ).getAbsolutePath() ) );
167 assertEquals( ".",
168 AntBuildWriterUtil.toRelative( new File( "/home" ), new File( "/home" ).getAbsolutePath() ) );
169 assertEquals( "./", AntBuildWriterUtil.toRelative( new File( "/home" ),
170 new File( "/home" ).getAbsolutePath() + "/" ) );
171 }
172
173 }