1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugin.eclipse;
20
21 import java.io.File;
22 import java.io.FileInputStream;
23 import java.io.InputStream;
24 import java.util.ArrayList;
25 import java.util.List;
26 import java.util.Properties;
27
28 import org.codehaus.plexus.util.IOUtil;
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 public class EclipsePluginMasterProjectTest
68 extends AbstractEclipsePluginTestCase
69 {
70
71 protected File basedir;
72
73
74
75
76 protected void setUp()
77 throws Exception
78 {
79 basedir = getTestFile( "target/test-classes/projects/master-test" );
80 super.setUp();
81 }
82
83 protected void executeMaven2()
84 throws Exception
85 {
86 File pom = new File( basedir, "pom.xml" );
87
88 Properties properties = new Properties();
89 properties.setProperty( "wtpversion", "R7" );
90
91 String pluginSpec = getPluginCLISpecification();
92
93 List goals = new ArrayList();
94
95 goals.add( pluginSpec + "clean" );
96 goals.add( pluginSpec + "eclipse" );
97
98 executeMaven( pom, properties, goals );
99
100 }
101
102 public void testModule1Project()
103 throws Exception
104 {
105 executeMaven2();
106 assertFileEquals( null, new File( basedir, "module-1/expected/.project" ),
107 new File( basedir, "module-1/.project" ) );
108 }
109
110 public void testModule1Classpath()
111 throws Exception
112 {
113 executeMaven2();
114 InputStream fis = new FileInputStream( new File( basedir, "module-1/.classpath" ) );
115 String classpath = IOUtil.toString( fis );
116 IOUtil.close( fis );
117
118
119 assertContains( "Invalid classpath", classpath, "/refproject-compile" );
120 assertContains( "Invalid classpath", classpath, "refproject-sysdep" );
121 assertContains( "Invalid classpath", classpath, "/refproject-test" );
122 assertContains( "Invalid classpath", classpath, "/refproject-optional" );
123 assertContains( "Invalid classpath", classpath, "/refproject-provided" );
124
125
126 assertContains( "Invalid classpath", classpath, "/deps-refproject-compile" );
127 assertDoesNotContain( "Invalid classpath", classpath, "/deps-refproject-test" );
128 assertDoesNotContain( "Invalid classpath", classpath, "/deps-refproject-optional" );
129 assertDoesNotContain( "Invalid classpath", classpath, "/deps-refproject-provided" );
130
131 }
132
133 public void testModule1Wtpmodules()
134 throws Exception
135 {
136 executeMaven2();
137 assertFileEquals( null, new File( basedir, "module-1/expected/.wtpmodules" ),
138 new File( basedir, "module-1/.wtpmodules" ) );
139 }
140
141 public void testModule2Project()
142 throws Exception
143 {
144 executeMaven2();
145 assertFileEquals( null, new File( basedir, "module-2/expected/.project" ),
146 new File( basedir, "module-2/.project" ) );
147 }
148
149 public void testModule2Classpath()
150 throws Exception
151 {
152 executeMaven2();
153 InputStream fis = new FileInputStream( new File( basedir, "module-2/.classpath" ) );
154 String classpath = IOUtil.toString( fis );
155 IOUtil.close( fis );
156
157
158 assertContains( "Invalid classpath", classpath, "/direct-compile" );
159 assertContains( "Invalid classpath", classpath, "/direct-test" );
160 assertContains( "Invalid classpath", classpath, "direct-sysdep" );
161 assertContains( "Invalid classpath", classpath, "/direct-optional" );
162 assertContains( "Invalid classpath", classpath, "/direct-provided" );
163
164
165 assertContains( "Invalid classpath", classpath, "/module-1" );
166
167
168 assertDoesNotContain( "Invalid classpath", classpath, "/refproject-test" );
169 assertDoesNotContain( "Invalid classpath", classpath, "/refproject-optional" );
170 assertDoesNotContain( "Invalid classpath", classpath, "/refproject-provided" );
171
172
173 assertContains( "Invalid classpath", classpath, "/deps-direct-compile" );
174 assertDoesNotContain( "Invalid classpath", classpath, "/deps-direct-test" );
175 assertDoesNotContain( "Invalid classpath", classpath, "/deps-direct-optional" );
176
177 assertDoesNotContain( "Invalid classpath", classpath, "/deps-direct-provided" );
178
179
180 assertContains( "Invalid classpath", classpath, "/deps-refproject-compile" );
181 assertDoesNotContain( "Invalid classpath", classpath, "/deps-refproject-test" );
182 assertDoesNotContain( "Invalid classpath", classpath, "/deps-refproject-optional" );
183 assertDoesNotContain( "Invalid classpath", classpath, "/deps-refproject-provided" );
184 }
185
186 public void testModule2Wtpmodules()
187 throws Exception
188 {
189 executeMaven2();
190 InputStream fis = new FileInputStream( new File( basedir, "module-2/.wtpmodules" ) );
191 String wtpmodules = IOUtil.toString( fis );
192 IOUtil.close( fis );
193
194
195 assertContains( "Invalid wtpmodules", wtpmodules, "/direct-compile" );
196 assertDoesNotContain( "Invalid wtpmodules", wtpmodules, "/direct-test" );
197 assertContains( "Invalid wtpmodules", wtpmodules, "/direct-sysdep" );
198 assertContains( "Invalid wtpmodules", wtpmodules, "/direct-optional" );
199 assertDoesNotContain( "Invalid wtpmodules", wtpmodules, "/direct-provided" );
200
201
202 assertContains( "Invalid wtpmodules", wtpmodules, "/module-1" );
203 assertContains( "Invalid wtpmodules", wtpmodules, "/refproject-compile" );
204 assertContains( "Invalid wtpmodules", wtpmodules, "refproject-sysdep" );
205 assertDoesNotContain( "Invalid wtpmodules", wtpmodules, "/refproject-test" );
206 assertDoesNotContain( "Invalid wtpmodules", wtpmodules, "/refproject-optional" );
207 assertDoesNotContain( "Invalid wtpmodules", wtpmodules, "/refproject-provided" );
208
209
210 assertContains( "Invalid wtpmodules", wtpmodules, "/deps-direct-compile" );
211 assertDoesNotContain( "Invalid wtpmodules", wtpmodules, "/deps-direct-test" );
212 assertDoesNotContain( "Invalid wtpmodules", wtpmodules, "/deps-direct-optional" );
213 assertDoesNotContain( "Invalid wtpmodules", wtpmodules, "/deps-direct-provided" );
214
215
216 assertContains( "Invalid wtpmodules", wtpmodules, "/deps-refproject-compile" );
217 assertDoesNotContain( "Invalid wtpmodules", wtpmodules, "/deps-refproject-test" );
218 assertDoesNotContain( "Invalid wtpmodules", wtpmodules, "/deps-refproject-optional" );
219 assertDoesNotContain( "Invalid wtpmodules", wtpmodules, "/deps-refproject-provided" );
220 }
221
222 }