Merge branch 'release/5.6.0'
[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>5.6.0</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 <profiles>
21 <profile>
22 <id>local-repository</id>
23 <activation>
24 <property>
25 <name>localrepo</name>
26 </property>
27 </activation>
28 <repositories>
29 <repository>
30 <id>EditLocalRepository</id>
31 <url>file://${localrepo}/eu/etaxonomy/</url>
32 <releases>
33 <enabled>false</enabled>
34 <updatePolicy>always</updatePolicy>
35 </releases>
36 <snapshots>
37 <enabled>true</enabled>
38 <updatePolicy>always</updatePolicy>
39 </snapshots>
40 </repository>
41 </repositories>
42 </profile>
43 </profiles>
44
45 <dependencies>
46 <dependency>
47 <groupId>eu.etaxonomy</groupId>
48 <artifactId>cdmlib-remote</artifactId>
49 <exclusions>
50 <!--
51 exclude all jdbc drivers from the war.
52 Jdbc drivers must only be added to {APPLICATION_CONTAINER}/lib
53 see http://dev.e-taxonomy.eu/trac/ticket/4955
54 and http://stackoverflow.com/questions/6981564/why-must-the-jdbc-driver-be-put-in-tomcat-home-lib-folder
55 -->
56 <exclusion>
57 <groupId>eu.etaxonomy</groupId>
58 <artifactId>cdmlib-db</artifactId>
59 </exclusion>
60 </exclusions>
61 </dependency>
62 <dependency>
63 <groupId>commons-io</groupId>
64 <artifactId>commons-io</artifactId>
65 </dependency>
66 <dependency>
67 <groupId>eu.etaxonomy</groupId>
68 <artifactId>cdmlib-test</artifactId>
69 <scope>test</scope>
70 </dependency>
71 <dependency>
72 <!-- TODO this is also offered by cdmlib-remote, can it be removed?
73 What does provided mean? -->
74 <groupId>javax.servlet</groupId>
75 <artifactId>javax.servlet-api</artifactId>
76 <scope>provided</scope>
77 </dependency>
78
79 <dependency>
80 <groupId>xmlunit</groupId>
81 <artifactId>xmlunit</artifactId>
82 </dependency>
83 <!-- JsonView -->
84 <!--
85 -->
86 <dependency>
87 <groupId>org.springframework</groupId>
88 <artifactId>spring-oxm</artifactId>
89 </dependency>
90
91 <!-- XmlView
92 -->
93 <dependency>
94 <groupId>com.thoughtworks.xstream</groupId>
95 <artifactId>xstream</artifactId>
96 </dependency>
97 <dependency>
98 <groupId>xpp3</groupId>
99 <artifactId>xpp3</artifactId>
100 </dependency>
101 <dependency>
102 <groupId>stax</groupId>
103 <artifactId>stax</artifactId>
104 </dependency>
105
106 <!-- JSP TAG LIBS -->
107 <dependency>
108 <groupId>taglibs</groupId>
109 <artifactId>standard</artifactId>
110 <version>1.1.2</version>
111 </dependency>
112 <dependency>
113 <groupId>taglibs</groupId>
114 <artifactId>x</artifactId>
115 <version>1.1.2</version>
116 <type>tld</type>
117 </dependency>
118 <!-- swagger -->
119 <dependency>
120 <groupId>io.springfox</groupId>
121 <artifactId>springfox-swagger2</artifactId>
122 <scope>test</scope>
123 </dependency>
124 <!--
125 dependencies for springfox-swagger2, added explicitly to pin the version
126 these dependencies are also required by the cdmlib!
127 -->
128 <dependency>
129 <groupId>com.fasterxml.jackson.core</groupId>
130 <artifactId>jackson-databind</artifactId>
131 </dependency>
132 <dependency>
133 <groupId>com.fasterxml.jackson.core</groupId>
134 <artifactId>jackson-core</artifactId>
135 </dependency>
136 <dependency>
137 <groupId>com.fasterxml.jackson.core</groupId>
138 <artifactId>jackson-annotations</artifactId>
139 </dependency>
140 <!-- END of dependencies for swagger-springmvc, added explicitely -->
141
142 <!-- testing -->
143 <dependency>
144 <groupId>junit</groupId>
145 <artifactId>junit</artifactId>
146 <scope>test</scope>
147 </dependency>
148
149 <!-- Connection Pooling and jdbc -->
150 <dependency>
151 <groupId>org.hibernate</groupId>
152 <artifactId>hibernate-c3p0</artifactId>
153 <scope>test</scope>
154 </dependency>
155 <!-- <dependency> -->
156 <!-- <groupId>com.mchange</groupId> -->
157 <!-- <artifactId>c3p0</artifactId> -->
158 <!-- <scope>test</scope> -->
159 <!-- </dependency> -->
160 <!-- Profiling -->
161 <dependency>
162 <groupId>com.yourkit</groupId>
163 <artifactId>yjp-controller-api-redist</artifactId>
164 <scope>test</scope>
165 </dependency>
166 </dependencies>
167
168 <build>
169 <resources>
170 <resource>
171 <!-- replace the place holders like ${...} in datasources.xml -->
172 <filtering>true</filtering>
173 <directory>src/test/resources</directory>
174 <targetPath>../test-classes</targetPath>
175 <includes>
176 <include>datasources.xml</include>
177 </includes>
178 </resource>
179 <resource>
180 <!-- all other test resources without filtering -->
181 <directory>src/test/resources</directory>
182 <targetPath>../test-classes</targetPath>
183 <excludes>
184 <exclude>datasources.xml</exclude>
185 </excludes>
186 </resource>
187 <resource>
188 <!-- all main resources without filtering -->
189 <directory>src/main/resources</directory>
190 </resource>
191 </resources>
192 <plugins>
193 <plugin>
194 <artifactId>maven-failsafe-plugin</artifactId>
195 <version>2.16</version>
196 <configuration>
197 <forkCount>3</forkCount>
198 <reuseForks>true</reuseForks>
199 </configuration>
200 <executions>
201 <execution>
202 <goals>
203 <goal>integration-test</goal>
204 <goal>verify</goal>
205 </goals>
206 </execution>
207 </executions>
208 </plugin>
209 <plugin>
210 <groupId>org.eclipse.jetty</groupId>
211 <artifactId>jetty-maven-plugin</artifactId>
212 <version>9.4.15.v20190215</version>
213 <configuration>
214 <stopKey>stop</stopKey>
215 <stopPort>9199</stopPort>
216 <scanIntervalSeconds>10</scanIntervalSeconds>
217 <useTestScope>true</useTestScope>
218 <jettyXml>${basedir}/src/test/resources/etc/jetty/jetty.xml,${basedir}/src/test/resources/etc/jetty/jetty-http.xml</jettyXml>
219 <!-- <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> -->
220 <systemProperties>
221 <force>true</force>
222 <systemProperty>
223 <name>cdm.datasource</name>
224 <value>h2_cdmTest</value>
225 </systemProperty>
226 <systemProperty>
227 <!--
228 The lucene index should be placed into the target folder,
229 so user.home needs to be set to this folder.
230 user.home needs to be overriden since it already
231 exists, thus the force option is turned on above
232 -->
233 <name>user.home</name>
234 <value>${basedir}/target/</value>
235 </systemProperty>
236 <systemProperty>
237 <!-- datasources.xml is prepared by <plugins><resources>..</resources>
238 above -->
239 <name>cdm.beanDefinitionFile</name>
240 <value>${project.build.directory}/test-classes/datasources.xml</value>
241 </systemProperty>
242 <systemProperty>
243 <!--
244 start with swagger profile so that the swagger doc
245 can be generated
246 -->
247 <name>spring.profiles.active</name>
248 <value>swagger</value>
249 </systemProperty>
250 </systemProperties>
251 </configuration>
252 <executions>
253 <execution>
254 <id>start-jetty</id>
255 <phase>pre-integration-test</phase>
256 <goals>
257 <goal>start</goal>
258 </goals>
259 <configuration>
260 <scanIntervalSeconds>0</scanIntervalSeconds>
261 <daemon>true</daemon>
262 </configuration>
263 </execution>
264 <execution>
265 <id>stop-jetty</id>
266 <phase>post-integration-test</phase>
267 <goals>
268 <goal>stop</goal>
269 </goals>
270 </execution>
271 </executions>
272 </plugin>
273 <plugin>
274 <groupId>org.apache.maven.plugins</groupId>
275 <artifactId>maven-war-plugin</artifactId>
276 <version>2.6</version>
277 <executions>
278 <execution>
279 <!--
280 The war must be created after running the integration-tests,
281 since the SwaggerGroupsIT test populates the classes/api-docs-static/
282 folder with static swagger doc files. The are otherwise not packed
283 into the war file.
284 -->
285 <phase>verify</phase>
286 <goals>
287 <goal>war</goal>
288 </goals>
289 </execution>
290 </executions>
291 </plugin>
292 <plugin>
293 <artifactId>maven-resources-plugin</artifactId>
294 <version>2.7</version>
295 <configuration>
296 <escapeWindowsPaths>false</escapeWindowsPaths>
297 </configuration>
298 </plugin>
299
300 </plugins>
301 </build>
302 </project>