You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2019/08/13 07:21:40 UTC

[tomee] 02/03: Use JAXB 2.3. Introduce "BOM" concept to reduce redundancy of deps & excludes.

This is an automated email from the ASF dual-hosted git repository.

dblevins pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomee.git

commit 7f8a0cbb18a46011b50cfcdb5a65d22e38b1b99f
Author: David Blevins <da...@gmail.com>
AuthorDate: Tue Aug 13 00:20:21 2019 -0700

    Use JAXB 2.3.  Introduce "BOM" concept to reduce redundancy of deps & excludes.
---
 boms/jaxb-runtime/pom.xml                     | 63 +++++++++++++++++++++++++++
 boms/pom.xml                                  | 41 +++++++++++++++++
 container/openejb-jee/pom.xml                 | 21 +--------
 examples/groovy-cdi/pom.xml                   | 16 ++-----
 examples/groovy-jpa/pom.xml                   | 16 ++-----
 examples/groovy-spock/pom.xml                 | 16 ++-----
 examples/jaxrs-json-provider-jettison/pom.xml |  7 +++
 examples/simple-stateful-callbacks/pom.xml    | 12 ++---
 pom.xml                                       | 30 +++----------
 server/openejb-client/pom.xml                 | 24 +---------
 server/openejb-cxf/pom.xml                    | 19 +-------
 server/openejb-webservices/pom.xml            | 19 +-------
 tomee/apache-tomee/pom.xml                    | 16 ++-----
 tomee/tomee-webaccess/pom.xml                 | 17 +-------
 14 files changed, 141 insertions(+), 176 deletions(-)

diff --git a/boms/jaxb-runtime/pom.xml b/boms/jaxb-runtime/pom.xml
new file mode 100644
index 0000000..5e1eafb
--- /dev/null
+++ b/boms/jaxb-runtime/pom.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<!-- $Rev$ $Date$ -->
+
+<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/maven-v4_0_0.xsd">
+
+  <parent>
+    <groupId>org.apache.tomee.bom</groupId>
+    <artifactId>boms</artifactId>
+    <version>8.0.0-SNAPSHOT</version>
+  </parent>
+
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>jaxb-runtime</artifactId>
+  <packaging>pom</packaging>
+  <name>TomEE :: BOMs :: JAXB Runtime</name>
+
+  <!-- For easy copy paste
+    <dependency>
+      <groupId>org.apache.tomee.bom</groupId>
+      <artifactId>jaxb-runtime</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+  -->
+
+  <dependencies>
+    <dependency>
+      <groupId>jakarta.xml.bind</groupId>
+      <artifactId>jakarta.xml.bind-api</artifactId>
+      <version>2.3.2</version>
+    </dependency>
+    <dependency>
+      <groupId>org.glassfish.jaxb</groupId>
+      <artifactId>jaxb-runtime</artifactId>
+      <version>2.3.2</version>
+      <exclusions>
+        <exclusion> <!-- Is already included in java-ee-api -->
+          <artifactId>jakarta.activation</artifactId>
+          <groupId>jakarta.activation-api</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+  </dependencies>
+
+</project>
+
diff --git a/boms/pom.xml b/boms/pom.xml
new file mode 100644
index 0000000..1db12e3
--- /dev/null
+++ b/boms/pom.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<!-- $Rev$ $Date$ -->
+
+<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/maven-v4_0_0.xsd">
+
+  <parent>
+    <artifactId>tomee-project</artifactId>
+    <groupId>org.apache.tomee</groupId>
+    <version>8.0.0-SNAPSHOT</version>
+  </parent>
+
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.tomee.bom</groupId>
+  <artifactId>boms</artifactId>
+  <packaging>pom</packaging>
+  <name>TomEE :: BOMs</name>
+
+  <modules>
+    <module>jaxb-runtime</module>
+  </modules>
+
+</project>
+
diff --git a/container/openejb-jee/pom.xml b/container/openejb-jee/pom.xml
index 63c9d93..144f4be 100644
--- a/container/openejb-jee/pom.xml
+++ b/container/openejb-jee/pom.xml
@@ -59,26 +59,9 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>jakarta.xml.bind</groupId>
-      <artifactId>jakarta.xml.bind-api</artifactId>
-      <scope>provided</scope>
-      <exclusions>
-        <exclusion> <!-- Is already included in java-ee-api -->
-          <groupId>jakarta.activation</groupId>
-          <artifactId>jakarta.activation-api</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.glassfish.jaxb</groupId>
+      <groupId>org.apache.tomee.bom</groupId>
       <artifactId>jaxb-runtime</artifactId>
