Project

General

Profile

Download (10.9 KB) Statistics
| Branch: | Tag: | Revision:
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.0.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
  <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>
(4-4/4)