ref #9326, ref #3764 fix secion in book-section handling and some cleanup in Referen...
[cdmlib.git] / pom.xml
diff --git a/pom.xml b/pom.xml
index be2ce2a8d145d5770e9beb3a2cae424c411cd38e..7e54a504b624804ad2c63d9a3970572b7aaf2ed7 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
   <modelVersion>4.0.0</modelVersion>
   <groupId>eu.etaxonomy</groupId>
   <artifactId>cdmlib-parent</artifactId>
-  <version>5.18.0-SNAPSHOT</version>
+  <version>5.23.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>http://cybertaxonomy.eu/cdmlib/</url>
     <lucene.version>5.4.1</lucene.version>
        <unitils.version>3.4.6</unitils.version>
     <hsqldb.version>2.5.1</hsqldb.version>
-       <!-- 1.8.0.10, 1.9.0-rc6 (manually build only for debugging) -->
     <httpcomponents.version>4.5.12</httpcomponents.version>
     <doxia.version>1.9.1</doxia.version>                <!-- checked 2020-08 -->
     <poi.version>4.1.2</poi.version>                    <!-- checked 2020-08 -->
     <jackson.version>2.11.2</jackson.version>           <!-- checked 2020-08 -->
        <commons-logging.version>1.2</commons-logging.version> <!-- checked 2020-08 -->
        <slf4j.version>1.7.30</slf4j.version>               <!-- checked 2020-08 -->
-       <jaxb.version>2.2.11</jaxb.version>                 <!-- checked 2020-08, there is a newer version 3.0.0-MX, not checked if compatible -->
+       <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.6</aspectj.version>            <!-- checked 2020-08 -->
        <geotools.version>23.2</geotools.version>           <!-- checked 2020-08 -->
-    
+    <dozer.version>6.5.0</dozer.version>                <!-- checked 2021-02 -->
     <javadoc.opts>-Xdoclint:none</javadoc.opts>         
   </properties>
   
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
-        <version>3.0.0-M4</version>
+        <version>3.0.0-M5</version>  <!-- updated 2020-09 -->
         <configuration>
           <argLine>-Xmx512M -Dfile.encoding=${project.build.sourceEncoding}</argLine>
           <runOrder>alphabetical</runOrder>
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-antrun-plugin</artifactId>
-          <version>1.7</version>
+          <version>3.0.0</version>
         </plugin>
       </plugins>  
     </pluginManagement>
   <!-- **** DEPENDENCIES **** -->
   <dependencies>
     <dependency>
+      <!-- junit is required for all module tests, also those not depending on cdmlib-test, so it is added here on parent level with test scope -->
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>log4j</groupId>
-      <artifactId>log4j</artifactId>
+      <scope>test</scope>
     </dependency>
   </dependencies>
   <dependencyManagement>
         <artifactId>cdmlib-print</artifactId>
         <version>${project.version}</version>
       </dependency>
+      
       <!--*********** JAXB********* -->
       <dependency>
-        <groupId>javax.xml.bind</groupId>
-        <artifactId>jaxb-api</artifactId>
-        <version>2.3.1</version>
-        <!-- checked 2020-08 -->
+        <groupId>jakarta.xml.bind</groupId>
+        <artifactId>jakarta.xml.bind-api</artifactId>
+        <version>${jaxb.version}</version>  <!-- not sure if jaxb.version is always the same -->
       </dependency>
+<!--       <dependency> -->
+<!--         replaced by jakarta.xml.bind-api -->
+<!--         <groupId>javax.xml.bind</groupId> -->
+<!--         <artifactId>jaxb-api</artifactId> -->
+<!--         <version>2.3.1</version> -->
+<!--         checked 2020-08 -->
+<!--       </dependency> -->
       <dependency>
          <!-- dependency for jaxb-api -->
          <groupId>javax.activation</groupId>
          <artifactId>javax.activation-api</artifactId>
          <version>1.2.0</version>
          <!-- checked 2020-08 -->
