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