From c86bf3f06da9c28d1fedac79cc5829dd9c8b1fe4 Mon Sep 17 00:00:00 2001 From: GedMarc Date: Wed, 11 Nov 2020 03:15:02 +0200 Subject: [PATCH 1/7] Jakarta Namespace Strategy - Attempt 1 --- jaxb/pom.xml | 210 ++++++++++++--------- jaxb/src/moditect/module-info-jakarta.java | 19 ++ 2 files changed, 136 insertions(+), 93 deletions(-) create mode 100644 jaxb/src/moditect/module-info-jakarta.java diff --git a/jaxb/pom.xml b/jaxb/pom.xml index 73f7affc..2cbe0dc5 100644 --- a/jaxb/pom.xml +++ b/jaxb/pom.xml @@ -1,103 +1,127 @@ - - - - - - - 4.0.0 - - com.fasterxml.jackson.module - jackson-modules-base - 2.12.0-rc2-SNAPSHOT - - jackson-module-jaxb-annotations - Jackson module: JAXB Annotations - bundle + + + + + + + 4.0.0 + + com.fasterxml.jackson.module + jackson-modules-base + 2.12.0-rc2-SNAPSHOT + + jackson-module-jaxb-annotations + Jackson module: JAXB Annotations + bundle - Support for using JAXB annotations as an alternative to "native" Jackson annotations, for configuring -data-binding. - - https://github.com/FasterXML/jackson-modules-base + Support for using JAXB annotations as an alternative to "native" Jackson annotations, for configuring + data-binding. + + https://github.com/FasterXML/jackson-modules-base - - - com/fasterxml/jackson/module/jaxb - ${project.groupId}.jaxb - - javax.activation;resolution:=optional,* + + + com/fasterxml/jackson/module/jaxb + ${project.groupId}.jaxb + + javax.activation;resolution:=optional,* - 2.3.2 - - - - - com.fasterxml.jackson.core - jackson-annotations - - - com.fasterxml.jackson.core - jackson-core - - - com.fasterxml.jackson.core - jackson-databind - + 2.3.2 + + + + + com.fasterxml.jackson.core + jackson-annotations + + + com.fasterxml.jackson.core + jackson-core + + + com.fasterxml.jackson.core + jackson-databind + - - - jakarta.xml.bind - jakarta.xml.bind-api - ${version.jaxb.impl} - + + + jakarta.xml.bind + jakarta.xml.bind-api + ${version.jaxb.impl} + - - - - jakarta.activation - jakarta.activation-api - 1.2.1 - + + + jakarta.activation + jakarta.activation-api + 1.2.1 + - - - org.glassfish.jaxb - jaxb-runtime - ${version.jaxb.impl} - test - + + + org.glassfish.jaxb + jaxb-runtime + ${version.jaxb.impl} + test + + + + + + + + com.google.code.maven-replacer-plugin + replacer + + + + org.moditect + moditect-maven-plugin + true + + 11 + + + + + org.apache.maven.plugins + maven-shade-plugin + + + jakarta + package + + shade + + + true + jakarta + false + + + com.fasterxml.jackson.module:jackson-module-jaxb-annotations + + + + + javax.xml.bind + jakarta.xml.bind + + + + + + + + + - - - - - com.google.code.maven-replacer-plugin - replacer - - - - org.moditect - moditect-maven-plugin - - - diff --git a/jaxb/src/moditect/module-info-jakarta.java b/jaxb/src/moditect/module-info-jakarta.java new file mode 100644 index 00000000..c4728f3f --- /dev/null +++ b/jaxb/src/moditect/module-info-jakarta.java @@ -0,0 +1,19 @@ +module com.fasterxml.jackson.module.jaxb { + requires java.logging; + requires java.xml; + requires java.xml.bind; + + // Needed for JDK9+, but optionally only + requires static java.activation; + // Jakarta Release + requires static jakarta.activation; + + requires com.fasterxml.jackson.core; + requires com.fasterxml.jackson.databind; + + // expose main level, but leave out "ser", "deser" impl + exports com.fasterxml.jackson.module.jaxb; + + provides com.fasterxml.jackson.databind.Module with + com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule; +} From 97819b346d1ab15d500ccb48e1c2dbf4d4eb7f77 Mon Sep 17 00:00:00 2001 From: GedMarc Date: Wed, 11 Nov 2020 03:16:55 +0200 Subject: [PATCH 2/7] Revert "Jakarta Namespace Strategy - Attempt 1" - Formatting in PR This reverts commit c86bf3f0 --- jaxb/pom.xml | 210 +++++++++++++++++++++++---------------------------- 1 file changed, 93 insertions(+), 117 deletions(-) diff --git a/jaxb/pom.xml b/jaxb/pom.xml index 2cbe0dc5..73f7affc 100644 --- a/jaxb/pom.xml +++ b/jaxb/pom.xml @@ -1,127 +1,103 @@ - - - - - - - 4.0.0 - - com.fasterxml.jackson.module - jackson-modules-base - 2.12.0-rc2-SNAPSHOT - - jackson-module-jaxb-annotations - Jackson module: JAXB Annotations - bundle + + + + + + + 4.0.0 + + com.fasterxml.jackson.module + jackson-modules-base + 2.12.0-rc2-SNAPSHOT + + jackson-module-jaxb-annotations + Jackson module: JAXB Annotations + bundle - Support for using JAXB annotations as an alternative to "native" Jackson annotations, for configuring - data-binding. - - https://github.com/FasterXML/jackson-modules-base + Support for using JAXB annotations as an alternative to "native" Jackson annotations, for configuring +data-binding. + + https://github.com/FasterXML/jackson-modules-base - - - com/fasterxml/jackson/module/jaxb - ${project.groupId}.jaxb - - javax.activation;resolution:=optional,* + + + com/fasterxml/jackson/module/jaxb + ${project.groupId}.jaxb + + javax.activation;resolution:=optional,* - 2.3.2 - - - - - com.fasterxml.jackson.core - jackson-annotations - - - com.fasterxml.jackson.core - jackson-core - - - com.fasterxml.jackson.core - jackson-databind - + 2.3.2 + + + + + com.fasterxml.jackson.core + jackson-annotations + + + com.fasterxml.jackson.core + jackson-core + + + com.fasterxml.jackson.core + jackson-databind + - - - jakarta.xml.bind - jakarta.xml.bind-api - ${version.jaxb.impl} - + + + jakarta.xml.bind + jakarta.xml.bind-api + ${version.jaxb.impl} + - - - jakarta.activation - jakarta.activation-api - 1.2.1 - + + + + jakarta.activation + jakarta.activation-api + 1.2.1 + - - - org.glassfish.jaxb - jaxb-runtime - ${version.jaxb.impl} - test - - - - - - - - com.google.code.maven-replacer-plugin - replacer - - - - org.moditect - moditect-maven-plugin - true - - 11 - - - - - org.apache.maven.plugins - maven-shade-plugin - - - jakarta - package - - shade - - - true - jakarta - false - - - com.fasterxml.jackson.module:jackson-module-jaxb-annotations - - - - - javax.xml.bind - jakarta.xml.bind - - - - - - - - - + + + org.glassfish.jaxb + jaxb-runtime + ${version.jaxb.impl} + test + + + + + + com.google.code.maven-replacer-plugin + replacer + + + + org.moditect + moditect-maven-plugin + + + From bf95cb3745416f551bc236221a37570417c6a858 Mon Sep 17 00:00:00 2001 From: GedMarc Date: Wed, 11 Nov 2020 03:17:09 +0200 Subject: [PATCH 3/7] Jakarta Namespace Strategy --- jaxb/pom.xml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/jaxb/pom.xml b/jaxb/pom.xml index 73f7affc..688b05a5 100644 --- a/jaxb/pom.xml +++ b/jaxb/pom.xml @@ -97,6 +97,40 @@ data-binding. org.moditect moditect-maven-plugin + true + + 11 + + + + + org.apache.maven.plugins + maven-shade-plugin + + + jakarta + package + + shade + + + true + jakarta + false + + + com.fasterxml.jackson.module:jackson-module-jaxb-annotations + + + + + javax.xml.bind + jakarta.xml.bind + + + + + From 85b4dcaf5fb65feb617bd0350cb9c38194d60b34 Mon Sep 17 00:00:00 2001 From: GedMarc Date: Wed, 11 Nov 2020 03:25:16 +0200 Subject: [PATCH 4/7] No customized module-info for jaxb is required in jakarta namespace --- jaxb/src/moditect/module-info-jakarta.java | 19 ------------------- 1 file changed, 19 deletions(-) delete mode 100644 jaxb/src/moditect/module-info-jakarta.java diff --git a/jaxb/src/moditect/module-info-jakarta.java b/jaxb/src/moditect/module-info-jakarta.java deleted file mode 100644 index c4728f3f..00000000 --- a/jaxb/src/moditect/module-info-jakarta.java +++ /dev/null @@ -1,19 +0,0 @@ -module com.fasterxml.jackson.module.jaxb { - requires java.logging; - requires java.xml; - requires java.xml.bind; - - // Needed for JDK9+, but optionally only - requires static java.activation; - // Jakarta Release - requires static jakarta.activation; - - requires com.fasterxml.jackson.core; - requires com.fasterxml.jackson.databind; - - // expose main level, but leave out "ser", "deser" impl - exports com.fasterxml.jackson.module.jaxb; - - provides com.fasterxml.jackson.databind.Module with - com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule; -} From a76ab3f998095f009b233047eb783b9f51e058a0 Mon Sep 17 00:00:00 2001 From: GedMarc Date: Thu, 12 Nov 2020 20:41:58 +0200 Subject: [PATCH 5/7] Update Readme for Jakarta Support Update for dynamic module reference in shade, --- README.md | 12 ++++++++++++ jaxb/pom.xml | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8a72d90c..42de0a25 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,18 @@ licensed as per: whereas 3.0 will use [ByteBuddy](https://github.com/raphw/byte-buddy) (licensed as per https://github.com/raphw/byte-buddy/blob/master/LICENSE) + +## Using Jakarta +* Jakarta can be referenced for the JAXB module by using the classifier "jakarta" in your dependency +``` + + com.fasterxml.jackson.jaxrs + jackson-module-jaxb-annotations + jakarta + +``` + + ## Status [![Build Status](https://travis-ci.org/FasterXML/jackson-modules-base.svg)](https://travis-ci.org/FasterXML/jackson-modules-base) diff --git a/jaxb/pom.xml b/jaxb/pom.xml index 688b05a5..e009a3c7 100644 --- a/jaxb/pom.xml +++ b/jaxb/pom.xml @@ -119,7 +119,7 @@ data-binding. false - com.fasterxml.jackson.module:jackson-module-jaxb-annotations + ${project.groupId}:${project.artifactId} From 187163eba495b92700e68627f352169c0281918c Mon Sep 17 00:00:00 2001 From: GedMarc Date: Thu, 12 Nov 2020 21:05:14 +0200 Subject: [PATCH 6/7] The jakarta.xml.bind module namespace addition as well as allowing to switch --- jaxb/src/moditect/module-info.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/jaxb/src/moditect/module-info.java b/jaxb/src/moditect/module-info.java index c4728f3f..33bc5dbf 100644 --- a/jaxb/src/moditect/module-info.java +++ b/jaxb/src/moditect/module-info.java @@ -1,7 +1,8 @@ module com.fasterxml.jackson.module.jaxb { requires java.logging; requires java.xml; - requires java.xml.bind; + requires static java.xml.bind; + requires static jakarta.xml.bind; // Needed for JDK9+, but optionally only requires static java.activation; From db8563fc8bd6d2f7d0861ff8d24d8348360104b6 Mon Sep 17 00:00:00 2001 From: GedMarc Date: Thu, 12 Nov 2020 21:36:25 +0200 Subject: [PATCH 7/7] Shade javax.activation as well --- jaxb/pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/jaxb/pom.xml b/jaxb/pom.xml index e009a3c7..91a1c2e0 100644 --- a/jaxb/pom.xml +++ b/jaxb/pom.xml @@ -127,6 +127,10 @@ data-binding. javax.xml.bind jakarta.xml.bind + + javax.activation + jakarta.activation +