[maven-release-plugin] prepare for next development iteration
[cdm-server.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/xsd/maven-4.0.0.xsd">
3
4 <modelVersion>4.0.0</modelVersion>
5 <groupId>eu.etaxonomy</groupId>
6 <artifactId>cdm-server</artifactId>
7 <version>3.2.1-SNAPSHOT</version>
8 <packaging>jar</packaging>
9 <name>CDM Community Standalone Server</name>
10
11 <properties>
12 <jetty-version>7.2.2.v20101205</jetty-version>
13 </properties>
14
15 <scm>
16 <!-- see section Provider Configuration in http://maven.apache.org/scm/subversion.html
17 for instructions on how to externalize credentials in $user.home/.scm/svn-settings.xml -->
18 <connection>scm:svn:http://dev.e-taxonomy.eu/svn/trunk/cdm-server</connection>
19 <developerConnection>scm:svn:http://dev.e-taxonomy.eu/svn/trunk/cdm-server</developerConnection>
20 <url>http://dev.e-taxonomy.eu/trac/browser/trunk/cdm-server</url>
21 </scm>
22
23 <mailingLists>
24 <mailingList>
25 <name>dev-edit</name>
26 <subscribe>
27 https://webmail.mnhn.fr/wws/subrequest/dev-edit
28 </subscribe>
29 <unsubscribe>
30 https://webmail.mnhn.fr/wws/sigrequest/dev-edit
31 </unsubscribe>
32 <post>dev-edit@mnhn.fr</post>
33 <archive>https://webmail.mnhn.fr/wws/arc/dev-edit/</archive>
34 </mailingList>
35 <mailingList>
36 <name>cdm-edit</name>
37 <post>cdm-edit@mnhn.fr</post>
38 <subscribe>
39 https://webmail.mnhn.fr/wws/subrequest/cdm-edit
40 </subscribe>
41 <unsubscribe>
42 https://webmail.mnhn.fr/wws/sigrequest/cdm-edit
43 </unsubscribe>
44 <archive>https://webmail.mnhn.fr/wws/arc/cdm-edit/</archive>
45 </mailingList>
46 </mailingLists>
47 <licenses>
48 <license>
49 <name>Mozilla Public License Version 1.1</name>
50 <url>http://www.mozilla.org/MPL/MPL-1.1.html</url>
51 <distribution>repo</distribution>
52 </license>
53 </licenses>
54 <developers>
55 <developer>
56 <!-- your SVN account id please! -->
57 <id>a.kohlbecker</id>
58 <name>
59 Andreas Kohlbecker
60 </name>
61 <email>a.kohlbecker [at] bgbm.org</email>
62 <organization>
63 Botanical Garden Botanical Museum Berlin
64 </organization>
65 <organizationUrl>http://www.bgbm.org/BioDivInf/</organizationUrl>
66 <timezone>+1</timezone>
67 <roles>
68 <role>Developer</role>
69 </roles>
70 <url />
71 </developer>
72 </developers>
73
74 <!-- contributors> <contributor> <name>Test-Contributor</name> </contributor>
75 </contributors -->
76 <issueManagement>
77 <system>Trac</system>
78 <url>http://dev.e-taxonomy.eu/trac/</url>
79 </issueManagement>
80 <ciManagement>
81 <system>Jenkins</system>
82 <url>http://160.45.63.201/jenkins</url>
83 </ciManagement>
84 <!-- **** REPOSITORIES **** -->
85 <repositories>
86 <!-- sun repository -->
87 <repository>
88 <id>java.net</id>
89 <url>http://download.java.net/maven/1/</url>
90 <layout>legacy</layout>
91 </repository>
92 <!-- the localhost Maven Repository -->
93 <repository>
94 <id>EditLocalRepository</id>
95 <!--
96 disable the local repo to let maven always retrieve the
97 latest cdmlib-remote-webapp.war
98
99 TODO: use ${localrepo} for ${user.home}/.m2/repository
100 in MAVEN 3
101 -->
102 <url>file://${user.home}/.m2/repository/eu/etaxonomy/</url>
103 <releases>
104 <enabled>false</enabled>
105 <updatePolicy>always</updatePolicy>
106 </releases>
107 <snapshots>
108 <enabled>false</enabled>
109 <updatePolicy>always</updatePolicy>
110 </snapshots>
111 </repository>
112 <!-- the EDIT Maven Repository -->
113 <repository>
114 <id>EditRepository</id>
115 <url>http://wp5.e-taxonomy.eu/mavenrepo/</url>
116 <releases>
117 <enabled>true</enabled>
118 <updatePolicy>always</updatePolicy>
119 </releases>
120 <snapshots>
121 <enabled>true</enabled>
122 <updatePolicy>always</updatePolicy>
123 </snapshots>
124 </repository>
125 <!-- apache incubating repository -->
126 <repository>
127 <id>ApacheIncubating</id>
128 <url>http://people.apache.org/repo/m2-incubating-repository/</url>
129 </repository>
130 </repositories>
131
132 <!-- **** PLUGINS **** -->
133 <build>
134 <resources>
135 <!-- ${basedir}/src/main/resources -->
136 <resource>
137 <!-- replace the project-version placeholder in the version.properties
138 file. This property can then be used to retrieve the version number in the
139 Bootloader -->
140 <targetPath>${project.build.directory}/classes</targetPath>
141 <filtering>true</filtering>
142 <directory>${basedir}/src/main/resources</directory>
143 <includes>
144 <include>version.properties</include>
145 </includes>
146 </resource>
147 <resource>
148 <!-- all other files in classes -->
149 <targetPath>${project.build.directory}/classes</targetPath>
150 <directory>${basedir}/src/main/resources</directory>
151 <excludes>
152 <exclude>version.properties</exclude>
153 </excludes>
154 </resource>
155 <!-- ${basedir}/src/main/installer/win32 -->
156 <resource>
157 <targetPath>${project.build.directory}/installer</targetPath>
158 <filtering>true</filtering>
159 <directory>${basedir}/src/main/installer</directory>
160 <includes>
161 <include>win32/program-folder/etc/CDMServer.conf</include>
162 <include>win32/setup.nsi</include>
163 </includes>
164 </resource>
165 <resource>
166 <targetPath>${project.build.directory}/installer</targetPath>
167 <directory>${basedir}/src/main/installer</directory>
168 <excludes>
169 <exclude>win32/program-folder/etc/CDMServer.conf</exclude>
170 <exclude>win32/setup.nsi</exclude>
171 </excludes>
172 </resource>
173 </resources>
174 <plugins>
175 <!-- ====== IDE ====== -->
176 <plugin>
177 <groupId>org.apache.maven.plugins</groupId>
178 <artifactId>maven-eclipse-plugin</artifactId>
179 <configuration>
180 <downloadSources>true</downloadSources>
181 <downloadJavadocs>true</downloadJavadocs>
182 </configuration>
183 </plugin>
184
185 <plugin>
186 <!-- only needed for testing the svn credentials credentials are usually
187 stored by svn automatically unless not configured differently in {user.home}\.subversion\config
188 So in order to use a specific svn account with maven firts to a commit manually
189 by svn ci -m "commit message" and answer the question wether to store the
190 credential with yes. There is no specific maven configuration required for
191 svn to work with maven! -->
192 <groupId>org.apache.maven.plugins</groupId>
193 <artifactId>maven-scm-plugin</artifactId>
194 <version>1.5</version>
195 <configuration>
196 <connectionType>developerConnection</connectionType>
197 </configuration>
198 </plugin>
199 <!-- ====== CREATE ====== -->
200 <plugin>
201 <artifactId>maven-compiler-plugin</artifactId>
202 <configuration>
203 <source>1.6</source>
204 <target>1.6</target>
205 </configuration>
206 </plugin>
207 <plugin>
208 <artifactId>maven-surefire-plugin</artifactId>
209 <configuration>
210 <argLine>-Xmx512M</argLine>
211 <includes>
212 <include>**/*Test.java</include>
213 </includes>
214 <systemProperties>
215 <property>
216 <name>hibernate.connection.driver_class</name>
217 <value>${hibernate.connection.driver_class}</value>
218 </property>
219 <property>
220 <name>hibernate.connection.url</name>
221 <value>${hibernate.connection.url}</value>
222 </property>
223 <property>
224 <name>hibernate.connection.username</name>
225 <value>${hibernate.connection.username}</value>
226 </property>
227 <property>
228 <name>hibernate.connection.password</name>
229 <value>${hibernate.connection.password}</value>
230 </property>
231 </systemProperties>
232 </configuration>
233 </plugin>
234 <!-- ====== CREATE ====== -->
235 <plugin>
236 <groupId>org.codehaus.mojo</groupId>
237 <artifactId>buildnumber-maven-plugin</artifactId>
238 <version>1.0-beta-3</version>
239 <executions>
240 <execution>
241 <!--<phase>deploy</phase> -->
242 <goals>
243 <goal>create</goal>
244 </goals>
245 </execution>
246 </executions>
247 <configuration>
248 <doCheck>false</doCheck>
249 <!-- Only create the build number if there are no local modifications -->
250 <doUpdate>false</doUpdate>
251 <!-- automatically update the local svn copy -->
252 </configuration>
253 </plugin>
254 <plugin>
255 <groupId>org.apache.maven.plugins</groupId>
256 <artifactId>maven-site-plugin</artifactId>
257 <version>2.1.1</version>
258 <configuration>
259 <locales>en</locales>
260 </configuration>
261 </plugin>
262 <!-- ====== VERIFY ====== -->
263 <plugin>
264 <groupId>org.apache.maven.plugins</groupId>
265 <artifactId>maven-source-plugin</artifactId>
266 <executions>
267 <execution>
268 <id>attach-sources</id>
269 <phase>verify</phase>
270 <goals>
271 <goal>jar</goal>
272 </goals>
273 </execution>
274 </executions>
275 </plugin>
276 <plugin>
277 <groupId>org.apache.maven.plugins</groupId>
278 <artifactId>maven-javadoc-plugin</artifactId>
279 <configuration>
280 <aggregate>true</aggregate>
281 <stylesheet>maven</stylesheet>
282 </configuration>
283 </plugin>
284
285 <!-- ====== PROCESS-SOURCES ====== -->
286 <plugin>
287 <groupId>org.apache.maven.plugins</groupId>
288 <artifactId>maven-dependency-plugin</artifactId>
289 <version>2.6</version>
290 <executions>
291 <execution>
292 <id>copy</id>
293 <goals>
294 <goal>copy</goal>
295 </goals>
296 <configuration>
297 <silent>flase</silent>
298 <stripVersion>true</stripVersion>
299 <overWriteSnapshots>true</overWriteSnapshots>
300 <overWriteIfNewer>true</overWriteIfNewer>
301 <overWriteReleases>true</overWriteReleases>
302 <artifactItems>
303 <artifactItem>
304 <groupId>eu.etaxonomy</groupId>
305 <artifactId>cdmlib-remote-webapp</artifactId>
306 <version>${project.version}</version>
307 <type>war</type>
308 <!-- <classifier> [classifier - optional] </classifier> -->
309 <overWrite>true</overWrite>
310 <destFileName>cdmlib-remote-webapp-${project.version}.war</destFileName>
311 <outputDirectory>
312 ${project.build.directory}/cdm-server-${project.version}</outputDirectory>
313 </artifactItem>
314 </artifactItems>
315 </configuration>
316 </execution>
317 </executions>
318 </plugin>
319
320 <!-- ====== PACKAGE ====== -->
321 <!-- package the default webapp, // (and also add the cdmlib-remote-webapp.war)
322 test with: mvn war:war -->
323 <plugin>
324 <groupId>org.apache.maven.plugins</groupId>
325 <artifactId>maven-war-plugin</artifactId>
326 <version>2.1-beta-1</version>
327 <configuration>
328 <warName>default-webapp</warName>
329 <!-- <overlays> <overlay> <groupId>eu.etaxonomy</groupId> <artifactId>cdmlib-remote-webapp</artifactId>
330 <!- - version is set in dependency - -> <skip>true</skip><!- - Do Not overlay
331 - -> </overlay> </overlays> -->
332 </configuration>
333 <executions>
334 <execution>
335 <phase>package</phase>
336 <goals>
337 <goal>war</goal>
338 </goals>
339 </execution>
340 </executions>
341 </plugin>
342 <!-- ====== INSTALL ====== -->
343 <plugin>
344 <!-- Assemble the runnable server jar test with: mvn assembly:single -->
345 <artifactId>maven-assembly-plugin</artifactId>
346 <configuration>
347 <appendAssemblyId>false</appendAssemblyId>
348 <descriptors>
349 <descriptor>src/main/assembly/assembly.xml</descriptor>
350 </descriptors>
351 <archive>
352 <manifest>
353 <mainClass>eu.etaxonomy.cdm.server.Bootloader</mainClass>
354 <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
355 <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
356 </manifest>
357 </archive>
358 </configuration>
359 <executions>
360 <execution>
361 <id>make-assembly</id>
362 <phase>install</phase>
363 <goals>
364 <goal>attached</goal>
365 </goals>
366 </execution>
367 </executions>
368 </plugin>
369 <plugin>
370 <!-- Build a Debian package -->
371 <artifactId>maven-antrun-plugin</artifactId>
372 <version>1.3</version>
373 <executions>
374 <execution>
375 <phase>install</phase>
376 <configuration>
377 <tasks>
378 <property name="project.fullversionstring" value="${project.version}" />
379 <property name="project.version" value="${project.version}" />
380 <ant antfile="${project.basedir}/src/main/installer/linux/build-deb.xml" dir="${project.basedir}" />
381 </tasks>
382 </configuration>
383 <goals>
384 <goal>run</goal>
385 </goals>
386 </execution>
387 </executions>
388 </plugin>
389 <!-- Build windows installer -->
390 <plugin>
391 <groupId>org.codehaus.mojo</groupId>
392 <artifactId>exec-maven-plugin</artifactId>
393 <version>1.2.1</version>
394 <executions>
395 <execution>
396 <phase>install</phase>
397 <goals>
398 <goal>exec</goal>
399 </goals>
400 </execution>
401 </executions>
402 <configuration>
403 <executable>makensis</executable>
404 <!-- optional -->
405 <workingDirectory>/tmp</workingDirectory>
406 <arguments>
407 <!-- <argument>-V3</argument> -->
408 <argument>${project.basedir}/target/installer/win32/setup.nsi</argument>
409 </arguments>
410 </configuration>
411 </plugin>
412 <!-- ====== DEPLOY ====== -->
413 <plugin>
414 <groupId>org.apache.maven.plugins</groupId>
415 <artifactId>maven-release-plugin</artifactId>
416 <version>2.1</version>
417 <configuration>
418 <allowTimestampedSnapshots>true</allowTimestampedSnapshots>
419 <autoVersionSubmodules>false</autoVersionSubmodules>
420 <preparationGoals>clean verify install</preparationGoals>
421 <goals>deploy</goals><!-- skipping site-deploy by explicitly configuring
422 the goal here -->
423 <tagBase>http://dev.e-taxonomy.eu/svn/tags/cdm-server</tagBase>
424 </configuration>
425 </plugin>
426 <plugin>
427 <groupId>org.codehaus.mojo</groupId>
428 <artifactId>wagon-maven-plugin</artifactId>
429 <version>1.0-beta-3</version>
430 <!-- Problems with the wagon-maven-plugin have been encounterd on Windows,
431 it should work properly on linux though. -->
432 <executions>
433 <execution>
434 <phase>deploy</phase>
435 <goals>
436 <goal>upload</goal>
437 </goals>
438 </execution>
439 </executions>
440 <configuration>
441 <fromDir>target</fromDir>
442 <includes>*${project.version}*.deb,*${project.version}*.jar,*${project.version}*.exe</includes>
443 <url>scpexe://wp5.e-taxonomy.eu/var/www/download/cdmserver/${project.version}</url>
444 <serverId>wp5.e-taxonomy.eu</serverId>
445 </configuration>
446 </plugin>
447 </plugins>
448 <!-- EXTENSIONS -->
449 <extensions>
450 <extension>
451 <groupId>org.apache.maven.wagon</groupId>
452 <artifactId>wagon-scm</artifactId>
453 <version>1.0-alpha-5</version>
454 </extension>
455 <extension>
456 <groupId>org.apache.maven.wagon</groupId>
457 <artifactId>wagon-ssh</artifactId>
458 <version>1.0-beta-7</version>
459 </extension>
460 <extension>
461 <groupId>org.apache.maven.scm</groupId>
462 <artifactId>maven-scm-manager-plexus</artifactId>
463 <version>1.0</version>
464 </extension>
465 <extension>
466 <groupId>org.apache.maven.scm</groupId>
467 <artifactId>maven-scm-provider-svnexe</artifactId>
468 <version>1.0</version>
469 </extension>
470 <!-- WebDAV plugin to upload snapshots -->
471 <extension>
472 <groupId>org.apache.maven.wagon</groupId>
473 <artifactId>wagon-webdav</artifactId>
474 <version>1.0-beta-2</version>
475 </extension>
476 </extensions>
477 </build>
478
479 <reporting>
480 <plugins>
481 <plugin>
482 <!-- you will want to start by publishing your classes' Javadocs -->
483 <groupId>org.apache.maven.plugins</groupId>
484 <artifactId>maven-javadoc-plugin</artifactId>
485 <configuration>
486 <links>
487 <link>http://java.sun.com/j2se/1.6.0/docs/api/</link>
488 <!-- more libraries? -->
489 </links>
490 </configuration>
491 </plugin>
492 <plugin>
493 <!-- this will generate an indexed and cross-referenced HTML version
494 of your source code -->
495 <groupId>org.apache.maven.plugins</groupId>
496 <artifactId>maven-jxr-plugin</artifactId>
497 </plugin>
498 <plugin>
499 <!-- if you use @todo tags to remind you of things to be done (which
500 is a good coding practice), the taglist report will generate a list of all
501 the items marked @todo or TODO -->
502 <groupId>org.codehaus.mojo</groupId>
503 <artifactId>taglist-maven-plugin</artifactId>
504 </plugin>
505 <plugin>
506 <!-- Test coverage can be a useful indication of the quality of your
507 unit tests. It basically tells you how much of your code is actually run
508 by your unit tests, which, in turn, can give you a good idea of the tests'
509 quality -->
510 <groupId>org.codehaus.mojo</groupId>
511 <artifactId>cobertura-maven-plugin</artifactId>
512 </plugin>
513
514
515 </plugins>
516 </reporting>
517 <!-- DISTRIBUTION MANAGEMENT -->
518 <distributionManagement>
519 <site>
520 <id>wp5.e-taxonomy.eu</id>
521 <url>
522 scpexe://wp5.e-taxonomy.eu/var/www/wp5.e-taxonomy.eu/cdm-server/
523 </url>
524 </site>
525 <repository>
526 <uniqueVersion>false</uniqueVersion>
527 <id>wp5.e-taxonomy.eu</id>
528 <name>Edit Maven Repository</name>
529 <url>
530 scpexe://wp5.e-taxonomy.eu/var/www/wp5.e-taxonomy.eu/mavenrepo
531 </url>
532 </repository>
533 </distributionManagement>
534
535 <dependencies>
536 <!-- maven 3 no longer supports uniqueVerions for SNAPSHOT artifacts. The
537 cdm-server Bootlader however relies on a specific name of the cdmlib-remote-webapp
538 war file. In order to achieve this with maven 3 the below dependency is now
539 handled more explicitely by utilizing the dependency:copy-dependencies gloal
540 in the build/plugins section <dependency> <groupId>eu.etaxonomy</groupId>
541 <artifactId>cdmlib-remote-webapp</artifactId> <version>${project.version}</version>
542 <type>war</type> </dependency> -->
543
544 <!-- JETTY 7 -->
545 <dependency>
546 <groupId>org.eclipse.jetty</groupId>
547 <artifactId>jetty-webapp</artifactId>
548 <version>${jetty-version}</version>
549 </dependency>
550 <dependency>
551 <groupId>org.eclipse.jetty</groupId>
552 <artifactId>jetty-plus</artifactId>
553 <version>${jetty-version}</version>
554 </dependency>
555 <dependency>
556 <groupId>org.eclipse.jetty</groupId>
557 <artifactId>jetty-webapp</artifactId>
558 <version>${jetty-version}</version>
559 </dependency>
560 <dependency>
561 <groupId>org.eclipse.jetty</groupId>
562 <artifactId>jetty-jmx</artifactId>
563 <version>${jetty-version}</version>
564 </dependency>
565 <dependency>
566 <groupId>org.eclipse.jetty</groupId>
567 <artifactId>jetty-security</artifactId>
568 <version>${jetty-version}</version>
569 </dependency>
570 <dependency>
571 <groupId>org.mortbay.jetty</groupId>
572 <artifactId>jsp-2.1-glassfish</artifactId>
573 <version>9.1.1.B60.25.p2</version>
574 </dependency>
575 <dependency>
576 <groupId>javax.transaction</groupId>
577 <artifactId>jta</artifactId>
578 <version>1.1</version>
579 </dependency>
580 <!-- JSON -->
581 <dependency>
582 <groupId>org.codehaus.jackson</groupId>
583 <artifactId>jackson-mapper-asl</artifactId>
584 <version>1.8.8</version>
585 </dependency>
586 <!-- windows service -->
587 <dependency>
588 <groupId>tanukisoft</groupId>
589 <artifactId>wrapper</artifactId>
590 <version>3.2.3</version>
591 </dependency>
592
593 <!-- Logging -->
594 <dependency>
595 <groupId>org.slf4j</groupId>
596 <artifactId>slf4j-api</artifactId>
597 <version>1.7.2</version>
598 </dependency>
599 <dependency>
600 <groupId>org.slf4j</groupId>
601 <artifactId>slf4j-log4j12</artifactId>
602 <version>1.7.2</version>
603 </dependency>
604 <dependency>
605 <groupId>commons-cli</groupId>
606 <artifactId>commons-cli</artifactId>
607 <version>1.2</version>
608 </dependency>
609 <dependency>
610 <groupId>commons-io</groupId>
611 <artifactId>commons-io</artifactId>
612 <version>2.4</version>
613 </dependency>
614 <dependency>
615 <groupId>net.sf.jopt-simple</groupId>
616 <artifactId>jopt-simple</artifactId>
617 <version>3.2</version>
618 </dependency>
619 <dependency>
620 <groupId>com.mchange</groupId>
621 <artifactId>c3p0</artifactId>
622 <version>0.9.2</version>
623 </dependency>
624 <!-- DATABASE DRIVER -->
625 <dependency>
626 <groupId>mysql</groupId>
627 <artifactId>mysql-connector-java</artifactId>
628 <version>5.1.24</version>
629 </dependency>
630 </dependencies>
631
632 </project>