-      <scope>provided</scope>
-      <exclusions>
-        <exclusion> <!-- Is already included in java-ee-api -->
-          <groupId>jakarta.activation</groupId>
-          <artifactId>jakarta.activation-api</artifactId>
-        </exclusion>
-      </exclusions>
+      <type>pom</type>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
diff --git a/examples/groovy-cdi/pom.xml b/examples/groovy-cdi/pom.xml
index e3ef823..a3105c3 100644
--- a/examples/groovy-cdi/pom.xml
+++ b/examples/groovy-cdi/pom.xml
@@ -80,20 +80,10 @@
       <version>2.4.8</version>
     </dependency>
     <dependency>
-      <groupId>org.glassfish.jaxb</groupId>
+      <groupId>org.apache.tomee.bom</groupId>
       <artifactId>jaxb-runtime</artifactId>
-      <version>2.3.2</version>
-      <exclusions>
-        <exclusion> <!-- Is already included in java-ee-api -->
-          <artifactId>jakarta.activation</artifactId>
-          <groupId>jakarta.activation-api</groupId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jaxb_2.2_spec</artifactId>
-      <version>1.0.1</version>
+      <version>8.0.0-SNAPSHOT</version>
+      <type>pom</type>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
diff --git a/examples/groovy-jpa/pom.xml b/examples/groovy-jpa/pom.xml
index be2a127..3bd65fc 100644
--- a/examples/groovy-jpa/pom.xml
+++ b/examples/groovy-jpa/pom.xml
@@ -81,20 +81,10 @@
       <version>2.4.8</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jaxb_2.2_spec</artifactId>
-      <version>1.0.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.glassfish.jaxb</groupId>
+      <groupId>org.apache.tomee.bom</groupId>
       <artifactId>jaxb-runtime</artifactId>
-      <version>2.3.2</version>
-      <exclusions>
-        <exclusion> <!-- Is already included in java-ee-api -->
-          <artifactId>jakarta.activation</artifactId>
-          <groupId>jakarta.activation-api</groupId>
-        </exclusion>
-      </exclusions>
+      <version>8.0.0-SNAPSHOT</version>
+      <type>pom</type>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
diff --git a/examples/groovy-spock/pom.xml b/examples/groovy-spock/pom.xml
index cbbc352..31c37a7 100644
--- a/examples/groovy-spock/pom.xml
+++ b/examples/groovy-spock/pom.xml
@@ -90,20 +90,10 @@
       <version>2.4.8</version>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jaxb_2.2_spec</artifactId>
-      <version>1.0.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.glassfish.jaxb</groupId>
+      <groupId>org.apache.tomee.bom</groupId>
       <artifactId>jaxb-runtime</artifactId>
-      <version>2.3.2</version>
-      <exclusions>
-        <exclusion> <!-- Is already included in java-ee-api -->
-          <artifactId>jakarta.activation</artifactId>
-          <groupId>jakarta.activation-api</groupId>
-        </exclusion>
-      </exclusions>
+      <version>8.0.0-SNAPSHOT</version>
+      <type>pom</type>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
diff --git a/examples/jaxrs-json-provider-jettison/pom.xml b/examples/jaxrs-json-provider-jettison/pom.xml
index 811a993..d930405 100755
--- a/examples/jaxrs-json-provider-jettison/pom.xml
+++ b/examples/jaxrs-json-provider-jettison/pom.xml
@@ -43,6 +43,13 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
+      <groupId>org.apache.tomee.bom</groupId>
+      <artifactId>jaxb-runtime</artifactId>
+      <version>8.0.0-SNAPSHOT</version>
+      <type>pom</type>
+      <scope>provided</scope>
+    </dependency>
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
       <version>${junit.version}</version>
diff --git a/examples/simple-stateful-callbacks/pom.xml b/examples/simple-stateful-callbacks/pom.xml
index ae54a82..97a952c 100644
--- a/examples/simple-stateful-callbacks/pom.xml
+++ b/examples/simple-stateful-callbacks/pom.xml
@@ -58,16 +58,10 @@
       <scope>provided</scope>
     </dependency>
     <dependency>