-      </dependency>
-      <dependency>
-        <groupId>xml-resolver</groupId>
-        <artifactId>xml-resolver</artifactId>
-        <version>1.2</version>
-        <!-- checked 2020-08 -->
       </dependency>
          <dependency>
                <groupId>org.glassfish.jaxb</groupId>
                <artifactId>jaxb-runtime</artifactId>
                <version>${jaxb.version}</version>
          </dependency>
-         <dependency>
-               <groupId>org.glassfish.jaxb</groupId>
-               <artifactId>jaxb-core</artifactId>
-               <version>${jaxb.version}</version>
-         </dependency>
          <dependency>
                <groupId>org.glassfish.jaxb</groupId>
                <artifactId>jaxb-jxc</artifactId>
                <version>${jaxb.version}</version>
          </dependency>
       <dependency>
-         <!-- jaxb-core dependency -->
-         <groupId>com.sun.istack</groupId>
-         <artifactId>istack-commons-runtime</artifactId>
-         <version>3.0.11</version>
-      </dependency>
-      <dependency>
-          <!-- jaxb-core dependency -->
-          <groupId>jakarta.xml.bind</groupId>
-          <artifactId>jakarta.xml.bind-api</artifactId>
-          <version>2.3.3</version>
-      </dependency>
-      <dependency>
-          <!-- jaxb-core dependency -->
-          <groupId>org.glassfish.jaxb</groupId>
-          <artifactId>txw2</artifactId>
-          <version>2.3.3</version>
+          <!-- currently required as xsom references older version -->
+          <groupId>com.sun.xml.bind.external</groupId>
+          <artifactId>relaxng-datatype</artifactId>
+          <version>${jaxb.version}</version>
       </dependency>
       <dependency>
-          <!-- jaxb-core transitive dependency -->
+          <!-- jaxb-runtime dependency -->
           <groupId>jakarta.activation</groupId>
           <artifactId>jakarta.activation-api</artifactId>
           <version>1.2.2</version>
       </dependency>
-      <dependency>
-          <!-- jaxb-jxc transitive dependency -->
-         <groupId>com.sun.xml.bind.external</groupId>
-         <artifactId>rngom</artifactId>
-         <version>2.3.3</version>
-      </dependency>
-      <dependency>
-          <groupId>com.sun.xml.bind.external</groupId>
-          <artifactId>relaxng-datatype</artifactId>
-          <version>2.3.3</version>
-      </dependency>
+      <!--  JAB END -->
       
          <dependency>
            <!-- only for version management org.apache.ant:ant depends in different versions from 
       <dependency>
         <groupId>junit</groupId>
         <artifactId>junit</artifactId>
-        <version>4.13</version>
+        <version>4.13.1</version>
         <scope>test</scope>
       </dependency>
       <dependency>
           </exclusion>
         </exclusions>
       </dependency>
+      <dependency>
+        <groupId>org.objenesis</groupId>
+        <artifactId>objenesis</artifactId>
+        <version>3.1</version>
+      </dependency>
       <dependency>
         <groupId>org.unitils</groupId>
         <artifactId>unitils-dbunit</artifactId>
          </dependency>
       <!-- ******* aspect ******* -->
       <dependency>
+        <!-- not really needed as long as aspectjweaver is on classpath which is a superset of aspectjrt -->
         <groupId>org.aspectj</groupId>
         <artifactId>aspectjrt</artifactId>
         <version>${aspectj.version}</version>
         <version>${aspectj.version}</version>
       </dependency>
       <!-- ******* VARIOUS ******* -->
+      <dependency>
+        <groupId>xml-resolver</groupId>
+        <artifactId>xml-resolver</artifactId>
+        <version>1.2</version>
+        <!-- checked 2020-08 -->
+      </dependency>
+      
       <dependency>
         <groupId>log4j</groupId>
         <artifactId>log4j</artifactId>
         <version>2.3</version>
       </dependency>
       <dependency>
-        <!-- TODO what is this for? -->
-        <groupId>org.eclipse</groupId>
-        <artifactId>osgi</artifactId>
-        <version>3.6.0</version>
+        <groupId>org.osgi</groupId>
+        <artifactId>osgi.core</artifactId>
+        <version>7.0.0</version>
       </dependency>
       <dependency>
         <groupId>cglib</groupId>
       <dependency>
         <groupId>commons-codec</groupId>
         <artifactId>commons-codec</artifactId>
