Project

General

Profile

Statistics
| Branch: | Tag: | Revision:

cdmlib / cdmlib-remote-webapp / pom.xml @ 558fcaf1

History | View | Annotate | Download (14.4 KB)

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.15.0-SNAPSHOT</version>
8
    <relativePath>../pom.xml</relativePath>
9
  </parent>
10
  <artifactId>cdmlib-remote-webapp</artifactId>
11
  <name>CDM Remote Webapp</name>
12
  <packaging>war</packaging>
13

    
14
  <properties>
15
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
16
    <!-- by default 
17
      no further args by now, see profiles for alternative run configurations -->
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
    <!-- ========================= PROFILE : db-create ========================= -->
44
    <!--  How to execute from parent project:
45
        1.) mvn package -DskipTests 
46
        2.) mvn integration-test -pl cdmlib-remote-webapp -Pdb-create
47
    -->
48
    <profile>
49
      <id>db-create</id>
50
      <activation>
51
        <property>
52
          <name>db-create</name>
53
        </property>
54
      </activation>
55
      <properties>
56
        <integrationTest.jvmArgs.cdm.datasource>h2_cdm_blank</integrationTest.jvmArgs.cdm.datasource>
57
        <integrationTest.jvmArgs.cdm.forceSchemaCreate>true</integrationTest.jvmArgs.cdm.forceSchemaCreate>
58
        <integrationTest.log4j.configuration>${project.build.directory}/target/test-classes/log4j.properties</integrationTest.log4j.configuration>
59
      </properties>
60
      <build>
61
        <plugins>
62
          <plugin>
63
            <artifactId>maven-failsafe-plugin</artifactId>
64
            <version>2.16</version>
65
            <configuration>
66
              <forkCount>3</forkCount>
67
              <reuseForks>true</reuseForks>
68
            </configuration>
69
            <executions>
70
              <execution>
71
                <goals>
72
                  <goal>integration-test</goal>
73
                  <goal>verify</goal>
74
                </goals>
75
                <configuration>
76
                  <includes>
77
                    <include>**/ForceSchemaCreateIT.java</include>
78
                  </includes>
79
                </configuration>
80
              </execution>
81
            </executions>
82
          </plugin>
83
        </plugins>
84
      </build>
85
    </profile>
86
    <!-- ========================= DEFAULT-PROFILE : db-use ========================= -->
87
     <profile>
88
      <id>db-use</id>
89
      <activation>
90
        <activeByDefault>true</activeByDefault>
91
        <property>
92
          <name>db-use</name>
93
        </property>
94
      </activation>
95
      <properties>
96
        <integrationTest.jvmArgs.cdm.datasource>h2_cdmTest</integrationTest.jvmArgs.cdm.datasource>
97
        <integrationTest.jvmArgs.cdm.forceSchemaCreate>false</integrationTest.jvmArgs.cdm.forceSchemaCreate>
98
        <integrationTest.log4j.configuration>${project.build.directory}/target/test-classes/log4j.properties</integrationTest.log4j.configuration>
99
      </properties>
100
      <build>
101
        <plugins>
102
          <plugin>
103
            <artifactId>maven-failsafe-plugin</artifactId>
104
            <version>2.16</version>
105
            <configuration>
106
              <forkCount>3</forkCount>
107
              <reuseForks>true</reuseForks>
108
            </configuration>
109
            <executions>
110
              <execution>
111
                <goals>
112
                  <goal>integration-test</goal>
113
                  <goal>verify</goal>
114
                </goals>
115
                <configuration>
116
                  <systemPropertyVariables>
117
                    <cdm.datasource>h2_cdmTest</cdm.datasource>
118
                  </systemPropertyVariables>
119
                  <excludes>
120
                    <exclude>**/ForceSchemaCreateIT.java</exclude>
121
                  </excludes>
122
                </configuration>
123
              </execution>
124
            </executions>
125
          </plugin>
126
        </plugins>
127
      </build>
128
    </profile>
129
  </profiles>
130
  <dependencies>
131
    <dependency>
132
      <groupId>eu.etaxonomy</groupId>
133
      <artifactId>cdmlib-remote</artifactId>
134
      <exclusions>
135
        <!-- exclude all jdbc drivers from the war. Jdbc drivers must only 
136
          be added to {APPLICATION_CONTAINER}/lib see http://dev.e-taxonomy.eu/trac/ticket/4955 
137
          and http://stackoverflow.com/questions/6981564/why-must-the-jdbc-driver-be-put-in-tomcat-home-lib-folder -->
138
        <exclusion>
139
          <groupId>eu.etaxonomy</groupId>
140
          <artifactId>cdmlib-db</artifactId>
141
        </exclusion>
142
      </exclusions>
143
    </dependency>
144
    <dependency>
145
      <groupId>commons-io</groupId>
146
      <artifactId>commons-io</artifactId>
147
    </dependency>
148
    <dependency>
149
      <groupId>eu.etaxonomy</groupId>
150
      <artifactId>cdmlib-test</artifactId>
151
      <scope>test</scope>
152
    </dependency>
153
    <dependency>
