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">
4 <modelVersion>4.0.0</modelVersion>
5 <groupId>eu.etaxonomy
</groupId>
6 <artifactId>cdm-server
</artifactId>
7 <version>5.29.0-SNAPSHOT
</version>
8 <packaging>jar
</packaging>
9 <name>CDM Community Standalone Server
</name>
12 <project.build.sourceEncoding
>UTF-
8</project.build.sourceEncoding
>
13 <jetty-version>9.4.26.v20200117
</jetty-version>
14 <javadoc.opts
>-Xdoclint:none
</javadoc.opts
>
18 <!-- see section Provider Configuration in http://maven.apache.org/scm/subversion.html
19 for instructions on how to externalize credentials in $user.home/.scm/svn-settings.xml -->
20 <connection>scm:git:https://dev.e-taxonomy.eu/git/cdm-server.git
</connection>
21 <developerConnection>scm:git:ssh://git@dev.e-taxonomy.eu/var/git/cdm-server.git
</developerConnection>
22 <url>https://dev.e-taxonomy.eu/gitweb/cdm-server.git/tree
</url>
31 <name>EDIT Platform Developers
</name>
33 https://lists.fu-berlin.de/listinfo/editplatformdevelopers#subscribe
36 https://lists.fu-berlin.de/listinfo/editplatformdevelopers#options
40 <name>EDIT User
</name>
42 https://lists.fu-berlin.de/listinfo/edituser#subscribe
45 https://lists.fu-berlin.de/listinfo/edituser#options
51 <name>Mozilla Public License Version
1.1</name>
52 <url>http://www.mozilla.org/MPL/MPL-
1.1.html
</url>
53 <distribution>repo
</distribution>
58 <!-- your SVN account id please! -->
63 <email>a.kohlbecker [at] bgbm.org
</email>
65 Botanical Garden Botanical Museum Berlin
67 <organizationUrl>https://www.bgbm.org/en/biodiversity-informatics
</organizationUrl>
68 <timezone>+
1</timezone>
70 <role>Developer
</role>
76 <!-- contributors> <contributor> <name>Test-Contributor</name> </contributor>
79 <system>Redmine
</system>
80 <url>http://dev.e-taxonomy.eu/redmine/
</url>
83 <system>Jenkins
</system>
84 <url>http://int.e-taxonomy.eu/jenkins
</url>
86 <!-- **** REPOSITORIES **** -->
89 <id>local-repository
</id>
92 <name>localrepo
</name>
97 <id>EditLocalRepository
</id>
98 <url>file://${localrepo}/eu/etaxonomy/
</url>
100 <enabled>false
</enabled>
101 <updatePolicy>always
</updatePolicy>
104 <enabled>true
</enabled>
105 <updatePolicy>always
</updatePolicy>
112 <!-- sun repository -->
114 <id>java.net-Public
</id>
115 <name>Maven Java Net Snapshots and Releases
</name>
116 <url>https://maven.java.net/content/groups/public/
</url>
118 <!-- the localhost Maven Repository -->
120 <id>EditLocalRepository
</id>
121 <!-- disable the local repo to let maven always retrieve the latest
122 cdm-webapp.war TODO: use ${localrepo} for ${user.home}/.m2/repository
124 <url>file://${user.home}/.m2/repository/eu/etaxonomy/
</url>
126 <enabled>false
</enabled>
127 <updatePolicy>always
</updatePolicy>
130 <enabled>false
</enabled>
131 <updatePolicy>always
</updatePolicy>
134 <!-- the EDIT Maven Repository -->
136 <id>EditRepository
</id>
137 <url>http://wp5.e-taxonomy.eu/mavenrepo/
</url>
139 <enabled>true
</enabled>
140 <updatePolicy>always
</updatePolicy>
143 <enabled>true
</enabled>
144 <updatePolicy>always
</updatePolicy>
147 <!-- apache incubating repository -->
149 <id>ApacheIncubating
</id>
150 <url>http://people.apache.org/repo/m2-incubating-repository/
</url>
154 <!-- **** PLUGINS **** -->
157 <!-- ${basedir}/src/main/resources -->
159 <!-- replace the project-version placeholder in the version.properties
160 file. This property can then be used to retrieve the version number in the
162 <targetPath>${project.build.directory}/classes
</targetPath>
163 <filtering>true
</filtering>
164 <directory>${basedir}/src/main/resources
</directory>
166 <include>version.properties
</include>
170 <!-- all other files in classes -->
171 <targetPath>${project.build.directory}/classes
</targetPath>
172 <directory>${basedir}/src/main/resources
</directory>
174 <exclude>version.properties
</exclude>
177 <!-- ${basedir}/src/main/installer/win32 -->
179 <targetPath>${project.build.directory}/installer
</targetPath>
180 <filtering>true
</filtering>
181 <directory>${basedir}/src/main/installer
</directory>
183 <include>win32/program-folder/etc/CDMServer.conf
</include>
184 <include>win32/setup.nsi
</include>
188 <targetPath>${project.build.directory}/installer
</targetPath>
189 <directory>${basedir}/src/main/installer
</directory>
191 <exclude>win32/program-folder/etc/CDMServer.conf
</exclude>
192 <exclude>win32/setup.nsi
</exclude>
197 <!-- ====== IDE ====== -->
199 <groupId>org.apache.maven.plugins
</groupId>
200 <artifactId>maven-eclipse-plugin
</artifactId>
201 <version>2.10</version>
203 <downloadSources>true
</downloadSources>
204 <downloadJavadocs>true
</downloadJavadocs>
209 <!-- only needed for testing the svn credentials credentials are
210 usually stored by svn automatically unless not configured differently in
211 {user.home}\.subversion\config So in order to use a specific svn account
212 with maven firts to a commit manually by svn ci -m "commit message" and answer
213 the question wether to store the credential with yes. There is no specific
214 maven configuration required for svn to work with maven! -->
215 <groupId>org.apache.maven.plugins
</groupId>
216 <artifactId>maven-scm-plugin
</artifactId>
217 <version>1.12.2</version>
219 <connectionType>developerConnection
</connectionType>
222 <!-- ====== CREATE ====== -->
224 <groupId>org.apache.maven.plugins
</groupId>
225 <artifactId>maven-resources-plugin
</artifactId>
226 <version>3.1.0</version>
229 <groupId>org.apache.maven.plugins
</groupId>
230 <artifactId>maven-compiler-plugin
</artifactId>
231 <version>3.9.0</version>
238 <groupId>org.apache.maven.plugins
</groupId>
239 <artifactId>maven-surefire-plugin
</artifactId>
240 <version>2.18.1</version>
242 <argLine>-Xmx512M
</argLine>
244 <include>**/*Test.java
</include>
248 <name>hibernate.connection.driver_class
</name>
249 <value>${hibernate.connection.driver_class}
</value>
252 <name>hibernate.connection.url
</name>
253 <value>${hibernate.connection.url}
</value>
256 <name>hibernate.connection.username
</name>
257 <value>${hibernate.connection.username}
</value>
260 <name>hibernate.connection.password
</name>
261 <value>${hibernate.connection.password}
</value>
266 <!-- ====== CREATE ====== -->
268 <groupId>org.codehaus.mojo
</groupId>
269 <artifactId>buildnumber-maven-plugin
</artifactId>
270 <version>1.4</version>
273 <!--<phase>deploy</phase> -->
280 <doCheck>false
</doCheck>
281 <!-- Only create the build number if there are no local modifications -->
282 <doUpdate>false
</doUpdate>
283 <!-- automatically update the local svn copy -->
287 <groupId>org.apache.maven.plugins
</groupId>
288 <artifactId>maven-site-plugin
</artifactId>
289 <version>3.10.0</version>
291 <locales>en
</locales>
292 <outputEncoding>UTF-
8</outputEncoding>
296 <!-- ====== VERIFY ====== -->
298 <groupId>org.apache.maven.plugins
</groupId>
299 <artifactId>maven-source-plugin
</artifactId>
300 <version>3.2.1</version>
303 <id>attach-sources
</id>
304 <phase>verify
</phase>
312 <groupId>org.apache.maven.plugins
</groupId>
313 <artifactId>maven-javadoc-plugin
</artifactId>
314 <version>3.3.1</version>
316 <aggregate>true
</aggregate>
317 <stylesheet>maven
</stylesheet>
318 <failOnError>false
</failOnError>
319 <additionalparam>${javadoc.opts}
</additionalparam>
323 <!-- ====== PROCESS-SOURCES ====== -->
325 <groupId>org.apache.maven.plugins
</groupId>
326 <artifactId>maven-dependency-plugin
</artifactId>
327 <version>3.2.0</version>
335 <silent>flase
</silent>
336 <stripVersion>true
</stripVersion>
337 <overWriteSnapshots>true
</overWriteSnapshots>
338 <overWriteIfNewer>true
</overWriteIfNewer>
339 <overWriteReleases>true
</overWriteReleases>
342 <!-- copy the cdm-webapp-${project.version}.war
344 <groupId>eu.etaxonomy
</groupId>
345 <artifactId>cdm-webapp
</artifactId>
346 <version>${project.version}
</version>
348 <!-- <classifier> [classifier - optional] </classifier> -->
349 <overWrite>true
</overWrite>
350 <destFileName>cdm-webapp-${project.version}.war
</destFileName>
352 ${project.build.directory}
361 <!-- ====== PACKAGE ====== -->
362 <!-- package the default webapp, // (and also add the cdm-webapp.war)
363 test with: mvn war:war -->
365 <groupId>org.apache.maven.plugins
</groupId>
366 <artifactId>maven-war-plugin
</artifactId>
367 <version>3.3.2</version>
369 <warName>default-webapp
</warName>
373 <!-- <overlays> <overlay> <groupId>eu.etaxonomy</groupId> <artifactId>cdm-webapp</artifactId>
374 <!- - version is set in dependency - -> <skip>true</skip> <!- - Do Not overlay
375 - -> </overlay> </overlays> -->
379 <phase>package
</phase>
387 <!-- Assemble the runnable server jar test with: mvn assembly:single -->
388 <groupId>org.apache.maven.plugins
</groupId>
389 <artifactId>maven-assembly-plugin
</artifactId>
390 <version>3.3.0</version>
392 <appendAssemblyId>false
</appendAssemblyId>
394 <descriptor>src/main/assembly/assembly.xml
</descriptor>
398 <mainClass>eu.etaxonomy.cdm.server.Bootloader
</mainClass>
399 <addDefaultImplementationEntries>true
</addDefaultImplementationEntries>
400 <addDefaultSpecificationEntries>true
</addDefaultSpecificationEntries>
406 <id>make-assembly
</id>
407 <phase>package
</phase>
415 <!-- ====== INSTALL ====== -->
416 <!-- Build a Debian package -->
417 <groupId>org.apache.maven.plugins
</groupId>
418 <artifactId>maven-antrun-plugin
</artifactId>
419 <version>3.0.0</version>
422 <phase>install
</phase>
425 <property name=
"project.fullversionstring" value=
"${project.version}" />
426 <property name=
"project.version" value=
"${project.version}" />
427 <ant antfile=
"${project.basedir}/src/main/installer/linux/build-deb.xml" dir=
"${project.basedir}" />
436 <!-- Build windows installer -->
438 <groupId>org.codehaus.mojo
</groupId>
439 <artifactId>exec-maven-plugin
</artifactId>
440 <version>3.0.0</version>
443 <phase>install
</phase>
450 <executable>makensis
</executable>
452 <workingDirectory>/tmp
</workingDirectory>
454 <!-- <argument>-V3</argument> -->
455 <argument>${project.basedir}/target/installer/win32/setup.nsi
</argument>
459 <!-- Build Docker image -->
461 <groupId>io.fabric8
</groupId>
462 <artifactId>docker-maven-plugin
</artifactId>
463 <version>0.38.1</version>
467 <!-- docker hub does not allow dots in organizations, so the name is
468 just 'cybertaxonomy', this MUST NOT BE CHANGED!!!! -->
469 <name>cybertaxonomy/${project.artifactId}:${project.version}
</name>
471 <!-- use a Dockerfile in the directory src/main/docker/production -->
472 <dockerFileDir>production
</dockerFileDir>
473 <!-- fabric8-maven-plugin filters given Dockerfile with Maven properties -->
474 <!-- For example, the default <filter>${*}</filter> parse Maven properties
475 in the format that we know. If you specify a single character for
476 <filter> then this delimiter is taken for both, the start and the end.
477 E.g a <filter>@</filter> triggers on parameters in the format @…​@, -->
480 <descriptorRef>artifact
</descriptorRef>
482 1. The maven plugin copies the jar to the artifacts assembly location at:
483 ./target/docker/eu.etaxonomy/cdm-server/${project.version}/build/maven/cdm-server-${project.version}.jar
484 2. a tar is being created at target/docker/eu.etaxonomy/cdm-server/${project.version}/tmp/docker-build.tar
485 which contains all files located in /target/docker/production and the artifacts.
486 Artifacts are put into the folder maven/ inside the tar archive
487 3. The tar archive is passed to the docker daemon and is used as working directory for the build
492 <!-- TODO the run configuration if needed, see src/main/docker/production/README for examples -->
495 <ports>8080:8080</ports>
503 <!-- Connect start/stop to pre- and
504 post-integration-test phase, respectively if you want to start
505 your docker containers during integration tests -->
509 <!-- ====== DEPLOY ====== -->
511 <groupId>org.apache.maven.plugins
</groupId>
512 <artifactId>maven-deploy-plugin
</artifactId>
513 <version>2.8.2</version>
516 <groupId>ch.dvbern.oss.maven.jgitflow
</groupId>
517 <artifactId>jgitflow-maven-plugin
</artifactId>
518 <version>1.0-m8
</version>
520 <pushHotfixes>true
</pushHotfixes>
521 <pushReleases>true
</pushReleases>
522 <enableSshAgent>true
</enableSshAgent>
523 <allowSnapshots>true
</allowSnapshots>
524 <allowUntracked>true
</allowUntracked>
528 upgrading dependency jsch.agent.version of jgit-flow plugin to 0.1.53
529 in order to have ssl key exchange algorithms compatible with openssh 6.7
532 <groupId>com.jcraft
</groupId>
533 <artifactId>jsch
</artifactId>
534 <version>0.1.55</version>
539 <groupId>org.codehaus.mojo
</groupId>
540 <artifactId>wagon-maven-plugin
</artifactId>
541 <version>2.0.2</version>
542 <!-- Problems with the wagon-maven-plugin have been encounterd on
543 Windows, it should work properly on linux though. -->
546 <phase>deploy
</phase>
553 <fromDir>target
</fromDir>
554 <includes>*${project.version}*.deb,*${project.version}*.jar,*${project.version}*.exe
</includes>
555 <url>scpexe://wp5.e-taxonomy.eu/var/www/download/cdmserver/${project.version}
</url>
556 <serverId>wp5.e-taxonomy.eu
</serverId>
563 <groupId>org.apache.maven.wagon
</groupId>
564 <artifactId>wagon-scm
</artifactId>
565 <version>3.5.1</version>
568 <groupId>org.apache.maven.wagon
</groupId>
569 <artifactId>wagon-ssh
</artifactId>
570 <version>3.5.1</version>
573 <groupId>org.apache.maven.wagon
</groupId>
574 <artifactId>wagon-ssh-external
</artifactId>
575 <version>3.5.1</version>
578 <groupId>org.apache.maven.scm
</groupId>
579 <artifactId>maven-scm-manager-plexus
</artifactId>
580 <version>1.12.2</version>
583 <groupId>org.apache.maven.scm
</groupId>
584 <artifactId>maven-scm-provider-svnexe
</artifactId>
585 <version>1.12.2</version>
587 <!-- WebDAV plugin to upload snapshots -->
589 <groupId>org.apache.maven.wagon
</groupId>
590 <artifactId>wagon-webdav-jackrabbit
</artifactId>
591 <version>3.5.1</version>
599 <!-- you will want to start by publishing your classes' Javadocs -->
600 <groupId>org.apache.maven.plugins
</groupId>
601 <artifactId>maven-javadoc-plugin
</artifactId>
603 <additionalparam>${javadoc.opts}
</additionalparam>
607 <!-- this will generate an indexed and cross-referenced HTML version
608 of your source code -->
609 <groupId>org.apache.maven.plugins
</groupId>
610 <artifactId>maven-jxr-plugin
</artifactId>
611 <version>2.5</version>
614 <!-- if you use @todo tags to remind you of things to be done (which
615 is a good coding practice), the taglist report will generate a list of all
616 the items marked @todo or TODO -->
617 <groupId>org.codehaus.mojo
</groupId>
618 <artifactId>taglist-maven-plugin
</artifactId>
619 <version>2.4</version>
622 <!-- Test coverage can be a useful indication of the quality of your
623 unit tests. It basically tells you how much of your code is actually run
624 by your unit tests, which, in turn, can give you a good idea of the tests'
626 <groupId>org.codehaus.mojo
</groupId>
627 <artifactId>cobertura-maven-plugin
</artifactId>
628 <version>2.7</version>
634 <!-- DISTRIBUTION MANAGEMENT -->
635 <distributionManagement>
637 <id>wp5.e-taxonomy.eu
</id>
639 scpexe://wp5.e-taxonomy.eu/var/www/wp5.e-taxonomy.eu/cdm-server
643 <uniqueVersion>false
</uniqueVersion>
644 <id>wp5.e-taxonomy.eu
</id>
645 <name>Edit Maven Repository
</name>
647 scpexe://wp5.e-taxonomy.eu/var/www/wp5.e-taxonomy.eu/mavenrepo
650 </distributionManagement>
653 <!-- maven 3 no longer supports uniqueVersions for SNAPSHOT artifacts.
654 The cdm-server Bootlader however relies on a specific name of the cdm-webapp
655 war file. In order to achieve this with maven 3 the below dependency is now
656 handled more explicitely by utilizing the dependency:copy-dependencies goal
657 in the build/plugins section -->
658 <!-- <dependency> -->
659 <!-- <groupId>eu.etaxonomy</groupId> -->
660 <!-- <artifactId>cdm-webapp</artifactId> -->
661 <!-- <version>${project.version}</version> -->
662 <!-- <type>war</type> -->
663 <!-- </dependency> -->
667 <groupId>org.eclipse.jetty
</groupId>
668 <artifactId>jetty-webapp
</artifactId>
669 <version>${jetty-version}
</version>
672 <groupId>org.eclipse.jetty
</groupId>
673 <artifactId>jetty-webapp-logging
</artifactId>
674 <version>9.4.20.v20190813
</version><!-- versioning independent of jetty core -->
675 <type>pom
</type><!-- we only need the dependencies like jul-to-slf4j managed in this pom! -->
678 <groupId>org.eclipse.jetty
</groupId>
679 <artifactId>jetty-plus
</artifactId>
680 <version>${jetty-version}
</version>
683 <groupId>org.eclipse.jetty
</groupId>
684 <artifactId>jetty-jmx
</artifactId>
685 <version>${jetty-version}
</version>
688 <groupId>org.eclipse.jetty
</groupId>
689 <artifactId>jetty-security
</artifactId>
690 <version>${jetty-version}
</version>
693 <groupId>org.eclipse.jetty
</groupId>
694 <artifactId>jetty-annotations
</artifactId>
695 <version>${jetty-version}
</version>
698 <groupId>org.eclipse.jetty
</groupId>
699 <artifactId>apache-jsp
</artifactId>
700 <version>${jetty-version}
</version>
704 <groupId>org.eclipse.jetty
</groupId>
705 <artifactId>apache-jstl
</artifactId>
706 <version>${jetty-version}
</version>
710 <groupId>javax.el
</groupId>
711 <artifactId>javax.el-api
</artifactId>
712 <version>2.2.5</version>
715 <groupId>org.glassfish.web
</groupId>
716 <artifactId>el-impl
</artifactId>
717 <version>2.2</version>
720 <groupId>javax.transaction
</groupId>
721 <artifactId>jta
</artifactId>
722 <version>1.1</version>
726 <groupId>com.fasterxml.jackson.core
</groupId>
727 <artifactId>jackson-databind
</artifactId>
728 <version>2.13.1</version>
730 <!-- windows service -->
732 <groupId>tanukisoft
</groupId>
733 <artifactId>wrapper
</artifactId>
734 <version>3.2.3</version>
739 <groupId>org.slf4j
</groupId>
740 <artifactId>slf4j-api
</artifactId>
741 <version>1.7.32</version>
744 <groupId>org.slf4j
</groupId>
745 <artifactId>slf4j-log4j12
</artifactId>
746 <version>1.7.32</version>
749 <groupId>commons-cli
</groupId>
750 <artifactId>commons-cli
</artifactId>
751 <version>1.5.0</version>
754 <groupId>commons-io
</groupId>
755 <artifactId>commons-io
</artifactId>
756 <version>2.11.0</version>
759 <groupId>commons-collections
</groupId>
760 <artifactId>commons-collections
</artifactId>
761 <version>3.2.2</version>
764 <groupId>net.sf.jopt-simple
</groupId>
765 <artifactId>jopt-simple
</artifactId>
766 <version>5.0.4</version>
768 <!-- Database dependencies -->
770 <groupId>eu.etaxonomy
</groupId>
771 <artifactId>cdmlib-db
</artifactId>
772 <version>${project.version}
</version>