Project

General

Profile

Download (9.66 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>5.6.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.1.v20170120</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>
(3-3/3)