-      <groupId>org.glassfish.jaxb</groupId>
+      <groupId>org.apache.tomee.bom</groupId>
       <artifactId>jaxb-runtime</artifactId>
-      <version>2.3.2</version>
-      <scope>provided</scope>
-      <exclusions>
-        <exclusion> <!-- Is already included in java-ee-api -->
-          <artifactId>jakarta.activation</artifactId>
-          <groupId>jakarta.activation-api</groupId>
-        </exclusion>
-      </exclusions>
+      <version>8.0.0-SNAPSHOT</version>
+      <type>pom</type>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
diff --git a/pom.xml b/pom.xml
index 9a216b7..60f5e60 100644
--- a/pom.xml
+++ b/pom.xml
@@ -565,6 +565,7 @@
         <activeByDefault>true</activeByDefault>
       </activation>
       <modules>
+        <module>boms</module>
         <module>itests</module>
         <module>maven</module>
         <module>gradle</module>
@@ -603,6 +604,7 @@
     <profile>
       <id>quick</id>
       <modules>
+        <module>boms</module>
         <module>maven</module>
         <module>gradle</module>
         <module>container</module>
@@ -1823,38 +1825,16 @@
         <artifactId>eclipselink</artifactId>
         <version>${version.eclipselink}</version>
       </dependency>
-      <dependency>
-        <groupId>org.apache.geronimo.specs</groupId>
-        <artifactId>geronimo-jaxb_2.2_spec</artifactId>
-        <version>1.0.1</version>
-      </dependency>
-
       <dependency> <!-- Added in for backwards compatibility with the move to Jakarta EE coordinates -->
         <groupId>com.sun.activation</groupId>
         <artifactId>jakarta.activation</artifactId>
         <version>1.2.1</version>
       </dependency>
       <dependency>
-        <groupId>jakarta.xml.bind</groupId>
-        <artifactId>jakarta.xml.bind-api</artifactId>
-        <version>2.3.2</version>
-        <exclusions>
-          <exclusion> <!-- Is already included in java-ee-api -->
-            <artifactId>jakarta.activation</artifactId>
-            <groupId>jakarta.activation-api</groupId>
-          </exclusion>
-        </exclusions>
-      </dependency>
-      <dependency>
-        <groupId>org.glassfish.jaxb</groupId>
+        <groupId>org.apache.tomee.bom</groupId>
         <artifactId>jaxb-runtime</artifactId>
-        <version>2.3.2</version>
-        <exclusions>
-          <exclusion> <!-- Is already included in java-ee-api -->
-            <artifactId>jakarta.activation</artifactId>
-            <groupId>jakarta.activation-api</groupId>
-          </exclusion>
-        </exclusions>
+        <version>${project.version}</version>
+        <type>pom</type>
       </dependency>
       <dependency> <!-- licence apache, only 110ko -->
         <groupId>org.fusesource.jansi</groupId>
diff --git a/server/openejb-client/pom.xml b/server/openejb-client/pom.xml
index 56137a9..4d4fe8b 100644
--- a/server/openejb-client/pom.xml
+++ b/server/openejb-client/pom.xml
@@ -142,29 +142,9 @@
       <optional>true</optional>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.javamail</groupId>
-      <artifactId>geronimo-javamail_1.5_mail</artifactId>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>jakarta.xml.bind</groupId>
-      <artifactId>jakarta.xml.bind-api</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>jakarta.activation</groupId>
-          <artifactId>jakarta.activation-api</artifactId>
-        </exclusion>
-      </exclusions>      
-    </dependency>
-    <dependency>
-      <groupId>org.glassfish.jaxb</groupId>
+      <groupId>org.apache.tomee.bom</groupId>
       <artifactId>jaxb-runtime</artifactId>
-      <exclusions>
-        <exclusion> <!-- Is already included in java-ee-api -->
-          <groupId>jakarta.activation</groupId>
-          <artifactId>jakarta.activation-api</artifactId>
-        </exclusion>
-      </exclusions>
+      <type>pom</type>
     </dependency>
     <dependency>
       <groupId>commons-logging</groupId>
diff --git a/server/openejb-cxf/pom.xml b/server/openejb-cxf/pom.xml
index fe74dec..73a5676 100644
--- a/server/openejb-cxf/pom.xml
+++ b/server/openejb-cxf/pom.xml
@@ -143,24 +143,9 @@
       <artifactId>slf4j-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>jakarta.xml.bind</groupId>
