Skip to content

Commit

Permalink
Add jakarta variant for cbor and yaml providers too
Browse files Browse the repository at this point in the history
  • Loading branch information
cowtowncoder committed Feb 25, 2021
1 parent b215047 commit 9baf78c
Show file tree
Hide file tree
Showing 2 changed files with 226 additions and 16 deletions.
125 changes: 115 additions & 10 deletions cbor/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,16 @@
<plugins>
<plugin>
<!-- Inherited from oss-base. Generate PackageVersion.java.-->
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<executions>
<execution>
<id>process-packageVersion</id>
<phase>process-sources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<executions>
<execution>
<id>process-packageVersion</id>
<phase>process-sources</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<executions>
Expand All @@ -89,6 +89,111 @@
<groupId>org.moditect</groupId>
<artifactId>moditect-maven-plugin</artifactId>
</plugin>

<!-- 24-Feb-2021: @GedMarc's changes to properly modify everything, including
OSGi metadata, JPMS module-info, for "-jakarta" classifier artifacts too
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<id>jakarta</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>jakarta</shadedClassifierName>
<createDependencyReducedPom>false</createDependencyReducedPom>
<artifactSet>
<includes>
<include>${project.groupId}:${project.artifactId}</include>
</includes>
</artifactSet>
<filters>
<filter>
<artifact>${project.groupId}:${project.artifactId}</artifact>
<excludes>
<exclude>META-INF/MANIFEST.MF</exclude>
</excludes>
</filter>
</filters>
<relocations>
<relocation>
<pattern>javax.xml.bind</pattern>
<shadedPattern>jakarta.xml.bind</shadedPattern>
</relocation>
<relocation>
<pattern>javax.ws.rs</pattern>
<shadedPattern>jakarta.ws.rs</shadedPattern>
</relocation>
<relocation>
<pattern>javax.annotation</pattern>
<shadedPattern>jakarta.annotation</shadedPattern>
</relocation>
<relocation>
<pattern>javax.validation</pattern>
<shadedPattern>jakarta.validation</shadedPattern>
</relocation>
</relocations>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
<resource>META-INF/MANIFEST.MF</resource>
<file>${build.directory}/jakarta/MANIFEST.MF</file>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>io.yupiik.maven</groupId>
<artifactId>maven-shade-transformers</artifactId>
<version>0.0.1</version>
</dependency>
</dependencies>
</plugin>

<!-- Jakarta bundle fix - nb place last for execution order on package phase
@gedmarc 20210222-->
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<executions>
<execution>
<id>default_bundle</id>
<phase>process-classes</phase>
<goals>
<goal>bundle</goal>
</goals>
<configuration>
<manifestLocation>${build.directory}/javax</manifestLocation>
<packaging>jar</packaging>
<instructions>
<_nouses>false</_nouses>
</instructions>
</configuration>
</execution>
<execution>
<id>bundle_jakarta_manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
<configuration>
<manifestLocation>${build.directory}/jakarta</manifestLocation>
<classifier>jakarta</classifier>
<packaging>jar</packaging>
<instructions>
<Import-Package>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*,*</Import-Package>
</instructions>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
117 changes: 111 additions & 6 deletions yaml/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,8 @@ using standard Jackson data binding.
<dependencies>
<!-- builds on shared base JAX-RS handling code... -->
<dependency>
<artifactId>jackson-jaxrs-base</artifactId>
<groupId>${project.groupId}</groupId>
<artifactId>jackson-jaxrs-base</artifactId>
<version>${project.version}</version>
</dependency>
<!-- Extends Jackson core, mapper, and also (sort of optionally) on JAXB annotation handler -->
Expand All @@ -54,13 +54,13 @@ using standard Jackson data binding.

<!-- Use JSON and Smile providers for testing that content negotiation works with multiple providers registered. -->
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<groupId>${project.groupId}</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
<version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<groupId>${project.groupId}</groupId>
<artifactId>jackson-jaxrs-smile-provider</artifactId>
<version>${project.version}</version>
<scope>test</scope>
Expand All @@ -70,14 +70,14 @@ using standard Jackson data binding.
<plugins>
<plugin>
<!-- Inherited from oss-base. Generate PackageVersion.java.-->
<groupId>com.google.code.maven-replacer-plugin</groupId>
<groupId>com.google.code.maven-replacer-plugin</groupId>
<artifactId>replacer</artifactId>
<executions>
<executions>
<execution>
<id>process-packageVersion</id>
<phase>process-sources</phase>
</execution>
</executions>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand All @@ -104,6 +104,111 @@ using standard Jackson data binding.
<groupId>org.moditect</groupId>
<artifactId>moditect-maven-plugin</artifactId>
</plugin>

<!-- 24-Feb-2021: @GedMarc's changes to properly modify everything, including
OSGi metadata, JPMS module-info, for "-jakarta" classifier artifacts too
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<id>jakarta</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<shadedArtifactAttached>true</shadedArtifactAttached>
<shadedClassifierName>jakarta</shadedClassifierName>
<createDependencyReducedPom>false</createDependencyReducedPom>
<artifactSet>
<includes>
<include>${project.groupId}:${project.artifactId}</include>
</includes>
</artifactSet>
<filters>
<filter>
<artifact>${project.groupId}:${project.artifactId}</artifact>
<excludes>
<exclude>META-INF/MANIFEST.MF</exclude>
</excludes>
</filter>
</filters>
<relocations>
<relocation>
<pattern>javax.xml.bind</pattern>
<shadedPattern>jakarta.xml.bind</shadedPattern>
</relocation>
<relocation>
<pattern>javax.ws.rs</pattern>
<shadedPattern>jakarta.ws.rs</shadedPattern>
</relocation>
<relocation>
<pattern>javax.annotation</pattern>
<shadedPattern>jakarta.annotation</shadedPattern>
</relocation>
<relocation>
<pattern>javax.validation</pattern>
<shadedPattern>jakarta.validation</shadedPattern>
</relocation>
</relocations>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/>
<transformer implementation="org.apache.maven.plugins.shade.resource.IncludeResourceTransformer">
<resource>META-INF/MANIFEST.MF</resource>
<file>${build.directory}/jakarta/MANIFEST.MF</file>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>io.yupiik.maven</groupId>
<artifactId>maven-shade-transformers</artifactId>
<version>0.0.1</version>
</dependency>
</dependencies>
</plugin>

<!-- Jakarta bundle fix - nb place last for execution order on package phase
@gedmarc 20210222-->
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<executions>
<execution>
<id>default_bundle</id>
<phase>process-classes</phase>
<goals>
<goal>bundle</goal>
</goals>
<configuration>
<manifestLocation>${build.directory}/javax</manifestLocation>
<packaging>jar</packaging>
<instructions>
<_nouses>false</_nouses>
</instructions>
</configuration>
</execution>
<execution>
<id>bundle_jakarta_manifest</id>
<phase>process-classes</phase>
<goals>
<goal>manifest</goal>
</goals>
<configuration>
<manifestLocation>${build.directory}/jakarta</manifestLocation>
<classifier>jakarta</classifier>
<packaging>jar</packaging>
<instructions>
<Import-Package>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*,*</Import-Package>
</instructions>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

0 comments on commit 9baf78c

Please sign in to comment.