3436e53277fe9db41db9c819dd41d4efe92b2b28
[cdmlib.git] / cdmlib-remote-webapp / pom.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3 <modelVersion>4.0.0</modelVersion>
4 <parent>
5 <artifactId>cdmlib-parent</artifactId>
6 <groupId>eu.etaxonomy</groupId>
7 <version>4.1.1-SNAPSHOT</version>
8 <relativePath>../pom.xml</relativePath>
9 </parent>
10
11 <groupId>eu.etaxonomy</groupId>
12 <artifactId>cdmlib-remote-webapp</artifactId>
13 <name>CDM Remote Webapp</name>
14 <packaging>war</packaging>
15
16 <properties>
17 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
18 </properties>
19
20 <scm>
21 <connection>
22 scm:svn:http://dev.e-taxonomy.eu/svn/trunk/cdmlib/cdmlib-remote/
23 </connection>
24 <developerConnection>
25 scm:svn:https://dev.e-taxonomy.eu/svn/trunk/cdmlib/cdmlib-remote/
26 </developerConnection>
27 <url>
28 http://dev.e-taxonomy.eu/trac/browser/trunk/cdmlib/cdmlib-remote/
29 </url>
30 </scm>
31
32 <profiles>
33 <profile>
34 <id>local-repository</id>
35 <activation>
36 <property>
37 <name>localrepo</name>
38 </property>
39 </activation>
40 <repositories>
41 <repository>
42 <id>EditLocalRepository</id>
43 <url>file://${localrepo}/eu/etaxonomy/</url>
44 <releases>
45 <enabled>false</enabled>
46 <updatePolicy>always</updatePolicy>
47 </releases>
48 <snapshots>
49 <enabled>true</enabled>
50 <updatePolicy>always</updatePolicy>
51 </snapshots>
52 </repository>
53 </repositories>
54 </profile>
55 </profiles>
56
57 <dependencies>
58 <dependency>
59 <groupId>eu.etaxonomy</groupId>
60 <artifactId>cdmlib-remote</artifactId>
61 <exclusions>
62 <!--
63 exclude all jdbc drivers from the war.
64 Jdbc drivers must only be added to {APPLICATION_CONTAINER}/lib
65 see http://dev.e-taxonomy.eu/trac/ticket/4955
66 and http://stackoverflow.com/questions/6981564/why-must-the-jdbc-driver-be-put-in-tomcat-home-lib-folder
67 -->
68 <exclusion>
69 <groupId>net.sourceforge.jtds</groupId>
70 <artifactId>jtds</artifactId>
71 </exclusion>
72 <exclusion>
73 <groupId>mysql</groupId>
74 <artifactId>mysql-connector-java</artifactId>
75 </exclusion>
76 <exclusion>
77 <groupId>org.postgresql</groupId>
78 <artifactId>postgresql</artifactId>
79 </exclusion>
80 <exclusion>
81 <groupId>org.hsqldb</groupId>
82 <artifactId>hsqldb</artifactId>
83 </exclusion>
84 <exclusion>
85 <groupId>com.microsoft.sqlserver</groupId>
86 <artifactId>jdbc4</artifactId>
87 </exclusion>
88 <exclusion>
89 <groupId>oracle</groupId>
90 <artifactId>ojdbc14</artifactId>
91 </exclusion>
92 <exclusion>
93 <groupId>com.h2database</groupId>
94 <artifactId>h2</artifactId>
95 </exclusion>
96 <exclusion>
97 <groupId>com.mchange</groupId>
98 <artifactId>c3p0</artifactId>
99 </exclusion>
100 </exclusions>
101 </dependency>
102 <dependency>
103 <groupId>commons-io</groupId>
104 <artifactId>commons-io</artifactId>
105 </dependency>
106 <dependency>
107 <groupId>eu.etaxonomy</groupId>
108 <artifactId>cdmlib-test</artifactId>
109 <scope>test</scope>
110 </dependency>
111 <dependency>
112 <!-- TODO this is also offered by cdmlib-remote, can it be removed?
113 What does provided mean? -->
114 <groupId>javax.servlet</groupId>
115 <artifactId>javax.servlet-api</artifactId>
116 <scope>provided</scope>
117 </dependency>
118
119 <dependency>
120 <groupId>xmlunit</groupId>
121 <artifactId>xmlunit</artifactId>
122 </dependency>
123 <!-- JsonView -->
124 <!--
125 -->
126 <dependency>
127 <groupId>org.springframework</groupId>
128 <artifactId>spring-oxm</artifactId>
129 </dependency>
130
131 <!-- XmlView
132 -->
133 <dependency>
134 <groupId>com.thoughtworks.xstream</groupId>
135 <artifactId>xstream</artifactId>
136 </dependency>
137 <dependency>
138 <groupId>xpp3</groupId>
139 <artifactId>xpp3</artifactId>
140 </dependency>
141 <dependency>
142 <groupId>stax</groupId>
143 <artifactId>stax</artifactId>
144 </dependency>
145
146 <!-- JSP TAG LIBS -->
147 <dependency>
148 <groupId>taglibs</groupId>
149 <artifactId>standard</artifactId>
150 <version>1.1.2</version>
151 </dependency>
152 <dependency>
153 <groupId>taglibs</groupId>
154 <artifactId>x</artifactId>
155 <version>1.1.2</version>
156 <type>tld</type>
157 </dependency>
158 <!-- swagger -->
159 <dependency>
160 <groupId>io.springfox</groupId>
161 <artifactId>springfox-swagger2</artifactId>
162 <scope>test</scope>
163 </dependency>
164 <!--
165 dependencies for springfox-swagger2, added explicitly to pin the version
166 these dependencies are also required by the cdmlib!
167 -->
168 <dependency>
169 <groupId>com.fasterxml.jackson.core</groupId>
170 <artifactId>jackson-databind</artifactId>
171 </dependency>
172 <dependency>
173 <groupId>com.fasterxml.jackson.core</groupId>
174 <artifactId>jackson-core</artifactId>
175 </dependency>
176 <dependency>
177 <groupId>com.fasterxml.jackson.core</groupId>
178 <artifactId>jackson-annotations</artifactId>
179 </dependency>
180 <!-- END of dependencies for swagger-springmvc, added explicitely -->
181
182 <!-- testing -->
183 <dependency>
184 <groupId>junit</groupId>
185 <artifactId>junit</artifactId>
186 <scope>test</scope>
187 </dependency>
188
189 <!-- Connection Pooling and jdbc -->
190 <dependency>
191 <groupId>org.hibernate</groupId>
192 <artifactId>hibernate-c3p0</artifactId>
193 <scope>test</scope>
194 </dependency>
195 <dependency>
196 <artifactId>c3p0</artifactId>
197 <groupId>com.mchange</groupId>
198 <scope>test</scope>
199 </dependency>
200 <!-- Profiling -->
201 <dependency>
202 <groupId>com.yourkit</groupId>
203 <artifactId>yjp-controller-api-redist</artifactId>
204 <scope>test</scope>
205 </dependency>
206 </dependencies>
207
208 <build>
209 <resources>
210 <resource>
211 <!-- replace the place holders like ${...} in datasources.xml -->
212 <filtering>true</filtering>
213 <directory>src/test/resources</directory>
214 <targetPath>../test-classes</targetPath>
215 <includes>
216 <include>datasources.xml</include>
217 </includes>
218 </resource>
219 <resource>
220 <!-- all other test resources without filtering -->
221 <directory>src/test/resources</directory>
222 <targetPath>../test-classes</targetPath>
223 <excludes>
224 <exclude>datasources.xml</exclude>
225 </excludes>
226 </resource>
227 <resource>
228 <!-- all main resources without filtering -->
229 <directory>src/main/resources</directory>
230 </resource>
231 </resources>
232 <plugins>
233 <plugin>
234 <artifactId>maven-failsafe-plugin</artifactId>
235 <version>2.16</version>
236 <configuration>
237 <forkCount>3</forkCount>
238 <reuseForks>true</reuseForks>
239 </configuration>
240 <executions>
241 <execution>
242 <goals>
243 <goal>integration-test</goal>
244 <goal>verify</goal>
245 </goals>
246 </execution>
247 </executions>
248 </plugin>
249 <plugin>
250 <groupId>org.eclipse.jetty</groupId>
251 <artifactId>jetty-maven-plugin</artifactId>
252 <version>9.1.3.v20140225</version><!-- do not update, since later versions are no longer compatible to java 7 -->
253 <configuration>
254 <stopKey>stop</stopKey>
255 <stopPort>9199</stopPort>
256 <scanIntervalSeconds>10</scanIntervalSeconds>
257 <useTestScope>true</useTestScope>
258 <jettyXml>${basedir}/src/test/resources/etc/jetty/jetty.xml,${basedir}/src/test/resources/etc/jetty/jetty-http.xml</jettyXml>
259 <!-- <jettyXml>./src/test/resources/etc/jetty/jetty.xml,./src/test/resources/etc/jetty/jetty-http.xml,./src/test/resources/etc/jetty/jetty-ssl.xml,./src/test/resources/etc/jetty/jetty-https.xml</jettyXml> -->
260 <systemProperties>
261 <force>true</force>
262 <systemProperty>
263 <name>cdm.datasource</name>
264 <value>h2_cdmTest</value>
265 </systemProperty>
266 <systemProperty>
267 <!--
268 The lucene index should be placed into the target folder,
269 so user.home needs to be set to this folder.
270 user.home needs to be overriden since it already
271 exists, thus the force option is turned on above
272 -->
273 <name>user.home</name>
274 <value>${basedir}/target/</value>
275 </systemProperty>
276 <systemProperty>
277 <!-- datasources.xml is prepared by <plugins><resources>..</resources>
278 above -->
279 <name>cdm.beanDefinitionFile</name>
280 <value>${project.build.directory}/test-classes/datasources.xml</value>
281 </systemProperty>
282 <systemProperty>
283 <!--
284 start with swagger profile so that the swagger doc
285 can be generated
286 -->
287 <name>spring.profiles.active</name>
288 <value>swagger</value>
289 </systemProperty>
290 </systemProperties>
291 </configuration>
292 <executions>
293 <execution>
294 <id>start-jetty</id>
295 <phase>pre-integration-test</phase>
296 <goals>
297 <goal>start</goal>
298 </goals>
299 <configuration>
300 <scanIntervalSeconds>0</scanIntervalSeconds>
301 <daemon>true</daemon>
302 </configuration>
303 </execution>
304 <execution>
305 <id>stop-jetty</id>
306 <phase>post-integration-test</phase>
307 <goals>
308 <goal>stop</goal>
309 </goals>
310 </execution>
311 </executions>
312 </plugin>
313 <plugin>
314 <groupId>org.apache.maven.plugins</groupId>
315 <artifactId>maven-war-plugin</artifactId>
316 <version>2.6</version>
317 <executions>
318 <execution>
319 <!--
320 The war must be created after running the integration-tests,
321 since the SwaggerGroupsIT test populates the classes/api-docs-static/
322 folder with static swagger doc files. The are otherwise not packed
323 into the wae file.
324 -->
325 <phase>verify</phase>
326 <goals>
327 <goal>war</goal>
328 </goals>
329 </execution>
330 </executions>
331 </plugin>
332 <plugin>
333 <artifactId>maven-resources-plugin</artifactId>
334 <version>2.7</version>
335 <configuration>
336 <escapeWindowsPaths>false</escapeWindowsPaths>
337 </configuration>
338 </plugin>
339
340 </plugins>
341 </build>
342 </project>