-        <version>1.14</version>
+        <version>1.15</version>
       </dependency>
       <!-- only for version management, httpcore:4.2.4, commons-beanutils:1.8.3, 
         commons-collections:3.2.1 currently require 1.1.1 , httpclient:4.2.3, spring-modules-cache 
         <version>${commons-logging.version}</version>
       </dependency>
       <!-- only for version management, hibernate-commons-annotations:4.0.1.Final 
-        requires 3.1.0.CR2 , hibernate-ehcache:4.1.10 requires 3.1.0.GA , so we update 
-        here to the latest version 3.1.3.GA -->
+        requires 3.1.0.CR2 , so we update 
+        here to the latest version 3.4.1.Final -->
       <dependency>
         <groupId>org.jboss.logging</groupId>
         <artifactId>jboss-logging</artifactId>
         <version>3.4.1.Final</version>
         <!-- checked 2020-08 -->
       </dependency>
-         <dependency>
-           <!-- since hibernate 5.0.4 Dialect throws exception if jta is missing  -->
-        <groupId>javax.transaction</groupId>
-        <artifactId>jta</artifactId>
-        <version>1.1</version>
-      </dependency>  
+<!--     <dependency> -->
+<!--       see note in cdmib-persistence pom  -->
+<!--         <groupId>javax.transaction</groupId> -->
+<!--         <artifactId>jta</artifactId> -->
+<!--         <version>1.1</version> -->
+<!--       </dependency>   -->
                
       <!-- TODO xerces xmlParserAPIs duplicates many classes from jre and 
         xml-apis. It is a dependency that comes with xom:xom -->
         <artifactId>commons-imaging</artifactId>
         <version>1.0-alpha2</version>
       </dependency>
+      <dependency>
+        <groupId>org.cybertaxonomy.media</groupId>
+        <artifactId>media-info-model</artifactId>
+        <version>1.1.0</version>
+      </dependency>
       <!-- joda-time -->
       <dependency>
         <groupId>joda-time</groupId>
         <artifactId>wsdl4j</artifactId>
         <version>1.6.3</version>
       </dependency>
+<!--       <dependency> -->
+<!--         <groupId>net.sf.dozer</groupId> -->
+<!--         <artifactId>dozer</artifactId> -->
+<!--         <version>5.5.1</version> -->
+<!--       </dependency> -->
+      <dependency>
+          <groupId>com.github.dozermapper</groupId>
+          <artifactId>dozer-core</artifactId>
+          <version>${dozer.version}</version>
+      </dependency>
       <dependency>
-        <groupId>net.sf.dozer</groupId>
-        <artifactId>dozer</artifactId>
-        <version>5.3.0</version>
+        <groupId>com.github.dozermapper</groupId>
+        <artifactId>dozer-spring4</artifactId>
+        <version>${dozer.version}</version>
       </dependency>
       <dependency>
         <groupId>net.sf.ehcache</groupId>
-        <artifactId>ehcache-core</artifactId>
-        <version>2.6.11</version>
+        <artifactId>ehcache</artifactId>
+        <version>2.10.6</version>
       </dependency>
       <!-- ******* XML ******* -->
       <dependency>
+<!--        xml-apis seems to be ALMOST fully included in java8 but ElementTraversal seems to be missing, therefore SDDDocumentBuilder does not compile -->
         <groupId>xml-apis</groupId>
         <artifactId>xml-apis</artifactId>
-        <!-- 
-            WARNING: do not upgrade to later versions 2.0.x of xml-apis
-            since these are effectivly reloaded to the early beta version
-            1.0.b2
-        -->
+<!--             WARNING: do not upgrade to later versions 2.0.x of xml-apis -->
+<!--             since these are effectivly reloaded to the early beta version -->
+<!--             1.0.b2 -->
         <version>1.4.01</version>
       </dependency>
       <dependency>
       <dependency> <!-- required by cdmlib-print -->
         <groupId>org.apache.xmlgraphics</groupId>
         <artifactId>fop</artifactId>