-      <artifactId>jakarta.xml.bind-api</artifactId>
-      <exclusions>
-        <exclusion> <!-- Is already included in java-ee-api -->
-          <groupId>jakarta.activation</groupId>
-          <artifactId>jakarta.activation-api</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>org.glassfish.jaxb</groupId>
+      <groupId>org.apache.tomee.bom</groupId>
       <artifactId>jaxb-runtime</artifactId>
-      <exclusions>
-        <exclusion> <!-- Is already included in java-ee-api -->
-          <groupId>jakarta.activation</groupId>
-          <artifactId>jakarta.activation-api</artifactId>
-        </exclusion>
-      </exclusions>
+      <type>pom</type>
     </dependency>
     <dependency>
       <groupId>org.apache.cxf</groupId>
diff --git a/server/openejb-webservices/pom.xml b/server/openejb-webservices/pom.xml
index 1dbd659..b44d0d8 100644
--- a/server/openejb-webservices/pom.xml
+++ b/server/openejb-webservices/pom.xml
@@ -62,24 +62,9 @@
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>jakarta.xml.bind</groupId>
-      <artifactId>jakarta.xml.bind-api</artifactId>
-      <exclusions>
-        <exclusion>
-          <groupId>jakarta.activation</groupId>
-          <artifactId>jakarta.activation-api</artifactId>
-        </exclusion>
-      </exclusions>      
-    </dependency>
-    <dependency>
-      <groupId>org.glassfish.jaxb</groupId>
+      <groupId>org.apache.tomee.bom</groupId>
       <artifactId>jaxb-runtime</artifactId>
-      <exclusions>
-        <exclusion> <!-- Is already included in java-ee-api -->
-          <groupId>jakarta.activation</groupId>
-          <artifactId>jakarta.activation-api</artifactId>
-        </exclusion>
-      </exclusions>
+      <type>pom</type>
     </dependency>
     <dependency>
       <groupId>org.codehaus.swizzle</groupId>
diff --git a/tomee/apache-tomee/pom.xml b/tomee/apache-tomee/pom.xml
index 5452e92..759c86c 100644
--- a/tomee/apache-tomee/pom.xml
+++ b/tomee/apache-tomee/pom.xml
@@ -282,20 +282,10 @@
             <version>${version.javaee-api}</version>
           </dependency>
           <dependency>
-            <groupId>org.apache.geronimo.specs</groupId>
-            <artifactId>geronimo-jaxb_2.2_spec</artifactId>
-            <version>1.0.1</version>
-          </dependency>
-          <dependency>
-            <groupId>org.glassfish.jaxb</groupId>
+            <groupId>org.apache.tomee.bom</groupId>
             <artifactId>jaxb-runtime</artifactId>
-            <version>2.3.2</version>
-            <exclusions>
-              <exclusion> <!-- Is already included in java-ee-api -->
-                <artifactId>jakarta.activation</artifactId>
-                <groupId>jakarta.activation-api</groupId>
-              </exclusion>
-            </exclusions>
+            <version>${project.version}</version>
+            <type>pom</type>
           </dependency>
           <dependency>
             <groupId>${project.groupId}</groupId>
diff --git a/tomee/tomee-webaccess/pom.xml b/tomee/tomee-webaccess/pom.xml
index b02e6cf..d652a90 100644
--- a/tomee/tomee-webaccess/pom.xml
+++ b/tomee/tomee-webaccess/pom.xml
@@ -230,22 +230,9 @@
       <scope>runtime</scope>
     </dependency>
     <dependency>
-      <groupId>org.apache.geronimo.specs</groupId>
-      <artifactId>geronimo-jaxb_2.2_spec</artifactId>
-      <version>1.0.1</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.glassfish.jaxb</groupId>
+      <groupId>org.apache.tomee.bom</groupId>
       <artifactId>jaxb-runtime</artifactId>
-      <version>2.3.2</version>
-      <scope>provided</scope>     
-      <exclusions>
-        <exclusion> <!-- Is already included in java-ee-api -->
-          <groupId>jakarta.activation</groupId>
-          <artifactId>jakarta.activation-api</artifactId>
-        </exclusion>
-      </exclusions>
+      <type>pom</type>
     </dependency>
   </dependencies>
   <build>