fix #8932 configuring swagger to support overloaded controller methods
[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.14.0-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 <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 <!--
219 jvmArgs will only be used when running mvn jetty:run-forked
220 -->
221 <jvmArgs>-Xmx2000M -Dcdm.datasource=h2_cdmTest -Duser.home=${basedir}/target/target/ -Dcdm.beanDefinitionFile=${project.build.directory}/test-classes/datasources.xml -Dspring.profiles.active=remoting</jvmArgs>
222 <jettyXml>${basedir}/src/test/resources/etc/jetty/jetty.xml,${basedir}/src/test/resources/etc/jetty/jetty-http.xml</jettyXml>
223 <!-- <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> -->
224 <systemProperties>
225 <force>true</force>
226 <systemProperty>
227 <name>cdm.datasource</name>
228 <value>h2_cdmTest</value>
229 </systemProperty>
230 <systemProperty>
231 <!--
232 The lucene index should be placed into the target folder,
233 so user.home needs to be set to this folder.
234 user.home needs to be overriden since it already
235 exists, thus the force option is turned on above
236 -->
237 <name>user.home</name>
238 <value>${basedir}/target/</value>
239 </systemProperty>
240 <systemProperty>
241 <!-- datasources.xml is prepared by <plugins><resources>..</resources>
242 above -->
243 <name>cdm.beanDefinitionFile</name>
244 <value>${project.build.directory}/test-classes/datasources.xml</value>
245 </systemProperty>
246 <systemProperty>
247 <!--
248 start with swagger profile so that the swagger doc
249 can be generated
250 -->
251 <name>spring.profiles.active</name>
252 <value>swagger</value>
253 </systemProperty>
254 </systemProperties>
255 </configuration>
256 <executions>
257 <execution>
258 <id>start-jetty</id>
259 <phase>pre-integration-test</phase>
260 <goals>
261 <goal>start</goal>
262 </goals>
263 <configuration>
264 <scanIntervalSeconds>0</scanIntervalSeconds>
265 <daemon>true</daemon>
266 </configuration>
267 </execution>
268 <execution>
269 <id>stop-jetty</id>
270 <phase>post-integration-test</phase>
271 <goals>
272 <goal>stop</goal>
273 </goals>
274 </execution>
275 </executions>
276 </plugin>
277 <plugin>
278 <groupId>org.apache.maven.plugins</groupId>
279 <artifactId>maven-war-plugin</artifactId>
280 <version>2.6</version>
281 <executions>
282 <execution>
283 <!--
284 The war must be created after running the integration-tests,
285 since the SwaggerGroupsIT test populates the classes/api-docs-static/
286 folder with static swagger doc files. The are otherwise not packed
287 into the war file.
288 -->
289 <phase>verify</phase>
290 <goals>
291 <goal>war</goal>
292 </goals>
293 </execution>
294 </executions>
295 </plugin>
296 <plugin>
297 <artifactId>maven-resources-plugin</artifactId>
298 <version>2.7</version>
299 <configuration>
300 <escapeWindowsPaths>false</escapeWindowsPaths>
301 </configuration>
302 </plugin>
303
304 </plugins>
305 </build>
306 </project>