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