154
      <!-- TODO this is also offered by cdmlib-remote, can it be removed? 
155
        What does provided mean? -->
156
      <groupId>javax.servlet</groupId>
157
      <artifactId>javax.servlet-api</artifactId>
158
      <scope>provided</scope>
159
    </dependency>
160

    
161
    <dependency>
162
      <groupId>xmlunit</groupId>
163
      <artifactId>xmlunit</artifactId>
164
    </dependency>
165
    <!-- JsonView -->
166
    <!-- -->
167
    <dependency>
168
      <groupId>org.springframework</groupId>
169
      <artifactId>spring-oxm</artifactId>
170
    </dependency>
171

    
172
    <!-- XmlView -->
173
    <dependency>
174
      <groupId>com.thoughtworks.xstream</groupId>
175
      <artifactId>xstream</artifactId>
176
    </dependency>
177
    <dependency>
178
      <groupId>xpp3</groupId>
179
      <artifactId>xpp3</artifactId>
180
    </dependency>
181
    <dependency>
182
      <groupId>stax</groupId>
183
      <artifactId>stax</artifactId>
184
    </dependency>
185

    
186
    <!-- JSP TAG LIBS -->
187
    <dependency>
188
      <groupId>taglibs</groupId>
189
      <artifactId>standard</artifactId>
190
      <version>1.1.2</version>
191
    </dependency>
192
    <dependency>
193
      <groupId>taglibs</groupId>
194
      <artifactId>x</artifactId>
195
      <version>1.1.2</version>
196
      <type>tld</type>
197
    </dependency>
198
    <!-- swagger -->
199
    <dependency>
200
      <groupId>io.springfox</groupId>
201
      <artifactId>springfox-swagger2</artifactId>
202
      <scope>test</scope>
203
    </dependency>
204
    <!-- dependencies for springfox-swagger2, added explicitly to pin the 
205
      version these dependencies are also required by the cdmlib! -->
206
    <dependency>
207
      <groupId>com.fasterxml.jackson.core</groupId>
208
      <artifactId>jackson-databind</artifactId>
209
    </dependency>
210
    <dependency>
211
      <groupId>com.fasterxml.jackson.core</groupId>
212
      <artifactId>jackson-core</artifactId>
213
    </dependency>
214
    <dependency>
215
      <groupId>com.fasterxml.jackson.core</groupId>
216
      <artifactId>jackson-annotations</artifactId>
217
    </dependency>
218
    <!-- END of dependencies for swagger-springmvc, added explicitely -->
219

    
220
    <!-- testing -->
221
    <dependency>
222
      <groupId>junit</groupId>
223
      <artifactId>junit</artifactId>
224
      <scope>test</scope>
225
    </dependency>
226

    
227
    <!-- Connection Pooling and jdbc -->
228
    <dependency>
229
      <groupId>org.hibernate</groupId>
230
      <artifactId>hibernate-c3p0</artifactId>
231
      <scope>test</scope>
232
    </dependency>
233
    <!-- <dependency> -->
234
    <!-- <groupId>com.mchange</groupId> -->
235
    <!-- <artifactId>c3p0</artifactId> -->
236
    <!-- <scope>test</scope> -->
237
    <!-- </dependency> -->
238
    <!-- Profiling -->
239
    <dependency>
240
      <groupId>com.yourkit</groupId>
241
      <artifactId>yjp-controller-api-redist</artifactId>
242
      <scope>test</scope>
243
    </dependency>
244
  </dependencies>
245

    
246
  <build>
247
    <resources>
248
      <resource>
249
        <!-- replace the place holders like ${...} in datasources.xml -->
250
        <filtering>true</filtering>
251
        <directory>src/test/resources</directory>
252
        <targetPath>../test-classes</targetPath>
253
        <includes>
254
          <include>datasources.xml</include>
255
        </includes>
256
      </resource>
257
      <resource>
258
        <!-- all other test resources without filtering -->
259
        <directory>src/test/resources</directory>
260
        <targetPath>../test-classes</targetPath>
261
        <excludes>
262
          <exclude>datasources.xml</exclude>
263
        </excludes>
264
      </resource>
265
      <resource>
266
        <!-- all main resources without filtering -->
267
        <directory>src/main/resources</directory>
268
      </resource>
269
    </resources>
270
    <plugins>
271
      <plugin>
272
        <artifactId>maven-failsafe-plugin</artifactId>
273
        <version>2.16</version>
274
        <!-- configuration per maven profile -->
275
        
276
<!--         <configuration> -->
277
<!--           <forkCount>3</forkCount> -->
278
<!--           <reuseForks>true</reuseForks> -->
279
<!--         </configuration> -->
280
<!--         <executions> -->
281
<!--           <execution> -->
282
<!--             <id>default</id> -->
283
<!--             <goals> -->
284
<!--               <goal>integration-test</goal> -->
285
<!--               <goal>verify</goal> -->
286
<!--             </goals> -->
287
<!--             <configuration> -->
288
<!--               <systemPropertyVariables> -->
289
<!--                 <cdm.datasource>h2_cdmTest</cdm.datasource> -->
290
<!--               </systemPropertyVariables> -->
291
<!--               <excludes> -->
292
<!--                 <exclude>**/ForceSchemaCreateIT.java</exclude> -->
293
<!--               </excludes> -->
294
<!--             </configuration> -->
295
<!--           </execution> -->
296
<!--         </executions> -->
297
      </plugin>
