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.38.0</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 <doclint>none
</doclint>
15 <log4j.version
>2.19.0</log4j.version
>
16 <slf4j.version
>1.7.36</slf4j.version
>
20 <!-- see section Provider Configuration in https://maven.apache.org/scm/subversion.html
21 for instructions on how to externalize credentials in $user.home/.scm/svn-settings.xml -->
22 <connection>scm:git:https://dev.e-taxonomy.eu/git/cdm-server.git
</connection>
23 <developerConnection>scm:git:ssh://git@dev.e-taxonomy.eu/var/git/cdm-server.git
</developerConnection>
24 <url>https://dev.e-taxonomy.eu/gitweb/cdm-server.git/tree
</url>
33 <name>EDIT Platform Developers
</name>
35 https://lists.fu-berlin.de/listinfo/editplatformdevelopers#subscribe
38 https://lists.fu-berlin.de/listinfo/editplatformdevelopers#options
42 <name>EDIT User
</name>
44 https://lists.fu-berlin.de/listinfo/edituser#subscribe
47 https://lists.fu-berlin.de/listinfo/edituser#options
53 <name>Mozilla Public License Version
1.1</name>
54 <url>https://www.mozilla.org/MPL/MPL-
1.1.html
</url>
55 <distribution>repo
</distribution>
60 <!-- your SVN account id please! -->
65 <email>a.kohlbecker [at] bgbm.org
</email>
67 Botanical Garden Botanical Museum Berlin
69 <organizationUrl>https://www.bgbm.org/en/biodiversity-informatics
</organizationUrl>
70 <timezone>+
1</timezone>
72 <role>Developer
</role>
78 <!-- contributors> <contributor> <name>Test-Contributor</name> </contributor>
81 <system>Redmine
</system>
82 <url>https://dev.e-taxonomy.eu/redmine/
</url>
85 <system>Jenkins
</system>
86 <url>https://int.e-taxonomy.eu/jenkins
</url>
88 <!-- **** REPOSITORIES **** -->
91 <id>local-repository
</id>
94 <name>localrepo
</name>
99 <id>EditLocalRepository
</id>
100 <url>file://${localrepo}/eu/etaxonomy/
</url>
102 <enabled>false
</enabled>
103 <updatePolicy>always
</updatePolicy>
106 <enabled>true
</enabled>
107 <updatePolicy>always
</updatePolicy>
114 <!-- sun repository -->
116 <id>java.net-Public
</id>
117 <name>Maven Java Net Snapshots and Releases
</name>
118 <url>https://maven.java.net/content/groups/public/
</url>
120 <!-- the localhost Maven Repository -->
122 <id>EditLocalRepository
</id>
123 <!-- disable the local repo to let maven always retrieve the latest
124 cdm-webapp.war TODO: use ${localrepo} for ${user.home}/.m2/repository
126 <url>file://${user.home}/.m2/repository/eu/etaxonomy/
</url>
128 <enabled>false
</enabled>
129 <updatePolicy>always
</updatePolicy>
132 <enabled>false
</enabled>
133 <updatePolicy>always
</updatePolicy>
136 <!-- the EDIT Maven Repository -->
138 <id>EditRepository
</id>
139 <url>https://cybertaxonomy.org/mavenrepo/
</url>
141 <enabled>true
</enabled>
142 <updatePolicy>always
</updatePolicy>
145 <enabled>true
</enabled>
146 <updatePolicy>always
</updatePolicy>
149 <!-- apache incubating repository -->
151 <id>ApacheIncubating
</id>
152 <url>https://people.apache.org/repo/m2-incubating-repository/
</url>
156 <!-- **** PLUGINS **** -->
159 <!-- ${basedir}/src/main/resources -->
161 <!-- replace the project-version placeholder in the version.properties
162 file. This property can then be used to retrieve the version number in the
164 <targetPath>${project.build.directory}/classes
</targetPath>
165 <filtering>true
</filtering>
166 <directory>${basedir}/src/main/resources
</directory>
168 <include>version.properties
</include>
172 <!-- all other files in classes -->
173 <targetPath>${project.build.directory}/classes
</targetPath>
174 <directory>${basedir}/src/main/resources
</directory>
176 <exclude>version.properties
</exclude>
179 <!-- ${basedir}/src/main/installer/win32 -->
181 <targetPath>${project.build.directory}/installer
</targetPath>
182 <filtering>true
</filtering>
183 <directory>${basedir}/src/main/installer
</directory>
185 <include>win32/program-folder/etc/CDMServer.conf
</include>
186 <include>win32/setup.nsi
</include>
190 <targetPath>${project.build.directory}/installer
</targetPath>
191 <directory>${basedir}/src/main/installer
</directory>
193 <exclude>win32/program-folder/etc/CDMServer.conf
</exclude>
194 <exclude>win32/setup.nsi
</exclude>
199 <!-- ====== IDE ====== -->
201 <groupId>org.apache.maven.plugins
</groupId>
202 <artifactId>maven-eclipse-plugin
</artifactId>
203 <version>2.10</version>
205 <downloadSources>true
</downloadSources>
206 <downloadJavadocs>true
</downloadJavadocs>
211 <!-- only needed for testing the svn credentials credentials are
212 usually stored by svn automatically unless not configured differently in
213 {user.home}\.subversion\config So in order to use a specific svn account
214 with maven firts to a commit manually by svn ci -m "commit message" and answer
215 the question wether to store the credential with yes. There is no specific
216 maven configuration required for svn to work with maven! -->
217 <groupId>org.apache.maven.plugins
</groupId>
218 <artifactId>maven-scm-plugin
</artifactId>
219 <version>1.9.2</version>
221 <connectionType>developerConnection
</connectionType>
224 <!-- ====== CREATE ====== -->
226 <groupId>org.apache.maven.plugins
</groupId>
227 <artifactId>maven-resources-plugin
</artifactId>
228 <!-- creates "compile" error in IDE in maven-dependency-plugin section (see below) since upgrading from 3.1.0 to 3.2.0 -->
229 <version>3.2.0</version>
232 <groupId>org.apache.maven.plugins
</groupId>
233 <artifactId>maven-compiler-plugin
</artifactId>
234 <version>3.9.0</version>
241 <groupId>org.apache.maven.plugins
</groupId>
242 <artifactId>maven-surefire-plugin
</artifactId>
243 <version>3.0.0-M7
</version>
245 <argLine>-Xmx512M
</argLine>
247 <include>**/*Test.java
</include>
251 <name>hibernate.connection.driver_class
</name>
252 <value>${hibernate.connection.driver_class}
</value>
255 <name>hibernate.connection.url
</name>
256 <value>${hibernate.connection.url}
</value>
259 <name>hibernate.connection.username
</name>
260 <value>${hibernate.connection.username}
</value>
263 <name>hibernate.connection.password
</name>
264 <value>${hibernate.connection.password}
</value>
269 <!-- ====== CREATE ====== -->
271 <groupId>org.codehaus.mojo
</groupId>
272 <artifactId>buildnumber-maven-plugin
</artifactId>
273 <version>1.4</version>
276 <!--<phase>deploy</phase> -->
283 <doCheck>false
</doCheck>
284 <!-- Only create the build number if there are no local modifications -->
285 <doUpdate>false
</doUpdate>
286 <!-- automatically update the local svn copy -->
290 <groupId>org.apache.maven.plugins
</groupId>
291 <artifactId>maven-site-plugin
</artifactId>
292 <version>3.10.0</version>
294 <locales>en
</locales>
295 <outputEncoding>UTF-
8</outputEncoding>
299 <!-- ====== VERIFY ====== -->
301 <groupId>org.apache.maven.plugins
</groupId>
302 <artifactId>maven-source-plugin
</artifactId>
303 <version>3.2.1</version>
306 <id>attach-sources
</id>
307 <phase>verify
</phase>
315 <groupId>org.apache.maven.plugins
</groupId>
316 <artifactId>maven-javadoc-plugin
</artifactId>
317 <version>3.3.1</version>
319 <aggregate>true
</aggregate>
320 <stylesheet>maven
</stylesheet>
321 <failOnError>false
</failOnError>
322 <doclint>${doclint}
</doclint>
326 <!-- ====== PROCESS-SOURCES ====== -->
328 <groupId>org.apache.maven.plugins
</groupId>
329 <artifactId>maven-dependency-plugin
</artifactId>
330 <version>3.2.0</version>
332 <!-- creates "compile" error in IDE in maven-dependency-plugin section (see below) since upgrading from 3.1.0 to 3.2.0 -->
339 <silent>flase
</silent>
340 <stripVersion>true
</stripVersion>
341 <overWriteSnapshots>true
</overWriteSnapshots>
342 <overWriteIfNewer>true
</overWriteIfNewer>
343 <overWriteReleases>true
</overWriteReleases>
346 <!-- copy the cdm-webapp-${project.version}.war
348 <groupId>eu.etaxonomy
</groupId>
349 <artifactId>cdm-webapp
</artifactId>
350 <version>${project.version}
</version>
352 <!-- <classifier> [classifier - optional] </classifier> -->
353 <overWrite>true
</overWrite>
354 <destFileName>cdm-webapp-${project.version}.war
</destFileName>
356 ${project.build.directory}
365 <!-- ====== PACKAGE ====== -->
366 <!-- package the default webapp, // (and also add the cdm-webapp.war)
367 test with: mvn war:war -->
369 <groupId>org.apache.maven.plugins
</groupId>
370 <artifactId>maven-war-plugin
</artifactId>
371 <version>3.3.2</version>
373 <warName>default-webapp
</warName>
377 <!-- <overlays> <overlay> <groupId>eu.etaxonomy</groupId> <artifactId>cdm-webapp</artifactId>
378 <!- - version is set in dependency - -> <skip>true</skip> <!- - Do Not overlay
379 - -> </overlay> </overlays> -->
383 <phase>package
</phase>
391 <!-- Assemble the runnable server jar test with: mvn assembly:single -->
392 <groupId>org.apache.maven.plugins
</groupId>
393 <artifactId>maven-assembly-plugin
</artifactId>
394 <version>3.3.0</version>
396 <appendAssemblyId>false
</appendAssemblyId>
398 <descriptor>src/main/assembly/assembly.xml
</descriptor>
402 <mainClass>eu.etaxonomy.cdm.server.Bootloader
</mainClass>
403 <addDefaultImplementationEntries>true
</addDefaultImplementationEntries>
404 <addDefaultSpecificationEntries>true
</addDefaultSpecificationEntries>
410 <id>make-assembly
</id>
411 <phase>package
</phase>
419 <!-- ====== INSTALL ====== -->
420 <!-- Build a Debian package -->
421 <groupId>org.apache.maven.plugins
</groupId>
422 <artifactId>maven-antrun-plugin
</artifactId>
423 <version>3.0.0</version>
426 <phase>install
</phase>
429 <property name=
"project.fullversionstring" value=
"${project.version}" />
430 <property name=
"project.version" value=
"${project.version}" />
431 <ant antfile=
"${project.basedir}/src/main/installer/linux/build-deb.xml" dir=
"${project.basedir}" />
440 <!-- Build windows installer -->
441 <!-- temporarily switched off due to problems with jenkins build after upgrading to debian 10 (#9972) -->
443 <groupId>org.codehaus.mojo</groupId>
444 <artifactId>exec-maven-plugin</artifactId>
445 <version>3.0.0</version>
448 <phase>install</phase>
455 <executable>makensis</executable> -->
457 <!-- <workingDirectory>/tmp</workingDirectory>
459 <!-- <argument>-V3</argument> -->
460 <!-- <argument>${project.basedir}/target/installer/win32/setup.nsi</argument>
464 <!-- Build Docker image -->
466 <groupId>io.fabric8
</groupId>
467 <artifactId>docker-maven-plugin
</artifactId>
468 <version>0.38.1</version>
472 <!-- docker hub does not allow dots in organizations, so the name is
473 just 'cybertaxonomy', this MUST NOT BE CHANGED!!!! -->
474 <name>cybertaxonomy/${project.artifactId}:${project.version}
</name>
476 <!-- use a Dockerfile in the directory src/main/docker/production -->
477 <dockerFileDir>production
</dockerFileDir>
478 <!-- fabric8-maven-plugin filters given Dockerfile with Maven properties -->
479 <!-- For example, the default <filter>${*}</filter> parse Maven properties
480 in the format that we know. If you specify a single character for
481 <filter> then this delimiter is taken for both, the start and the end.
482 E.g a <filter>@</filter> triggers on parameters in the format @โฆโ@, -->
485 <descriptorRef>artifact
</descriptorRef>
487 1. The maven plugin copies the jar to the artifacts assembly location at:
488 ./target/docker/eu.etaxonomy/cdm-server/${project.version}/build/maven/cdm-server-${project.version}.jar
489 2. a tar is being created at target/docker/eu.etaxonomy/cdm-server/${project.version}/tmp/docker-build.tar
490 which contains all files located in /target/docker/production and the artifacts.
491 Artifacts are put into the folder maven/ inside the tar archive
492 3. The tar archive is passed to the docker daemon and is used as working directory for the build
497 <!-- TODO the run configuration if needed, see src/main/docker/production/README for examples -->
500 <ports>8080:8080</ports>
507 <!-- Connect start/stop to pre- and
508 post-integration-test phase, respectively if you want to start
509 your docker containers during integration tests -->
513 <!-- ====== DEPLOY ====== -->
515 <groupId>org.apache.maven.plugins
</groupId>
516 <artifactId>maven-deploy-plugin
</artifactId>
517 <version>2.8.2</version>
520 <!-- groupId>ch.dvbern.oss.maven.jgitflow</groupId>
521 <artifactId>jgitflow-maven-plugin</artifactId>
522 <version>1.0-m8</version> -->
523 <groupId>external.atlassian.jgitflow
</groupId>
524 <artifactId>jgitflow-maven-plugin
</artifactId>
525 <version>1.0-m6
</version>
527 <pushHotfixes>true
</pushHotfixes>
528 <pushReleases>true
</pushReleases>
529 <enableSshAgent>true
</enableSshAgent>
530 <allowSnapshots>true
</allowSnapshots>
531 <allowUntracked>true
</allowUntracked>
535 upgrading dependency jsch.agent.version of jgit-flow plugin to 0.1.53
536 in order to have ssl key exchange algorithms compatible with openssh 6.7
539 <groupId>com.jcraft
</groupId>
540 <artifactId>jsch
</artifactId>
541 <version>0.1.55</version>
546 <groupId>org.codehaus.mojo
</groupId>
547 <artifactId>wagon-maven-plugin
</artifactId>
548 <version>1.0</version>
549 <!-- Problems with the wagon-maven-plugin have been encounterd on
550 Windows, it should work properly on linux though. -->
553 <phase>deploy
</phase>
560 <fromDir>target
</fromDir>
561 <includes>*${project.version}*.deb,*${project.version}*.jar,*${project.version}*.exe
</includes>
562 <url>scpexe://wp5.e-taxonomy.eu/var/www/download/cdmserver/${project.version}
</url>
563 <serverId>wp5.e-taxonomy.eu
</serverId>
570 <groupId>org.apache.maven.wagon
</groupId>
571 <artifactId>wagon-scm
</artifactId>
572 <version>3.5.1</version>
575 <groupId>org.apache.maven.wagon
</groupId>
576 <artifactId>wagon-ssh
</artifactId>
577 <version>3.5.1</version>
580 <groupId>org.apache.maven.wagon
</groupId>
581 <artifactId>wagon-ssh-external
</artifactId>
582 <version>3.5.1</version>
585 <groupId>org.apache.maven.scm
</groupId>
586 <artifactId>maven-scm-manager-plexus
</artifactId>
587 <version>1.12.2</version>
590 <groupId>org.apache.maven.scm
</groupId>
591 <artifactId>maven-scm-provider-svnexe
</artifactId>
592 <version>1.12.2</version>
594 <!-- WebDAV plugin to upload snapshots -->
596 <groupId>org.apache.maven.wagon
</groupId>
597 <artifactId>wagon-webdav-jackrabbit
</artifactId>
598 <version>3.5.1</version>
606 <!-- you will want to start by publishing your classes' Javadocs -->
607 <groupId>org.apache.maven.plugins
</groupId>
608 <artifactId>maven-javadoc-plugin
</artifactId>
609 <version>3.3.1</version>
611 <doclint>${doclint}
</doclint>
615 <!-- this will generate an indexed and cross-referenced HTML version
616 of your source code -->
617 <groupId>org.apache.maven.plugins
</groupId>
618 <artifactId>maven-jxr-plugin
</artifactId>
619 <version>2.5</version>
622 <!-- if you use @todo tags to remind you of things to be done (which
623 is a good coding practice), the taglist report will generate a list of all
624 the items marked @todo or TODO -->
625 <groupId>org.codehaus.mojo
</groupId>
626 <artifactId>taglist-maven-plugin
</artifactId>
627 <version>2.4</version>
630 <!-- Test coverage can be a useful indication of the quality of your
631 unit tests. It basically tells you how much of your code is actually run
632 by your unit tests, which, in turn, can give you a good idea of the tests'
634 <groupId>org.codehaus.mojo
</groupId>
635 <artifactId>cobertura-maven-plugin
</artifactId>
636 <version>2.7</version>
642 <!-- DISTRIBUTION MANAGEMENT -->
643 <distributionManagement>
645 <id>wp5.e-taxonomy.eu
</id>
647 scpexe://wp5.e-taxonomy.eu/var/www/wp5.e-taxonomy.eu/cdm-server
651 <uniqueVersion>false
</uniqueVersion>
652 <id>wp5.e-taxonomy.eu
</id>
653 <name>Edit Maven Repository
</name>
655 scpexe://wp5.e-taxonomy.eu/var/www/wp5.e-taxonomy.eu/mavenrepo
658 </distributionManagement>
660 <dependencyManagement>
663 <groupId>org.slf4j
</groupId>
664 <artifactId>slf4j-api
</artifactId>
665 <version>${slf4j.version}
</version>
668 </dependencyManagement>
670 <!-- maven 3 no longer supports uniqueVersions for SNAPSHOT artifacts.
671 The cdm-server Bootlader however relies on a specific name of the cdm-webapp
672 war file. In order to achieve this with maven 3 the below dependency is now
673 handled more explicitely by utilizing the dependency:copy-dependencies goal
674 in the build/plugins section -->
675 <!-- <dependency> -->
676 <!-- <groupId>eu.etaxonomy</groupId> -->
677 <!-- <artifactId>cdm-webapp</artifactId> -->
678 <!-- <version>${project.version}</version> -->
679 <!-- <type>war</type> -->
680 <!-- </dependency> -->
684 <groupId>org.eclipse.jetty
</groupId>
685 <artifactId>jetty-webapp
</artifactId>
686 <version>${jetty-version}
</version>
689 <groupId>org.eclipse.jetty
</groupId>
690 <artifactId>jetty-webapp-logging
</artifactId>
691 <version>9.4.20.v20190813
</version><!-- versioning independent of jetty core -->
692 <type>pom
</type><!-- we only need the dependencies like jul-to-slf4j managed in this pom! -->
693 <!-- this is for log4j12 ,el-api
694 still need to check if this is really needed by jetty
697 <groupId>org.slf4j</groupId>
698 <artifactId>log4j-over-slf4j</artifactId>
703 <groupId>org.eclipse.jetty
</groupId>
704 <artifactId>jetty-plus
</artifactId>
705 <version>${jetty-version}
</version>
708 <groupId>org.eclipse.jetty
</groupId>
709 <artifactId>jetty-jmx
</artifactId>
710 <version>${jetty-version}
</version>
713 <groupId>org.eclipse.jetty
</groupId>
714 <artifactId>jetty-security
</artifactId>
715 <version>${jetty-version}
</version>
718 <groupId>org.eclipse.jetty
</groupId>
719 <artifactId>jetty-annotations
</artifactId>
720 <version>${jetty-version}
</version>
723 <groupId>org.eclipse.jetty
</groupId>
724 <artifactId>apache-jsp
</artifactId>
725 <version>${jetty-version}
</version>
729 <groupId>org.eclipse.jetty
</groupId>
730 <artifactId>apache-jstl
</artifactId>
731 <version>${jetty-version}
</version>
735 <groupId>jakarta.el</groupId>
736 <artifactId>jakarta.el-api</artifactId>
737 <version>4.0.0</version>
741 <groupId>javax.transaction
</groupId>
742 <artifactId>jta
</artifactId>
743 <version>1.1</version>
747 <!-- according to maven repo this artifact moved to com.fasterxml.jackson.core ยป jackson-databind
748 but changing to next higher version 2.0.0 throws exceptions on the jsp pages (e.g. .../cdmserver/instances.jsp) -->
749 <groupId>org.codehaus.jackson
</groupId>
750 <artifactId>jackson-mapper-asl
</artifactId>
751 <version>1.9.13</version>
753 <!-- windows service -->
755 <groupId>tanukisoft
</groupId>
756 <artifactId>wrapper
</artifactId>
757 <version>3.2.3</version>
762 <groupId>org.slf4j
</groupId>
763 <artifactId>slf4j-api
</artifactId>
765 <!-- move all logging to log4j 2-->
767 <groupId>org.apache.logging.log4j</groupId>
768 <artifactId>log4j-slf4j-impl</artifactId>
769 <version>${log4j.version}</version>
771 <!-- move all log4j2 logging to the current slf4j implementor,
772 !!! never use together with log4j-slf4j-impl on classpath => endless circle -->
774 <groupId>org.apache.logging.log4j
</groupId>
775 <artifactId>log4j-to-slf4j
</artifactId>
776 <version>${log4j.version}
</version>
779 <groupId>org.apache.logging.log4j
</groupId>
780 <artifactId>log4j-core
</artifactId>
781 <version>${log4j.version}
</version>
785 <groupId>commons-cli
</groupId>
786 <artifactId>commons-cli
</artifactId>
787 <version>1.3.1</version>
790 <groupId>commons-io
</groupId>
791 <artifactId>commons-io
</artifactId>
792 <version>2.11.0</version>
795 <!-- only used in InstanceManager class -->
796 <groupId>org.apache.commons
</groupId>
797 <artifactId>commons-collections4
</artifactId>
798 <version>4.4</version>
801 <groupId>net.sf.jopt-simple
</groupId>
802 <artifactId>jopt-simple
</artifactId>
803 <version>5.0.4</version>
805 <!-- Database dependencies -->
807 <groupId>eu.etaxonomy
</groupId>
808 <artifactId>cdmlib-db
</artifactId>
809 <version>${project.version}
</version>