<modelVersion>4.0.0</modelVersion>
<groupId>eu.etaxonomy</groupId>
<artifactId>cdmlib-parent</artifactId>
- <version>5.32.0-SNAPSHOT</version>
+ <version>5.36.0-SNAPSHOT</version>
<name>CDM Library</name>
<description>The Java implementation of the Common Data Model (CDM), the data model for EDIT's internet platform for cybertaxonomy.</description>
<url>https://cybertaxonomy.org/cdmlib/</url>
<module>cdmlib-test</module>
<module>cdmlib-persistence</module>
<module>cdmlib-services</module>
+ <module>cdmlib-cache</module>
<module>cdmlib-ext</module>
<module>cdmlib-io</module>
<module>cdmlib-remote</module>
<module>cdmlib-print</module>
<module>cdmlib-remote-webapp</module>
- <module>cdmlib-cache</module>
</modules>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<doxia.version>1.11.1</doxia.version> <!-- checked 2021-12 -->
<poi.version>5.2.2</poi.version> <!-- checked 2022-06 -->
<jackson.version>2.13.3</jackson.version> <!-- checked 2022-05 -->
- <commons-logging.version>1.2</commons-logging.version> <!-- checked 2022-06 -->
- <slf4j.version>1.7.36</slf4j.version> <!-- checked 2022-06 -->
+ <!-- CAUTION when upgrading, 1.8x requires another log4j binding: https://logging.apache.org/log4j/2.x/log4j-slf4j-impl/index.html -->
+ <slf4j.version>1.7.36</slf4j.version> <!-- checked 2022-06 -->
+ <log4j.version>2.19.0</log4j.version>
<jaxb.version>2.3.3</jaxb.version> <!-- checked 2020-08, there is a newer version 3.0.0-MX, not checked if compatible -->
<cglib.version>3.3.0</cglib.version>
<aspectj.version>1.9.7</aspectj.version> <!-- checked 2022-05 -->
<geotools.version>23.2</geotools.version> <!-- checked 2020-08 -->
<dozer.version>6.5.2</dozer.version> <!-- checked 2021-02 -->
<jakarta.mail.version>1.5.6</jakarta.mail.version> <!-- compatible to the one in spring-context-support/4.3.28.RELEASE -->
- <doclint>none</doclint>
+ <doclint>none</doclint>
</properties>
<scm>
<name>JBoss Repository</name>
<url>https://repository.jboss.org</url>
</repository> -->
+ <!-- required for org.geotools:gt-opengis/gt-referencing/gt-epsg-wkt/gt-main -->
<repository>
<id>OSGeo Repository</id>
<url>https://repo.osgeo.org/repository/release/</url>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <!-- TODO #9919 upgrading to 3.x leads to test failures in model etc. -->
- <version>2.5.1</version>
+ <!-- TODO #6407#9919 upgrading to 3.x leads to test failures in model etc. -->
+ <!-- <version>3.10.1</version> -->
+ <version>2.5.1</version>
<configuration>
<source>${java.codelevel}</source>
<target>${java.codelevel}</target>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
- <version>3.0.0</version>
+ <version>3.1.0</version>
<executions>
<execution>
<id>enforce</id>
<artifactId>jakarta.activation-api</artifactId>
<version>1.2.2</version>
</dependency>
- <!-- JAB END -->
+ <!-- JAXB END -->
<dependency>
<!-- only for version management org.apache.ant:ant depends in different versions from
<version>${slf4j.version}</version>
</dependency>
<dependency>
- <!-- replaces slf4j-log4j12 as log4j12 redirects to reload4j as log4j12 reached EOL 2015,
- can maybe be removed once fully removing log4j12 (#10072), but not sure if it also
- supports log4j2 -->
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-reload4j</artifactId>
- <version>${slf4j.version}</version>
- </dependency>
- <dependency>
- <!-- try to generally exclude -nop as we try to use log4j12, this is done already for unitils -->
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-nop</artifactId>
- <version>${slf4j.version}</version>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-slf4j-impl</artifactId>
+ <version>${log4j.version}</version>
</dependency>
<!-- dozer depends on jcl-over-slf4j -->
<dependency>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
+
<!-- ******* testing ******* -->
<dependency>
<groupId>junit</groupId>
<version>${unitils.version}</version>
<!-- <scope>test</scope> unscoped since we need this dependency at
compile time in persistence for H2DbSupport.java -->
+ <exclusions>
+ <exclusion>
+ <!-- we use jcl-over-slf4j instead -->
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.unitils</groupId>
<artifactId>unitils-database</artifactId>
<version>${unitils.version}</version>
- <!-- <scope>test</scope> -->
+ <scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>hibernate</artifactId>
</exclusion>
<exclusion>
+ <!-- we use log4j-slf4j-impl -->
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
</exclusion>
higher number needed for compatibility with current hibernate and Java 1.6
PreparedStatement -->
<dependency>
+ <!-- currently still needed by cdmlib-persistence, once removed, scope should be set to test -->
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
<!-- <scope>test</scope> -->
+ </dependency>
+ <dependency>
+ <!-- currently still needed by cdmlib-persistence commons-dbcp dependency, once removed, scope should be set to test -->
+ <groupId>commons-pool</groupId>
+ <artifactId>commons-pool</artifactId>
+ <version>1.6</version>
+ <!-- <scope>test</scope> -->
</dependency>
<dependency>
<groupId>eu.etaxonomy</groupId>
<artifactId>cdmlib-test</artifactId>
- <!-- <scope>test</scope> -->
+ <scope>test</scope>
<version>${project.version}</version>
</dependency>
<dependency>
</dependency>
<dependency>
+ <!-- should not be in use anymore -->
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
- <version>2.17.2</version>
+ <version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
- <version>2.17.2</version>
+ <version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>${httpcomponents.version}</version>
+ <exclusions>
+ <exclusion>
+ <!-- we use jcl-over-slf4j instead -->
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>commons-codec</artifactId>
<version>1.15</version>
</dependency>
- <!-- only for version management, httpcore:4.2.4, commons-beanutils:1.8.3,
- httpclient:4.2.3, spring-modules-cache
- require 1.1 and batik-ext requires 1.0.4, so we update here to the latest
- version 1.1.2, poi and springframework require 1.1.3 -->
- <dependency>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- <version>${commons-logging.version}</version>
- </dependency>
<!-- only for version management, hibernate-commons-annotations:4.0.1.Final
requires 3.1.0.CR2 , so we update
here to the latest version 3.4.1.Final -->
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
<version>1.9.4</version>
+ <exclusions>
+ <exclusion>
+ <!-- we use jcl-over-slf4j instead -->
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<version>2.4</version>
<!-- classifier required as json-lib exists on maven central as json-lib-2.4-jdk15.jar and xxx-jdk13.jar, see #9887 -->
<classifier>jdk15</classifier>
+ <exclusions>
+ <exclusion>
+ <!-- we use jcl-over-slf4j instead -->
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<!-- media -->
<dependency>
<artifactId>iiif-apis</artifactId>
<version>0.3.9</version>
</dependency>
-<!-- <dependency> -->
-<!-- only for version management iterators depends in different versions from -->
-<!-- de.digitalcollections.iiif:iiif-apis:0.3.9 -->
-<!-- <groupId>org.dmfs</groupId> -->
-<!-- <artifactId>iterators</artifactId> -->
-<!-- <version>1.5</version> -->
-<!-- </dependency> -->
- <!-- -->
+ <dependency>
+ <groupId>com.fasterxml.jackson.datatype</groupId>
+ <artifactId>jackson-datatype-jsr310</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson.module</groupId>
+ <artifactId>jackson-module-parameter-names</artifactId>
+ <version>${jackson.version}</version>
+ </dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>2.12.2</version>
<!-- checked 2022-06 -->
</dependency>
- <!-- >batik-ext required by Xerces 2.11.0 for class ElementTraversal,
- as this is not included anymore in xml-apis 2.x -->
-<!-- <dependency> -->
-<!-- <groupId>org.apache.xmlgraphics</groupId> -->
-<!-- <artifactId>batik-ext</artifactId> -->
-<!-- <version>1.13</version> -->
-<!-- </dependency> -->
<dependency> <!-- required by cdmlib-print -->
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>fop</artifactId>
<version>2.7</version>
+ <exclusions>
+ <exclusion>
+ <!-- we use jcl-over-slf4j instead -->
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.odftoolkit</groupId>
<artifactId>hibernate-search-engine</artifactId>
<version>${hibernate-search.version}</version>
</dependency>
+
<dependency>
<!-- used by hibernate as bytecode provider framework -->
<groupId>net.bytebuddy</groupId>
<artifactId>jboss-transaction-api_1.2_spec</artifactId>
<version>1.1.1.Final</version>
</dependency>
+ <dependency>
+ <!-- dependency of iiif-apis (and still by hibernate but will be removed in v5.6 as hibernate uses bytebuddy) -->
+ <groupId>org.javassist</groupId>
+ <artifactId>javassist</artifactId>
+ <version>3.29.0-GA</version>
+ </dependency>
<!-- ******* SPRING ******* -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<dependency>
<groupId>org.mariadb.jdbc</groupId>
<artifactId>mariadb-java-client</artifactId>
- <version>3.0.5</version>
+ <version>3.0.6</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
- <version>42.3.6</version>
+ <version>42.5.1</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<!-- only needed for PasswordResetService, may be replaced by Thymeleaf, but also needed in TaxEditor cdmlib modul -->
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
- <version>1.9</version>
+ <version>1.10.0</version>
</dependency>
<dependency>
<groupId>org.passay</groupId>