From 26cbadccf88518d97793293c37c8e26d4c550285 Mon Sep 17 00:00:00 2001 From: GedMarc Date: Sat, 20 Feb 2021 12:15:50 +0200 Subject: [PATCH 1/2] Transform Service Loaders, and Manifests for Jakarta Artifacts --- base/pom.xml | 23 +++++++++++++++++++ datatypes/pom.xml | 23 +++++++++++++++++++ json/pom.xml | 23 +++++++++++++++++++ xml/pom.xml | 57 +++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 126 insertions(+) diff --git a/base/pom.xml b/base/pom.xml index f21f9ea1..98f61a74 100644 --- a/base/pom.xml +++ b/base/pom.xml @@ -83,10 +83,33 @@ ${project.groupId}.annotation.*;version=${project.version} javax.ws.rs jakarta.ws.rs + + javax.annotation + jakarta.annotation + + + javax.validation + jakarta.validation + + + + + + + + + + + + io.yupiik.maven + maven-shade-transformers + 0.0.1 + + diff --git a/datatypes/pom.xml b/datatypes/pom.xml index cecc4291..eed5f02f 100644 --- a/datatypes/pom.xml +++ b/datatypes/pom.xml @@ -108,10 +108,33 @@ javax.ws.rs jakarta.ws.rs + + javax.annotation + jakarta.annotation + + + javax.validation + jakarta.validation + + + + + + + + + + + + io.yupiik.maven + maven-shade-transformers + 0.0.1 + + diff --git a/json/pom.xml b/json/pom.xml index 8497134b..dcf3b6b9 100644 --- a/json/pom.xml +++ b/json/pom.xml @@ -143,10 +143,33 @@ javax.ws.rs jakarta.ws.rs + + javax.annotation + jakarta.annotation + + + javax.validation + jakarta.validation + + + + + + + + + + + + io.yupiik.maven + maven-shade-transformers + 0.0.1 + + diff --git a/xml/pom.xml b/xml/pom.xml index 6864b9c1..7a683f8f 100644 --- a/xml/pom.xml +++ b/xml/pom.xml @@ -113,6 +113,63 @@ org.moditect moditect-maven-plugin + + + org.apache.maven.plugins + maven-shade-plugin + + + jakarta + package + + shade + + + true + jakarta + false + + + ${project.groupId}:${project.artifactId} + + + + + javax.xml.bind + jakarta.xml.bind + + + javax.ws.rs + jakarta.ws.rs + + + javax.annotation + jakarta.annotation + + + javax.validation + jakarta.validation + + + + + + + + + + + + + + + + io.yupiik.maven + maven-shade-transformers + 0.0.1 + + + From 0fc32eb3530cb12da5d9ab1e068ac4f93d9ca13d Mon Sep 17 00:00:00 2001 From: GedMarc Date: Mon, 22 Feb 2021 11:11:55 +0200 Subject: [PATCH 2/2] Create manifest files separately and reference in bundle plugin, THEN shade in the new manifest for jakarta separately before install https://github.com/FasterXML/jackson-jaxrs-providers/issues/132 --- base/pom.xml | 54 +++++++++++++++++++++++++++++++++++++++++++---- datatypes/pom.xml | 54 +++++++++++++++++++++++++++++++++++++++++++---- json/pom.xml | 54 +++++++++++++++++++++++++++++++++++++++++++---- pom.xml | 8 ++++--- xml/pom.xml | 54 +++++++++++++++++++++++++++++++++++++++++++---- 5 files changed, 205 insertions(+), 19 deletions(-) diff --git a/base/pom.xml b/base/pom.xml index 98f61a74..a62bc900 100644 --- a/base/pom.xml +++ b/base/pom.xml @@ -74,6 +74,14 @@ ${project.groupId}.annotation.*;version=${project.version} ${project.groupId}:${project.artifactId} + + + ${project.groupId}:${project.artifactId} + + META-INF/MANIFEST.MF + + + javax.xml.bind @@ -94,10 +102,9 @@ ${project.groupId}.annotation.*;version=${project.version} - - - - + + META-INF/MANIFEST.MF + ${build.directory}/jakarta/MANIFEST.MF @@ -112,6 +119,45 @@ ${project.groupId}.annotation.*;version=${project.version} + + + org.apache.felix + maven-bundle-plugin + 5.1.1 + + + default_bundle + process-classes + + bundle + + + ${build.directory}/javax + jar + + <_nouses>false + + + + + bundle_jakarta_manifest + process-classes + + manifest + + + ${build.directory}/jakarta + jakarta + jar + + jakarta.ws.rs;version="[3.0,4)",jakarta.ws.rs.core;version="[3.0,4)",jakarta.ws.rs.ext;version="[3.0,4)",!javax.ws*,* + + + + + + diff --git a/datatypes/pom.xml b/datatypes/pom.xml index eed5f02f..faa4db85 100644 --- a/datatypes/pom.xml +++ b/datatypes/pom.xml @@ -99,6 +99,14 @@ ${project.groupId}:${project.artifactId} + + + ${project.groupId}:${project.artifactId} + + META-INF/MANIFEST.MF + + + javax.xml.bind @@ -119,10 +127,9 @@ - - - - + + META-INF/MANIFEST.MF + ${build.directory}/jakarta/MANIFEST.MF @@ -137,6 +144,45 @@ + + + org.apache.felix + maven-bundle-plugin + 5.1.1 + + + default_bundle + process-classes + + bundle + + + ${build.directory}/javax + jar + + <_nouses>false + + + + + bundle_jakarta_manifest + process-classes + + manifest + + + ${build.directory}/jakarta + jakarta + jar + + jakarta.ws.rs;version="[3.0,4)",jakarta.ws.rs.core;version="[3.0,4)",jakarta.ws.rs.ext;version="[3.0,4)",!javax.ws*,* + + + + + + diff --git a/json/pom.xml b/json/pom.xml index dcf3b6b9..9ef727e3 100644 --- a/json/pom.xml +++ b/json/pom.xml @@ -134,6 +134,14 @@ ${project.groupId}:${project.artifactId} + + + ${project.groupId}:${project.artifactId} + + META-INF/MANIFEST.MF + + + javax.xml.bind @@ -154,10 +162,9 @@ - - - - + + META-INF/MANIFEST.MF + ${build.directory}/jakarta/MANIFEST.MF @@ -171,6 +178,45 @@ + + + + org.apache.felix + maven-bundle-plugin + 5.1.1 + + + default_bundle + process-classes + + bundle + + + ${build.directory}/javax + jar + + <_nouses>false + + + + + bundle_jakarta_manifest + process-classes + + manifest + + + ${build.directory}/jakarta + jakarta + jar + + jakarta.ws.rs;version="[3.0,4)",jakarta.ws.rs.core;version="[3.0,4)",jakarta.ws.rs.ext;version="[3.0,4)",!javax.ws*,* + + + + + diff --git a/pom.xml b/pom.xml index a5ed148b..9f33b055 100644 --- a/pom.xml +++ b/pom.xml @@ -131,13 +131,14 @@ org.apache.felix maven-bundle-plugin - 3.2.0 + 5.1.1 <_nouses>false + com.google.code.maven-replacer-plugin @@ -155,10 +156,11 @@ - + + de.jjohannes gradle-module-metadata-maven-plugin - + diff --git a/xml/pom.xml b/xml/pom.xml index 7a683f8f..43db6ffe 100644 --- a/xml/pom.xml +++ b/xml/pom.xml @@ -133,6 +133,14 @@ ${project.groupId}:${project.artifactId} + + + ${project.groupId}:${project.artifactId} + + META-INF/MANIFEST.MF + + + javax.xml.bind @@ -153,10 +161,9 @@ - - - - + + META-INF/MANIFEST.MF + ${build.directory}/jakarta/MANIFEST.MF @@ -170,6 +177,45 @@ + + + + org.apache.felix + maven-bundle-plugin + 5.1.1 + + + default_bundle + process-classes + + bundle + + + ${build.directory}/javax + jar + + <_nouses>false + + + + + bundle_jakarta_manifest + process-classes + + manifest + + + ${build.directory}/jakarta + jakarta + jar + + jakarta.ws.rs;version="[3.0,4)",jakarta.ws.rs.core;version="[3.0,4)",jakarta.ws.rs.ext;version="[3.0,4)",!javax.ws*,* + + + + +