Project

General

Profile

Download (21.7 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"
3
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
4
  <modelVersion>4.0.0</modelVersion>
5
  <groupId>eu.etaxonomy</groupId>
6
  <artifactId>cdm-vaadin</artifactId>
7
  <packaging>war</packaging>
8
  <version>4.4.0-SNAPSHOT</version>
9
  <name>Vaadin Web Application</name>
10
  <properties>
11
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
12
    <vaadin.version>7.6.3</vaadin.version>
13
    <vaadin.plugin.version>${vaadin.version}</vaadin.plugin.version>
14
    <cdmlib.version>4.4.0-SNAPSHOT</cdmlib.version>
15
    <unitils.version>3.4.2</unitils.version>
16
    <spring.version>4.2.4.RELEASE</spring.version>
17
    <lucene.version>5.4.1</lucene.version>
18
    <maven.compiler.source>1.8</maven.compiler.source>
19
    <maven.compiler.target>1.8</maven.compiler.target>
20
  </properties>
21
  <prerequisites>
22
    <maven>3.0.5</maven>
23
  </prerequisites>
24
  <repositories>
25
    <!-- the cdm internal repository -->
26
    <repository>
27
      <id>EditRepository</id>
28
      <url>http://wp5.e-taxonomy.eu/mavenrepo/</url>
29
    </repository>
30
    <!-- current spring source repositories -->
31
    <repository>
32
      <id>SpringSource Enterprise Bundle Repository - External Bundle Milestones</id>
33
      <url>http://repository.springsource.com/maven/bundles/milestone</url>
34
    </repository>
35
    <repository>
36
      <id>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</id>
37
      <url>http://repository.springsource.com/maven/bundles/release</url>
38
    </repository>
39
    <repository>
40
      <id>SpringSource Enterprise Bundle Repository - External Bundle Releases</id>
41
      <url>http://repository.springsource.com/maven/bundles/external</url>
42
    </repository>
43
    <repository>
44
      <id>vaadin-addons</id>
45
      <url>http://maven.vaadin.com/vaadin-addons</url>
46
    </repository>
47
    <repository>
48
      <id>vaadin-snapshots</id>
49
      <url>http://oss.sonatype.org/content/repositories/vaadin-snapshots/</url>
50
      <releases>
51
        <enabled>false</enabled>
52
      </releases>
53
      <snapshots>
54
        <enabled>true</enabled>
55
      </snapshots>
56
    </repository>
57
  </repositories>
58
  
59
  <pluginRepositories>
60
    <pluginRepository>
61
      <id>vaadin-snapshots</id>
62
      <url>http://oss.sonatype.org/content/repositories/vaadin-snapshots/</url>
63
      <releases>
64
        <enabled>false</enabled>
65
      </releases>
66
      <snapshots>
67
        <enabled>true</enabled>
68
      </snapshots>
69
    </pluginRepository>
70
  </pluginRepositories>
71
  
72
  <dependencyManagement>
73
        <dependencies>
74
            <dependency>
75
                <groupId>com.vaadin</groupId>
76
                <artifactId>vaadin-bom</artifactId>
77
                <version>${vaadin.version}</version>
78
                <type>pom</type>
79
                <scope>import</scope>
80
            </dependency>
81
        </dependencies>
82
    </dependencyManagement>
83
  
84
  <distributionManagement>
85
    <repository>
86
      <uniqueVersion>false</uniqueVersion>
87
      <id>wp5.e-taxonomy.eu</id>
88
      <name>Edit Maven Repository</name>
89
      <url>scpexe://wp5.e-taxonomy.eu/var/www/wp5.e-taxonomy.eu/mavenrepo/</url>
90
      <layout>default</layout>
91
    </repository>
92
  </distributionManagement>
93
  <profiles>
94
    <profile>
95
      <activation>
96
        <property>
97
          <name>align-cdmlib-version</name>
98
        </property>
99
      </activation>
100
      <build>
101
        <plugins>
102
          <plugin>
103
            <groupId>com.google.code.maven-replacer-plugin</groupId>
104
            <artifactId>replacer</artifactId>
105
            <version>1.5.3</version>
106
            <executions>
107
              <execution>
108
                <phase>process-sources</phase>
109
                <goals>
110
                  <goal>replace</goal>
111
                </goals>
112
              </execution>
113
            </executions>
114
            <configuration>
115
              <file>pom.xml</file>
116
              <!-- \u003C = < , \u003E = > -->
117
              <token>(\u003Ccdmlib\.version\u003E)[^\u003C]*</token>
118
              <value>$1${project.version}</value>
119
            </configuration>
120
          </plugin>
121
        </plugins>
122
      </build>
123
    </profile>
124
  </profiles>
125
  <build>
126
    <resources>
127
      <resource>
128
        <!-- replace the place holders like ${...} in datasources.xml -->
129
        <filtering>true</filtering>
130
        <directory>src/test/resources</directory>
131
        <targetPath>../test-classes</targetPath>
132
        <includes>
133
          <include>datasources.xml</include>
134
        </includes>
135
      </resource>
136
      <resource>
137
        <!-- all other test resources without filtering -->
138
        <directory>src/test/resources</directory>
139
        <targetPath>../test-classes</targetPath>
140
        <excludes>
141
          <exclude>datasources.xml</exclude>
142
        </excludes>
143
      </resource>
144
      <resource>
145
        <!-- all main resources without filtering -->
146
        <directory>src/main/resources</directory>
147
      </resource>
148
    </resources>
149
    <plugins>
150
      <plugin>
151
        <groupId>org.apache.maven.plugins</groupId>
152
        <artifactId>maven-compiler-plugin</artifactId>
153
        <version>3.3</version>
154
        <configuration>
155
          <source>${maven.compiler.source}</source>
156
          <target>${maven.compiler.target}</target>
157
          <encoding>UTF-8</encoding>
158
        </configuration>
159
      </plugin>
160
      <plugin>
161
        <groupId>org.apache.maven.plugins</groupId>
162
        <artifactId>maven-surefire-plugin</artifactId>
163
        <version>2.19.1</version>
164
        <configuration>
165
          <argLine>-Xms256m -Xmx512m</argLine>
166
        </configuration>
167
      </plugin>
168
      <!-- As we are doing "inplace" GWT compilation, ensure the widgetset -->
169
      <!-- directory is cleaned properly -->
170
      <plugin>
171
        <artifactId>maven-clean-plugin</artifactId>
172
        <version>2.4.1</version>
173
        <configuration>
174
          <filesets>
175
            <fileset>
176
              <directory>src/main/webapp/VAADIN/widgetsets</directory>
177
            </fileset>
178
          </filesets>
179
        </configuration>
180
      </plugin>
181
      <plugin>
182
        <groupId>org.apache.maven.plugins</groupId>
183
        <artifactId>maven-war-plugin</artifactId>
184
        <version>2.2</version>
185
        <configuration>
186
          <failOnMissingWebXml>false</failOnMissingWebXml>
187
          <warSourceExcludes>WEB-INF/*,WEB-INF/datasources/*</warSourceExcludes>
188
        </configuration>
189
      </plugin>
190
      <plugin>
191
        <groupId>com.vaadin</groupId>
192
        <artifactId>vaadin-maven-plugin</artifactId>
193
        <version>${vaadin.plugin.version}</version>
194
        <configuration>
195
          <extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
196
          <!-- <runTarget>mobilemail</runTarget> -->
197
          <!-- We are doing "inplace" but into subdir VAADIN/widgetsets. 
198
            This way compatible with Vaadin eclipse plugin. -->
199
          <webappDirectory>${basedir}/src/main/webapp/VAADIN/widgetsets</webappDirectory>
200
          <hostedWebapp>${basedir}/src/main/webapp/VAADIN/widgetsets</hostedWebapp>
201
          <!-- Most Vaadin apps don't need this stuff, guide that to target -->
202
          <persistentunitcachedir>${project.build.directory}</persistentunitcachedir>
203
          <deploy>${project.build.directory}/gwt-deploy</deploy>
204
          <!-- Compile report is not typically needed either, saves hunreds 
205
            of mb disk -->
206
          <compileReport>false</compileReport>
207
          <noServer>true</noServer>
208
          <!-- Remove draftCompile when project is ready -->
209
          <draftCompile>false</draftCompile>
210
          <style>OBF</style>
211
          <strict>true</strict>
212
          <runTarget>http://localhost:8080/</runTarget>
213
        </configuration>
214
        <executions>
215
          <execution>
216
            <configuration>
217
              <!-- if you don't specify any modules, the plugin will find 
218
                them -->
219
              <!-- <modules> <module>com.vaadin.demo.mobilemail.gwt.ColorPickerWidgetSet</module> 
220
                </modules> -->
221
            </configuration>
222
            <goals>
223
              <goal>clean</goal>
224
              <goal>resources</goal>
225
              <goal>update-theme</goal>
226
              <goal>update-widgetset</goal>
227
              <goal>compile-theme</goal>
228
              <goal>compile</goal>
229
            </goals>
230
          </execution>
231
        </executions>
232
      </plugin>
233
      <plugin>
234
        <groupId>org.eclipse.jetty</groupId>
235
        <artifactId>jetty-maven-plugin</artifactId>
236
        <version>9.4.0.RC1</version>
237
        <!--  
238
            NOTE:
239
            9.4.0.RC1 requires jdk 1.8, formerly we've been using version 9.1.3.v20140225 which was 
240
            the last version compatible to java 7, but this was causing other problems related to asm
241
            which could not be easily solved.
242
        -->
243
        <configuration>
244
          <useTestScope>true</useTestScope>
245
          <scanIntervalSeconds>2</scanIntervalSeconds>
246
          <systemProperties>
247
            <force>true</force>
248
            <systemProperty>
249
              <name>cdm.datasource</name>
250
              <value>h2_cdmTest</value>
251
            </systemProperty>
252
            <systemProperty>
253
              <!-- 
254
                The lucene index should be placed into the target folder, 
255
                so user.home needs to be set to this folder. user.home needs to be overridden 
256
                since it already exists, thus the force option is turned on above 
257
              -->
258
              <name>user.home</name>
259
              <value>${basedir}/target/</value>
260
            </systemProperty>
261
            <systemProperty>
262
              <!-- 
263
                datasources.xml is prepared by <plugins><resources>..</resources> above 
264
               -->
265
              <name>cdm.beanDefinitionFile</name>
266
              <value>${project.build.directory}/test-classes/datasources.xml</value>
267
            </systemProperty>
268
            <systemProperty>
269
                <name>log4j.configuration</name>
270
                <value>file:///home/andreas/.cdmLibrary/log4j.properties</value>
271
            </systemProperty>            
272
          </systemProperties>
273
        </configuration>
274
        <dependencies>
275
          <dependency>
276
                <groupId>org.slf4j</groupId>
277
                <artifactId>slf4j-log4j12</artifactId>
278
                <version>1.6.4</version>
279
            </dependency>
280
        </dependencies>
281
      </plugin>
282
      <plugin>
283
        <groupId>org.apache.maven.plugins</groupId>
284
        <artifactId>maven-failsafe-plugin</artifactId>
285
        <version>2.17</version>
286
        <configuration>
287
          <!-- Remove the skipTests line below to run TestBench tests -->
288
          <!-- <skipTests>true</skipTests> -->
289
        </configuration>
290
        <executions>
291
          <execution>
292
            <goals>
293
              <goal>integration-test</goal>
294
              <goal>verify</goal>
295
            </goals>
296
          </execution>
297
        </executions>
298
      </plugin>
299
      <plugin>
300
        <groupId>external.atlassian.jgitflow</groupId>
301
        <artifactId>jgitflow-maven-plugin</artifactId>
302
        <version>1.0-m6</version>
303
        <configuration>
304
          <pushHotfixes>true</pushHotfixes>
305
          <pushReleases>true</pushReleases>
306
          <enableSshAgent>true</enableSshAgent>
307
          <allowSnapshots>true</allowSnapshots>
308
          <allowUntracked>true</allowUntracked>
309
        </configuration>
310
        <dependencies>
311
          <!-- upgrading dependency jsch.agent.version of jgit-flow plugin 
312
            to 0.1.53 in order have ssl key exchange algorithms compatible with openssh 
313
            6.7 -->
314
          <dependency>
315
            <groupId>com.jcraft</groupId>
316
            <artifactId>jsch</artifactId>
317
            <version>0.1.53</version>
318
          </dependency>
319
        </dependencies>
320
      </plugin>
321
    </plugins>
322
    <extensions>
323
      <extension>
324
        <groupId>org.apache.maven.wagon</groupId>
325
        <artifactId>wagon-scm</artifactId>
326
        <version>1.0-beta-6</version>
327
      </extension>
328
      <extension>
329
        <groupId>org.apache.maven.wagon</groupId>
330
        <artifactId>wagon-ssh</artifactId>
331
        <version>1.0-beta-6</version>
332
      </extension>
333
      <extension>
334
        <groupId>org.apache.maven.wagon</groupId>
335
        <artifactId>wagon-ssh-external</artifactId>
336
        <version>1.0-beta-6</version>
337
      </extension>
338
      <extension>
339
        <groupId>org.apache.maven.scm</groupId>
340
        <artifactId>maven-scm-manager-plexus</artifactId>
341
        <version>1.0</version>
342
      </extension>
343
      <extension>
344
        <groupId>org.apache.maven.scm</groupId>
345
        <artifactId>maven-scm-provider-svnexe</artifactId>
346
        <version>1.0</version>
347
      </extension>
348
      <!-- WebDAV plugin to upload snapshots -->
349
      <extension>
350
        <groupId>org.apache.maven.wagon</groupId>
351
        <artifactId>wagon-webdav</artifactId>
352
        <version>1.0-beta-2</version>
353
      </extension>
354
    </extensions>
355
    <pluginManagement>
356
      <plugins>
357
        <plugin>
358
          <artifactId>maven-eclipse-plugin</artifactId>
359
          <configuration>
360
            <wtpversion>2.0</wtpversion>
361
            <additionalProjectnatures>
362
              <projectnature>com.vaadin.integration.eclipse.widgetsetNature</projectnature>
363
            </additionalProjectnatures>
364
            <additionalBuildcommands>
365
              <buildcommand>com.vaadin.integration.eclipse.widgetsetBuilder</buildcommand>
366
              <buildcommand>com.vaadin.integration.eclipse.addonStylesBuilder</buildcommand>
367
            </additionalBuildcommands>
368
          </configuration>
369
        </plugin>
370
      </plugins>
371
    </pluginManagement>
372
  </build>
373
  <dependencies>
374
    <dependency>
375
      <groupId>com.vaadin</groupId>
376
      <artifactId>vaadin-server</artifactId>
377
      <version>${vaadin.version}</version>
378
    </dependency>
379
    <dependency>
380
      <groupId>com.vaadin</groupId>
381
      <artifactId>vaadin-client-compiled</artifactId>
382
      <version>${vaadin.version}</version>
383
    </dependency>
384
    <!-- Needed when using the widgetset optimizer (custom ConnectorBundleLoaderFactory). 
385
      For widgetset compilation, vaadin-client-compiler is automatically added 
386
      on the compilation classpath by vaadin-maven-plugin so normally there is 
387
      no need for an explicit dependency. -->
388
    <!-- <dependency> <groupId>com.vaadin</groupId> <artifactId>vaadin-client-compiler</artifactId> 
389
      <version>${vaadin.version}</version> <scope>provided</scope> </dependency> -->
390
    <dependency>
391
      <groupId>com.vaadin</groupId>
392
      <artifactId>vaadin-client</artifactId>
393
      <version>${vaadin.version}</version>
394
      <scope>test</scope>
395
    </dependency>
396
    <!-- disabling push for the moment because it does not work with run-jetty-run 
397
      due to the fact that the latest (even nightly) version of run-jetty-run uses 
398
      9.0.0 M3 which is incompatible with atmoshpere. this does work with the jetty 
399
      included in this pom which is 9.2.5.xx, implying that enabling the dependency 
400
      and running the web app via 'mvn jetty:run' works fine. -->
401
    <!-- <dependency> -->
402
    <!-- <groupId>com.vaadin</groupId> -->
403
    <!-- <artifactId>vaadin-push</artifactId> -->
404
    <!-- <version>${vaadin.version}</version> -->
405
    <!-- </dependency> -->
406
    <dependency>
407
      <groupId>com.vaadin</groupId>
408
      <artifactId>vaadin-themes</artifactId>
409
      <version>${vaadin.version}</version>
410
    </dependency>
411
    <dependency>
412
      <groupId>javax.servlet</groupId>
413
      <artifactId>javax.servlet-api</artifactId>
414
      <version>3.1.0</version>
415
      <scope>provided</scope>
416
    </dependency>
417
    <dependency>
418
      <groupId>com.vaadin</groupId>
419
      <artifactId>vaadin-testbench-api</artifactId>
420
      <version>RELEASE</version>
421
      <scope>test</scope>
422
    </dependency>
423
    <dependency>
424
      <groupId>eu.etaxonomy</groupId>
425
      <artifactId>cdmlib-services</artifactId>
426
      <version>${cdmlib.version}</version>
427
      <scope>compile</scope>
428
    </dependency>    
429
    <!-- 
430
        further cdmlib-* dependencies
431
        which are only needed for running the vaadin application
432
        in the IDE.
433
        scope test is not transitive, so we have to add any 
434
        of the cdmlib artifacts 
435
     -->
436
    <dependency>
437
      <groupId>eu.etaxonomy</groupId>
438
      <artifactId>cdmlib-test</artifactId>
439
      <version>${cdmlib.version}</version>
440
      <scope>test</scope>
441
    </dependency>
442
    <dependency>
443
      <groupId>eu.etaxonomy</groupId>
444
      <artifactId>cdmlib-commons</artifactId>
445
      <version>${cdmlib.version}</version>
446
      <scope>test</scope>
447
    </dependency>
448
    <dependency>
449
      <groupId>eu.etaxonomy</groupId>
450
      <artifactId>cdmlib-model</artifactId>
451
      <version>${cdmlib.version}</version>
452
      <scope>test</scope>
453
    </dependency>
454
    <dependency>
455
      <groupId>eu.etaxonomy</groupId>
456
      <artifactId>cdmlib-persistence</artifactId>
457
      <version>${cdmlib.version}</version>
458
      <scope>test</scope>
459
    </dependency>
460
    <dependency>
461
      <groupId>eu.etaxonomy</groupId>
462
      <artifactId>cdmlib-remote</artifactId>
463
      <version>${cdmlib.version}</version>
464
      <scope>test</scope>
465
    </dependency>
466
    <dependency>
467
      <groupId>eu.etaxonomy</groupId>
468
      <artifactId>cdmlib-io</artifactId>
469
      <version>${cdmlib.version}</version>
470
      <scope>test</scope>
471
    </dependency>
472
    <dependency>
473
      <groupId>eu.etaxonomy</groupId>
474
      <artifactId>cdmlib-db</artifactId>
475
      <version>${cdmlib.version}</version>
476
      <scope>test</scope>
477
    </dependency>
478
    <dependency>
479
      <!-- adding itextpdf is required to fix dependency problems: itextpdf 
480
        is an managed transitive dependency of cdmlib-io without adding it here mvn 
481
        fails. Ev. this should be fixed by changing its scope in cdmlib-io to the 
482
        default scope -->
483
      <groupId>com.itextpdf</groupId>
484
      <artifactId>itextpdf</artifactId>
485
      <version>5.5.8</version>
486
      <scope>test</scope>
487
    </dependency>
488
    <!-- to override version number coming with vaadin client -->
489
    <dependency>
490
      <groupId>javax.validation</groupId>
491
      <artifactId>validation-api</artifactId>
492
      <version>1.1.0.Final</version>
493
    </dependency>
494
    <dependency>
495
      <groupId>org.springmodules</groupId>
496
      <artifactId>spring-modules-cache</artifactId>
497
      <version>0.7</version>
498
      <exclusions>
499
        <exclusion>
500
          <groupId>org.springframework</groupId>
501
          <artifactId>spring</artifactId>
502
        </exclusion>
503
        <exclusion>
504
          <groupId>org.springframework</groupId>
505
          <artifactId>spring-mock</artifactId>
506
        </exclusion>
507
      </exclusions>
508
      <scope>test</scope>
509
    </dependency>
510
    <dependency>
511
      <groupId>com.thoughtworks.xstream</groupId>
512
      <artifactId>xstream</artifactId>
513
      <version>1.4.7</version>
514
      <scope>test</scope>
515
    </dependency>
516
    <dependency>
517
      <groupId>org.springframework</groupId>
518
      <artifactId>spring-mock</artifactId>
519
      <version>2.0.8</version>
520
      <scope>test</scope>
521
    </dependency>
522
    <dependency>
523
      <groupId>org.springframework</groupId>
524
      <artifactId>spring-context-support</artifactId>
525
      <version>${spring.version}</version>
526
      <scope>test</scope>
527
    </dependency>
528
    <dependency>
529
      <groupId>org.springframework</groupId>
530
      <artifactId>spring-web</artifactId>
531
      <version>${spring.version}</version>
532
    </dependency>
533
    <dependency>
534
      <groupId>org.springframework</groupId>
535
      <artifactId>spring-webmvc</artifactId>
536
      <version>${spring.version}</version>
537
    </dependency>
538
    <!-- vaadin addons / extensions -->
539
    <dependency>
540
      <groupId>org.vaadin.addons</groupId>
541
      <artifactId>contextmenu</artifactId>
542
      <version>4.5</version>
543
    </dependency>
544
    <dependency>
545
      <groupId>junit</groupId>
546
      <artifactId>junit</artifactId>
547
      <version>4.11</version>
548
      <scope>test</scope>
549
    </dependency>
550
    <dependency>
551
      <groupId>org.slf4j</groupId>
552
      <artifactId>slf4j-log4j12</artifactId>
553
      <version>1.7.2</version>
554
      <scope>test</scope>
555
    </dependency>
556
    <dependency>
557
      <groupId>org.slf4j</groupId>
558
      <artifactId>slf4j-api</artifactId>
559
      <version>1.7.2</version>
560
      <scope>test</scope>
561
    </dependency>
562
    <dependency>
563
      <groupId>org.json</groupId>
564
      <artifactId>json</artifactId>
565
      <version>20151123</version>
566
    </dependency>
567
    <!-- lucene -->
568
    <dependency>
569
      <groupId>org.apache.lucene</groupId>
570
      <artifactId>lucene-core</artifactId>
571
      <version>${lucene.version}</version>
572
    </dependency>
573
    <dependency>
574
      <groupId>org.apache.lucene</groupId>
575
      <artifactId>lucene-suggest</artifactId>
576
      <version>${lucene.version}</version>
577
    </dependency>
578
    <dependency>
579
      <groupId>org.apache.lucene</groupId>
580
      <artifactId>lucene-analyzers-common</artifactId>
581
      <version>${lucene.version}</version>
582
    </dependency>
583
    <dependency>
584
      <groupId>org.apache.lucene</groupId>
585
      <artifactId>lucene-queryparser</artifactId>
586
      <version>${lucene.version}</version>
587
    </dependency>
588
    <dependency>
589
      <groupId>org.apache.lucene</groupId>
590
      <artifactId>lucene-highlighter</artifactId>
591
      <version>${lucene.version}</version>
592
    </dependency>
593
    <dependency>
594
      <groupId>org.apache.lucene</groupId>
595
      <artifactId>lucene-grouping</artifactId>
596
      <version>${lucene.version}</version>
597
    </dependency>
598
    <dependency>
599
      <groupId>org.apache.lucene</groupId>
600
      <artifactId>lucene-join</artifactId>
601
      <version>${lucene.version}</version>
602
    </dependency>
603
    <dependency>
604
      <groupId>org.apache.lucene</groupId>
605
      <artifactId>lucene-backward-codecs</artifactId>
606
      <version>${lucene.version}</version>
607
    </dependency>
608
    <dependency>
609
      <groupId>org.apache.lucene</groupId>
610
      <artifactId>lucene-misc</artifactId>
611
      <version>${lucene.version}</version>
612
    </dependency>
613
    <dependency>
614
      <groupId>org.apache.lucene</groupId>
615
      <artifactId>lucene-facet</artifactId>
616
      <version>${lucene.version}</version>
617
    </dependency>
618
  </dependencies>
619
</project>
(3-3/3)