replacing Vaadin4Spring Event Bus by Spring ApplicationEventPublisher
[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.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.7</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.6.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://wp5.e-taxonomy.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 <activation>
108 <property>
109 <name>align-cdmlib-version</name>
110 </property>
111 </activation>
112 <build>
113 <plugins>
114 <plugin>
115 <groupId>com.google.code.maven-replacer-plugin</groupId>
116 <artifactId>replacer</artifactId>
117 <version>1.5.3</version>
118 <executions>
119 <execution>
120 <phase>process-sources</phase>
121 <goals>
122 <goal>replace</goal>
123 </goals>
124 </execution>
125 </executions>
126 <configuration>
127 <file>pom.xml</file>
128 <!-- \u003C = < , \u003E = > -->
129 <token>(\u003Ccdmlib\.version\u003E)[^\u003C]*</token>
130 <value>$1${project.version}</value>
131 </configuration>
132 </plugin>
133 </plugins>
134 </build>
135 </profile>
136 <profile>
137 <id>java8-doclint-disabled</id>
138 <activation>
139 <jdk>[1.8,)</jdk>
140 </activation>
141 <properties>
142 <javadoc.opts>-Xdoclint:none</javadoc.opts>
143 </properties>
144 </profile>
145 </profiles>
146 <build>
147 <resources>
148 <resource>
149 <!-- replace the place holders like ${...} in datasources.xml -->
150 <filtering>true</filtering>
151 <directory>src/test/resources</directory>
152 <targetPath>../test-classes</targetPath>
153 <includes>
154 <include>datasources.xml</include>
155 </includes>
156 </resource>
157 <resource>
158 <!-- all other test resources without filtering -->
159 <directory>src/test/resources</directory>
160 <targetPath>../test-classes</targetPath>
161 <excludes>
162 <exclude>datasources.xml</exclude>
163 </excludes>
164 </resource>
165 <resource>
166 <!-- all main resources without filtering -->
167 <directory>src/main/resources</directory>
168 </resource>
169 </resources>
170 <plugins>
171 <plugin>
172 <groupId>org.apache.maven.plugins</groupId>
173 <artifactId>maven-compiler-plugin</artifactId>
174 <version>3.3</version>
175 <configuration>
176 <source>${maven.compiler.source}</source>
177 <target>${maven.compiler.target}</target>
178 <encoding>UTF-8</encoding>
179 </configuration>
180 </plugin>
181 <plugin>
182 <groupId>org.apache.maven.plugins</groupId>
183 <artifactId>maven-surefire-plugin</artifactId>
184 <version>2.19.1</version>
185 <configuration>
186 <argLine>-Xms256m -Xmx512m</argLine>
187 </configuration>
188 </plugin>
189 <!-- As we are doing "inplace" GWT compilation, ensure the widgetset -->
190 <!-- directory is cleaned properly -->
191 <plugin>
192 <artifactId>maven-clean-plugin</artifactId>
193 <version>2.4.1</version>
194 <configuration>
195 <filesets>
196 <fileset>
197 <directory>src/main/webapp/VAADIN/widgetsets</directory>
198 </fileset>
199 </filesets>
200 </configuration>
201 </plugin>
202 <plugin>
203 <groupId>org.apache.maven.plugins</groupId>
204 <artifactId>maven-javadoc-plugin</artifactId>
205 <version>2.9.1</version>
206 <configuration>
207 <additionalparam>${javadoc.opts}</additionalparam>
208 </configuration>
209 </plugin>
210 <plugin>
211 <groupId>org.apache.maven.plugins</groupId>
212 <artifactId>maven-war-plugin</artifactId>
213 <version>2.2</version>
214 <configuration>
215 <failOnMissingWebXml>false</failOnMissingWebXml>
216 <warSourceExcludes>WEB-INF/*,WEB-INF/datasources/*</warSourceExcludes>
217 </configuration>
218 </plugin>
219 <plugin>
220 <groupId>com.vaadin</groupId>
221 <artifactId>vaadin-maven-plugin</artifactId>
222 <version>${vaadin.plugin.version}</version>
223 <configuration>
224 <extraJvmArgs>-Xmx512M -Xss1024k</extraJvmArgs>
225 <!-- We are doing "inplace" but into subdir VAADIN/widgetsets.
226 This way compatible with Vaadin eclipse plugin. -->
227 <webappDirectory>${basedir}/src/main/webapp/VAADIN/widgetsets</webappDirectory>
228 <hostedWebapp>${basedir}/src/main/webapp/VAADIN/widgetsets</hostedWebapp>
229 <!-- Most Vaadin apps don't need this stuff, guide that to target -->
230 <persistentunitcachedir>${project.build.directory}</persistentunitcachedir>
231 <deploy>${project.build.directory}/gwt-deploy</deploy>
232 <!-- Compile report is not typically needed either, saves hunreds
233 of mb disk -->
234 <compileReport>false</compileReport>
235 <noServer>true</noServer>
236 <!-- Remove draftCompile when project is ready -->
237 <draftCompile>false</draftCompile>
238 <style>OBF</style>
239 <strict>true</strict>
240 <runTarget>http://localhost:8080/</runTarget>
241 </configuration>
242 <executions>
243 <execution>
244 <configuration>
245 <!-- if you don't specify any modules, the plugin will find
246 them -->
247 <!-- <modules> <module>com.vaadin.demo.mobilemail.gwt.ColorPickerWidgetSet</module>
248 </modules> -->
249 </configuration>
250 <goals>
251 <goal>clean</goal>
252 <goal>resources</goal>
253 <goal>update-theme</goal>
254 <goal>update-widgetset</goal>
255 <goal>compile-theme</goal>
256 <goal>compile</goal>
257 </goals>
258 </execution>
259 </executions>
260 </plugin>
261 <plugin>
262 <groupId>org.eclipse.jetty</groupId>
263 <artifactId>jetty-maven-plugin</artifactId>
264 <version>9.4.0.RC1</version>
265 <!--
266 NOTE:
267 9.4.0.RC1 requires jdk 1.8, formerly we've been using version 9.1.3.v20140225 which was
268 the last version compatible to java 7, but this was causing other problems related to asm
269 which could not be easily solved.
270 -->
271 <configuration>
272 <useTestScope>true</useTestScope>
273 <scanIntervalSeconds>2</scanIntervalSeconds>
274 <systemProperties>
275 <force>true</force>
276 <systemProperty>
277 <name>cdm.datasource</name>
278 <value>h2_cdmTest</value>
279 </systemProperty>
280 <systemProperty>
281 <!--
282 The lucene index should be placed into the target folder,
283 so user.home needs to be set to this folder. user.home needs to be overridden
284 since it already exists, thus the force option is turned on above
285 -->
286 <name>user.home</name>
287 <value>${basedir}/target/</value>
288 </systemProperty>
289 <systemProperty>
290 <!--
291 datasources.xml is prepared by <plugins><resources>..</resources> above
292 -->
293 <name>cdm.beanDefinitionFile</name>
294 <value>${project.build.directory}/test-classes/datasources.xml</value>
295 </systemProperty>
296 <systemProperty>
297 <name>log4j.configuration</name>
298 <value>file:///home/andreas/.cdmLibrary/log4j.properties</value>
299 </systemProperty>
300 </systemProperties>
301 </configuration>
302 <dependencies>
303 <dependency>
304 <groupId>org.slf4j</groupId>
305 <artifactId>slf4j-log4j12</artifactId>
306 <version>1.6.4</version>
307 </dependency>
308 </dependencies>
309 </plugin>
310 <plugin>
311 <groupId>org.apache.maven.plugins</groupId>
312 <artifactId>maven-failsafe-plugin</artifactId>
313 <version>2.17</version>
314 <configuration>
315 <!-- Remove the skipTests line below to run TestBench tests -->
316 <!-- <skipTests>true</skipTests> -->
317 </configuration>
318 <executions>
319 <execution>
320 <goals>
321 <goal>integration-test</goal>
322 <goal>verify</goal>
323 </goals>
324 </execution>
325 </executions>
326 </plugin>
327 <plugin>
328 <groupId>external.atlassian.jgitflow</groupId>
329 <artifactId>jgitflow-maven-plugin</artifactId>
330 <version>1.0-m6</version>
331 <configuration>
332 <pushHotfixes>true</pushHotfixes>
333 <pushReleases>true</pushReleases>
334 <enableSshAgent>true</enableSshAgent>
335 <allowSnapshots>true</allowSnapshots>
336 <allowUntracked>true</allowUntracked>
337 </configuration>
338 <dependencies>
339 <!-- upgrading dependency jsch.agent.version of jgit-flow plugin
340 to 0.1.53 in order have ssl key exchange algorithms compatible with openssh
341 6.7 -->
342 <dependency>
343 <groupId>com.jcraft</groupId>
344 <artifactId>jsch</artifactId>
345 <version>0.1.53</version>
346 </dependency>
347 </dependencies>
348 </plugin>
349 </plugins>
350 <extensions>
351 <extension>
352 <groupId>org.apache.maven.wagon</groupId>
353 <artifactId>wagon-scm</artifactId>
354 <version>1.0-beta-6</version>
355 </extension>
356 <extension>
357 <groupId>org.apache.maven.wagon</groupId>
358 <artifactId>wagon-ssh</artifactId>
359 <version>1.0-beta-6</version>
360 </extension>
361 <extension>
362 <groupId>org.apache.maven.wagon</groupId>
363 <artifactId>wagon-ssh-external</artifactId>
364 <version>1.0-beta-6</version>
365 </extension>
366 <extension>
367 <groupId>org.apache.maven.scm</groupId>
368 <artifactId>maven-scm-manager-plexus</artifactId>
369 <version>1.0</version>
370 </extension>
371 <extension>
372 <groupId>org.apache.maven.scm</groupId>
373 <artifactId>maven-scm-provider-svnexe</artifactId>
374 <version>1.0</version>
375 </extension>
376 <!-- WebDAV plugin to upload snapshots -->
377 <extension>
378 <groupId>org.apache.maven.wagon</groupId>
379 <artifactId>wagon-webdav</artifactId>
380 <version>1.0-beta-2</version>
381 </extension>
382 </extensions>
383 <pluginManagement>
384 <plugins>
385 <plugin>
386 <artifactId>maven-eclipse-plugin</artifactId>
387 <configuration>
388 <wtpversion>2.0</wtpversion>
389 <additionalProjectnatures>
390 <projectnature>com.vaadin.integration.eclipse.widgetsetNature</projectnature>
391 </additionalProjectnatures>
392 <additionalBuildcommands>
393 <buildcommand>com.vaadin.integration.eclipse.widgetsetBuilder</buildcommand>
394 <buildcommand>com.vaadin.integration.eclipse.addonStylesBuilder</buildcommand>
395 </additionalBuildcommands>
396 </configuration>
397 </plugin>
398 </plugins>
399 </pluginManagement>
400 </build>
401 <dependencies>
402 <!-- ============ Vaadin ============ -->
403 <dependency>
404 <groupId>com.vaadin</groupId>
405 <artifactId>vaadin-spring</artifactId>
406 <version>${vaadin-spring.version}</version>
407 </dependency>
408 <dependency>
409 <groupId>com.vaadin</groupId>
410 <artifactId>vaadin-server</artifactId>
411 </dependency>
412 <dependency>
413 <groupId>com.vaadin</groupId>
414 <artifactId>vaadin-client-compiled</artifactId>
415 </dependency>
416 <!-- Needed when using the widgetset optimizer (custom ConnectorBundleLoaderFactory).
417 For widgetset compilation, vaadin-client-compiler is automatically added
418 on the compilation classpath by vaadin-maven-plugin so normally there is
419 no need for an explicit dependency. -->
420 <!-- <dependency> <groupId>com.vaadin</groupId> <artifactId>vaadin-client-compiler</artifactId>
421 <version>${vaadin.version}</version> <scope>provided</scope> </dependency> -->
422 <dependency>
423 <groupId>com.vaadin</groupId>
424 <artifactId>vaadin-client</artifactId>
425 <scope>test</scope>
426 </dependency>
427 <!-- disabling push for the moment because it does not work with run-jetty-run
428 due to the fact that the latest (even nightly) version of run-jetty-run uses
429 9.0.0 M3 which is incompatible with atmoshpere. this does work with the jetty
430 included in this pom which is 9.2.5.xx, implying that enabling the dependency
431 and running the web app via 'mvn jetty:run' works fine. -->
432 <!-- <dependency> -->
433 <!-- <groupId>com.vaadin</groupId> -->
434 <!-- <artifactId>vaadin-push</artifactId> -->
435 <!-- <version>${vaadin.version}</version> -->
436 <!-- </dependency> -->
437 <dependency>
438 <groupId>com.vaadin</groupId>
439 <artifactId>vaadin-themes</artifactId>
440 </dependency>
441 <dependency>
442 <groupId>com.vaadin</groupId>
443 <artifactId>vaadin-testbench-api</artifactId>
444 <version>RELEASE</version>
445 <scope>test</scope>
446 </dependency>
447 <!-- vaadin addons / extensions -->
448 <dependency>
449 <groupId>org.vaadin.addons</groupId>
450 <artifactId>contextmenu</artifactId>
451 <version>4.5</version>
452 </dependency>
453 <!-- ============ cdmlib ============ -->
454 <dependency>
455 <groupId>eu.etaxonomy</groupId>
456 <artifactId>cdmlib-remote</artifactId>
457 <scope>compile</scope>
458 </dependency>
459 <dependency>
460 <groupId>eu.etaxonomy</groupId>
461 <artifactId>cdmlib-test</artifactId>
462 <scope>test</scope>
463 </dependency>
464 <dependency>
465 <groupId>eu.etaxonomy</groupId>
466 <artifactId>cdmlib-db</artifactId>
467 <version>${cdmlib.version}</version>
468 <scope>test</scope>
469 </dependency>
470 <!-- ============ Other ============ -->
471 <!--
472 to override version number coming with vaadin client
473 version is managed in cdmlib-parent
474 -->
475 <dependency>
476 <groupId>javax.validation</groupId>
477 <artifactId>validation-api</artifactId>
478 </dependency>
479 <dependency>
480 <groupId>org.springmodules</groupId>
481 <artifactId>spring-modules-cache</artifactId>
482 <version>0.7</version>
483 <exclusions>
484 <exclusion>
485 <groupId>org.springframework</groupId>
486 <artifactId>spring</artifactId>
487 </exclusion>
488 <exclusion>
489 <groupId>org.springframework</groupId>
490 <artifactId>spring-mock</artifactId>
491 </exclusion>
492 </exclusions>
493 <scope>test</scope>
494 </dependency>
495 <dependency>
496 <groupId>org.springframework</groupId>
497 <artifactId>spring-mock</artifactId>
498 <version>2.0.8</version>
499 <scope>test</scope>
500 </dependency>
501 <dependency>
502 <groupId>org.json</groupId>
503 <artifactId>json</artifactId>
504 </dependency>
505 <dependency>
506 <groupId>javax.servlet</groupId>
507 <artifactId>javax.servlet-api</artifactId>
508 <scope>provided</scope>
509 </dependency>
510 </dependencies>
511 </project>