-        <!-- version 1.1 does NOT work, because it depends on avalon-framework-api 
-          4.2.0 which is not available in central maven repository under the given 
-          groupID -->
         <version>2.5</version>
-        <exclusions>
-          <!-- 1.1 depends on an old version of avalon-framework which does 
-            not exist in mvn repository under this groupId (has old groupId) -->
-          <exclusion>
-            <groupId>org.apache.avalon.framework</groupId>
-            <artifactId>avalon-framework-api</artifactId>
-          </exclusion>
-          <exclusion>
-            <groupId>org.apache.avalon.framework</groupId>
-            <artifactId>avalon-framework-impl</artifactId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-      <!-- not directly required, but fix mentioned to force correct version 
-        number 4.3.1. Required by org.apache.xmlgraphics/fop 1.1 Remove when dependency 
-        in fop in corrected. -->
-      <dependency>
-        <groupId>org.apache.avalon.framework</groupId>
-        <artifactId>avalon-framework-api</artifactId>
-        <version>4.3.1</version>
       </dependency>
       <dependency>
         <groupId>org.odftoolkit</groupId>
       <dependency>
         <groupId>com.thoughtworks.xstream</groupId>
         <artifactId>xstream</artifactId>
-        <version>1.4.12</version>
+        <version>1.4.14</version>
       </dependency>
       <dependency>
       <groupId>xmlpull</groupId>
         <artifactId>xpp3</artifactId>
         <version>1.1.4c</version>
       </dependency>
-      <dependency>
-        <groupId>stax</groupId>
-        <artifactId>stax</artifactId>
-        <version>1.2.0</version>
-      </dependency>
+<!--       <dependency> -->
+<!--        stax is part of java8 and therefore not needed anymore -->
+<!--         <groupId>stax</groupId> -->
+<!--         <artifactId>stax</artifactId> -->
+<!--         <version>1.2.0</version> -->
+<!--       </dependency> -->
       <dependency>
         <groupId>xom</groupId>
         <artifactId>xom</artifactId>
         <artifactId>hibernate-entitymanager</artifactId>
         <version>${hibernate.version}</version>
       </dependency>
-      <dependency>
-        <groupId>org.hibernate</groupId>
-        <artifactId>hibernate-ehcache</artifactId>
-        <version>${hibernate.version}</version>
-      </dependency>
       <dependency>
         <groupId>org.hibernate</groupId>
         <artifactId>hibernate-envers</artifactId>
         -->
         <version>0.9.5.2</version>
       </dependency>
+      <dependency>
+        <groupId>com.mchange</groupId>
+        <artifactId>mchange-commons-java</artifactId>
+        <!-- mchange-commons-java needs to match the version as defined in the c3p0/pom.xml -->
+        <version>0.2.11</version>
+      </dependency>
       <dependency>
         <groupId>org.hibernate.common</groupId>
         <artifactId>hibernate-commons-annotations</artifactId>
       <dependency>
          <groupId>org.postgresql</groupId>
          <artifactId>postgresql</artifactId>
-         <version>42.2.15</version>
+         <version>42.2.18</version>
       </dependency>
          <dependency>
         <groupId>com.h2database</groupId>
         <artifactId>h2</artifactId>
         <version>1.4.190</version>
       </dependency>
-      <!--for sqlserver2008 and sqlserver2005 -->
+      <!-- SQL Server -->
       <dependency>
         <groupId>com.microsoft.sqlserver</groupId>
-        <artifactId>jdbc4</artifactId>
-        <version>2.0</version>
+        <artifactId>mssql-jdbc</artifactId>
+        <version>8.4.1.jre8</version>
       </dependency>
          <dependency>
         <groupId>org.hsqldb</groupId>
         <artifactId>ojdbc</artifactId>
         <version>14</version>
         </dependency>   -->      
-      <dependency>
-        <groupId>com.taskadapter</groupId>
-        <artifactId>redmine-java-api</artifactId>
-        <version>3.1.0</version>
-      </dependency>
       <!-- GIS/KML -->
          <dependency>
             <groupId>de.micromata.jak</groupId>