Merge branch 'hotfix/4.4.1'
[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.4.1</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>eu.etaxonomy</groupId>
70 <artifactId>cdmlib-db</artifactId>
71 </exclusion>
72 </exclusions>
73 </dependency>
74 <dependency>
75 <groupId>commons-io</groupId>
76 <artifactId>commons-io</artifactId>
77 </dependency>
78 <dependency>
79 <groupId>eu.etaxonomy</groupId>
80 <artifactId>cdmlib-test</artifactId>
81 <scope>test</scope>
82 </dependency>
83 <dependency>
84 <!-- TODO this is also offered by cdmlib-remote, can it be removed?
85 What does provided mean? -->
86 <groupId>javax.servlet</groupId>
87 <artifactId>javax.servlet-api</artifactId>
88 <scope>provided</scope>
89 </dependency>
90
91 <dependency>
92 <groupId>xmlunit</groupId>
93 <artifactId>xmlunit</artifactId>
94 </dependency>
95 <!-- JsonView -->
96 <!--
97 -->
98 <dependency>
99 <groupId>org.springframework</groupId>
100 <artifactId>spring-oxm</artifactId>
101 </dependency>
102
103 <!-- XmlView
104 -->
105 <dependency>
106 <groupId>com.thoughtworks.xstream</groupId>
107 <artifactId>xstream</artifactId>
108 </dependency>
109 <dependency>
110 <groupId>xpp3</groupId>
111 <artifactId>xpp3</artifactId>
112 </dependency>
113 <dependency>
114 <groupId>stax</groupId>
115 <artifactId>stax</artifactId>
116 </dependency>
117
118 <!-- JSP TAG LIBS -->
119 <dependency>
120 <groupId>taglibs</groupId>
121 <artifactId>standard</artifactId>
122 <version>1.1.2</version>
123 </dependency>
124 <dependency>
125 <groupId>taglibs</groupId>
126 <artifactId>x</artifactId>
127 <version>1.1.2</version>
128 <type>tld</type>
129 </dependency>
130 <!-- swagger -->
131 <dependency>
132 <groupId>io.springfox</groupId>
133 <artifactId>springfox-swagger2</artifactId>
134 <scope>test</scope>
135 </dependency>
136 <!--
137 dependencies for springfox-swagger2, added explicitly to pin the version
138 these dependencies are also required by the cdmlib!
139 -->
140 <dependency>
141 <groupId>com.fasterxml.jackson.core</groupId>
142 <artifactId>jackson-databind</artifactId>
143 </dependency>
144 <dependency>
145 <groupId>com.fasterxml.jackson.core</groupId>
146 <artifactId>jackson-core</artifactId>
147 </dependency>
148 <dependency>
149 <groupId>com.fasterxml.jackson.core</groupId>
150 <artifactId>jackson-annotations</artifactId>
151 </dependency>
152 <!-- END of dependencies for swagger-springmvc, added explicitely -->
153
154 <!-- testing -->
155 <dependency>
156 <groupId>junit</groupId>
157 <artifactId>junit</artifactId>
158 <scope>test</scope>
159 </dependency>
160
161 <!-- Connection Pooling and jdbc -->
162 <dependency>
163 <groupId>org.hibernate</groupId>
164 <artifactId>hibernate-c3p0</artifactId>
165 <scope>test</scope>
166 </dependency>
167 <!-- <dependency> -->
168 <!-- <groupId>com.mchange</groupId> -->
169 <!-- <artifactId>c3p0</artifactId> -->
170 <!-- <scope>test</scope> -->
171 <!-- </dependency> -->
172 <!-- Profiling -->
173 <dependency>
174 <groupId>com.yourkit</groupId>
175 <artifactId>yjp-controller-api-redist</artifactId>
176 <scope>test</scope>
177 </dependency>
178 </dependencies>
179
180 <build>
181 <resources>
182 <resource>
183 <!-- replace the place holders like ${...} in datasources.xml -->
184 <filtering>true</filtering>
185 <directory>src/test/resources</directory>
186 <targetPath>../test-classes</targetPath>
187 <includes>
188 <include>datasources.xml</include>
189 </includes>
190 </resource>
191 <resource>
192 <!-- all other test resources without filtering -->
193 <directory>src/test/resources</directory>
194 <targetPath>../test-classes</targetPath>
195 <excludes>
196 <exclude>datasources.xml</exclude>
197 </excludes>
198 </resource>
199 <resource>
200 <!-- all main resources without filtering -->
201 <directory>src/main/resources</directory>
202 </resource>
203 </resources>
204 <plugins>
205 <plugin>
206 <artifactId>maven-failsafe-plugin</artifactId>
207 <version>2.16</version>
208 <configuration>
209 <forkCount>3</forkCount>
210 <reuseForks>true</reuseForks>
211 </configuration>
212 <executions>
213 <execution>
214 <goals>
215 <goal>integration-test</goal>
216 <goal>verify</goal>
217 </goals>
218 </execution>
219 </executions>
220 </plugin>
221 <plugin>
222 <groupId>org.eclipse.jetty</groupId>
223 <artifactId>jetty-maven-plugin</artifactId>
224 <version>9.1.3.v20140225</version>
225 <!--
226 NOTE:
227 9.4.0.RC1 requires jdk 1.8, formerly we've been using version 9.1.3.v20140225 which was
228 the last version compatible to java 7, but this was causing other problems related to asm
229 which could not be easily solved.
230 -->
231 <configuration>
232 <stopKey>stop</stopKey>
233 <stopPort>9199</stopPort>
234 <scanIntervalSeconds>10</scanIntervalSeconds>
235 <useTestScope>true</useTestScope>
236 <jettyXml>${basedir}/src/test/resources/etc/jetty/jetty.xml,${basedir}/src/test/resources/etc/jetty/jetty-http.xml</jettyXml>
237 <!-- <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> -->
238 <systemProperties>
239 <force>true</force>
240 <systemProperty>
241 <name>cdm.datasource</name>
242 <value>h2_cdmTest</value>
243 </systemProperty>
244 <systemProperty>
245 <!--
246 The lucene index should be placed into the target folder,
247 so user.home needs to be set to this folder.
248 user.home needs to be overriden since it already
249 exists, thus the force option is turned on above
250 -->
251 <name>user.home</name>
252 <value>${basedir}/target/</value>
253 </systemProperty>
254 <systemProperty>
255 <!-- datasources.xml is prepared by <plugins><resources>..</resources>
256 above -->
257 <name>cdm.beanDefinitionFile</name>
258 <value>${project.build.directory}/test-classes/datasources.xml</value>
259 </systemProperty>
260 <systemProperty>
261 <!--
262 start with swagger profile so that the swagger doc
263 can be generated
264 -->
265 <name>spring.profiles.active</name>
266 <value>swagger</value>
267 </systemProperty>
268 </systemProperties>
269 </configuration>
270 <executions>
271 <execution>
272 <id>start-jetty</id>
273 <phase>pre-integration-test</phase>
274 <goals>
275 <goal>start</goal>
276 </goals>
277 <configuration>
278 <scanIntervalSeconds>0</scanIntervalSeconds>
279 <daemon>true</daemon>
280 </configuration>
281 </execution>
282 <execution>
283 <id>stop-jetty</id>
284 <phase>post-integration-test</phase>
285 <goals>
286 <goal>stop</goal>
287 </goals>
288 </execution>
289 </executions>
290 </plugin>
291 <plugin>
292 <groupId>org.apache.maven.plugins</groupId>
293 <artifactId>maven-war-plugin</artifactId>
294 <version>2.6</version>
295 <executions>
296 <execution>
297 <!--
298 The war must be created after running the integration-tests,
299 since the SwaggerGroupsIT test populates the classes/api-docs-static/
300 folder with static swagger doc files. The are otherwise not packed
301 into the war file.
302 -->
303 <phase>verify</phase>
304 <goals>
305 <goal>war</goal>
306 </goals>
307 </execution>
308 </executions>
309 </plugin>
310 <plugin>
311 <artifactId>maven-resources-plugin</artifactId>
312 <version>2.7</version>
313 <configuration>
314 <escapeWindowsPaths>false</escapeWindowsPaths>
315 </configuration>
316 </plugin>
317
318 </plugins>
319 </build>
320 </project>