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