298
      <plugin>
299
        <groupId>org.eclipse.jetty</groupId>
300
        <artifactId>jetty-maven-plugin</artifactId>
301
        <version>9.4.15.v20190215</version>
302
        <configuration>
303
          <stopKey>stop</stopKey>
304
          <stopPort>9199</stopPort>
305
          <scanIntervalSeconds>10</scanIntervalSeconds>
306
          <useTestScope>true</useTestScope>
307
          <!-- jvmArgs will only be used when running mvn jetty:run-forked -->
308
          <jvmArgs>-Xmx2000M 
309
            -Dcdm.datasource=${integrationTest.jvmArgs.cdm.datasource}
310
            -Duser.home=${basedir}/target/target/
311
            -Dcdm.beanDefinitionFile=${project.build.directory}/test-classes/datasources.xml
312
            -Dspring.profiles.active=remoting
313
            -Dcdm.forceSchemaCreate=${integrationTest.jvmArgs.cdm.forceSchemaCreate}
314
            -Dlog4j.configuration=${integrationTest.jvmArgs.log4j.configuration}
315
            -Dorg.eclipse.jetty.annotations.AnnotationParser.LEVEL=OFF
316
           </jvmArgs>
317
          <jettyXml>${basedir}/src/test/resources/etc/jetty/jetty.xml,${basedir}/src/test/resources/etc/jetty/jetty-http.xml</jettyXml>
318
          <!-- <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> -->
319
          <systemProperties>
320
            <force>true</force>
321
            <systemProperty>
322
              <name>cdm.datasource</name>
323
              <value>${integrationTest.jvmArgs.cdm.datasource}</value>
324
            </systemProperty>
325
            <systemProperty>
326
              <!-- The lucene index should be placed into the target folder, 
327
                so user.home needs to be set to this folder. user.home needs to be overridden 
328
                since it already exists, thus the force option is turned on above -->
329
              <name>user.home</name>
330
              <value>${basedir}/target/</value>
331
            </systemProperty>
332
            <systemProperty>
333
              <!-- datasources.xml is prepared by <plugins><resources>..</resources> above -->
334
              <name>cdm.beanDefinitionFile</name>
335
              <value>${project.build.directory}/test-classes/datasources.xml</value>
336
            </systemProperty>
337
            <systemProperty>
338
                <name>cdm.forceSchemaCreate</name>
339
                <value>${integrationTest.jvmArgs.cdm.forceSchemaCreate}</value>
340
            </systemProperty>
341
            <systemProperty>
342
              <!-- start with swagger profile so that the swagger doc can 
343
                be generated -->
344
              <name>spring.profiles.active</name>
345
              <value>swagger</value>
346
            </systemProperty>
347
            <systemProperty>
348
                <name>log4j.configuration</name>
349
                <value>${integrationTest.jvmArgs.log4j.configuration}</value>
350
            </systemProperty>
351
          </systemProperties>
352
        </configuration>
353
        <executions>
354
          <execution>
355
            <id>start-jetty</id>
356
            <phase>pre-integration-test</phase>
357
            <goals>
358
              <goal>start</goal>
359
            </goals>
360
            <configuration>
361
              <scanIntervalSeconds>0</scanIntervalSeconds>
362
              <daemon>true</daemon>
363
            </configuration>
364
          </execution>
365
          <execution>
366
            <id>stop-jetty</id>
367
            <phase>post-integration-test</phase>
368
            <goals>
369
              <goal>stop</goal>
370
            </goals>
371
          </execution>
372
        </executions>
373
        <dependencies>
374
            <dependency>
375
                    <groupId>org.apache.taglibs</groupId>
376
                    <artifactId>taglibs-standard-impl</artifactId>
377
                    <version>1.2.5</version>
378
            </dependency>
379
        </dependencies>
380
      </plugin>
381
      <plugin>
382
        <groupId>org.apache.maven.plugins</groupId>
383
        <artifactId>maven-war-plugin</artifactId>
384
        <version>2.6</version>
385
        <executions>
386
          <execution>
387
            <!-- The war must be created after running the integration-tests, 
388
              since the SwaggerGroupsIT test populates the classes/api-docs-static/ folder 
389
              with static swagger doc files. They are otherwise not packed into the war 
390
              file. -->
391
            <phase>verify</phase>
392
            <goals>
393
              <goal>war</goal>
394
            </goals>
395
          </execution>
396
        </executions>
397
      </plugin>
398
      <plugin>
399
        <artifactId>maven-resources-plugin</artifactId>
400
        <version>2.7</version>
401
        <configuration>
402
          <escapeWindowsPaths>false</escapeWindowsPaths>
403
        </configuration>
404
      </plugin>
405
    </plugins>
406
  </build>
407
</project>
Add picture from clipboard (Maximum size: 40 MB)