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 java.io.File;
23 import java.util.Map;
24
25 import org.apache.maven.embedder.MavenEmbedder;
26 import org.apache.maven.embedder.MavenEmbedderConsoleLogger;
27 import org.apache.maven.project.MavenProject;
28 import org.codehaus.plexus.PlexusTestCase;
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 )
89 .endsWith( "/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 ), "gr.spinellis.umlgraph.doclet.UmlGraphDoc" );
114
115 assertNotNull( AntBuildWriterUtil.getMavenJavadocPluginOptions( project, "links", null ) );
116 assertEquals( AntBuildWriterUtil.getMavenJavadocPluginOptions( project, "links", null ).length, 2 );
117
118 assertNotNull( AntBuildWriterUtil.getMavenJavadocPluginOptions( project, "docletArtifacts", null ) );
119 assertEquals( AntBuildWriterUtil.getMavenJavadocPluginOptions( project, "docletArtifacts", null ).length, 2 );
120
121 Map[] options = AntBuildWriterUtil.getMavenJavadocPluginOptions( project, "tags", null );
122 assertNotNull( options );
123 assertEquals( options.length, 1 );
124 assertEquals( 1, options[0].size() );
125 Map properties = (Map) options[0].get( "tag" );
126 assertNotNull( properties );
127 assertEquals( "requirement", properties.get( "name" ) );
128 assertEquals( "a", properties.get( "placement" ) );
129 assertEquals( "Software Requirement:", properties.get( "head" ) );
130
131 maven.stop();
132 }
133
134
135
136
137
138
139 public static void testGetSingularForm()
140 throws Exception
141 {
142 assertEquals( "property", AntBuildWriterUtil.getSingularForm( "properties" ) );
143 assertEquals( "branch", AntBuildWriterUtil.getSingularForm( "branches" ) );
144 assertEquals( "report", AntBuildWriterUtil.getSingularForm( "reports" ) );
145 assertEquals( "", AntBuildWriterUtil.getSingularForm( "singular" ) );
146 assertEquals( "", AntBuildWriterUtil.getSingularForm( null ) );
147 }
148
149
150
151
152
153
154 public static void testToRelative()
155 throws Exception
156 {
157 assertEquals( "relative", AntBuildWriterUtil.toRelative( new File( "/home" ), "relative" ) );
158 assertEquals( "dir", AntBuildWriterUtil.toRelative( new File( "home" ),
159 new File( "home/dir" ).getAbsolutePath() ) );
160 assertEquals( "dir", AntBuildWriterUtil.toRelative( new File( "/home" ),
161 new File( "/home/dir" ).getAbsolutePath() ) );
162 assertEquals( "dir/", AntBuildWriterUtil.toRelative( new File( "/home" ),
163 new File( "/home/dir" ).getAbsolutePath() + "/" ) );
164 assertEquals( "dir/sub", AntBuildWriterUtil.toRelative( new File( "/home" ),
165 new File( "/home/dir/sub" ).getAbsolutePath() ) );
166 assertEquals( ".", AntBuildWriterUtil.toRelative( new File( "/home" ), new File( "/home" ).getAbsolutePath() ) );
167 assertEquals( "./", AntBuildWriterUtil.toRelative( new File( "/home" ), new File( "/home" ).getAbsolutePath()
168 + "/" ) );
169 }
170
171 }