| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| |
| Copyright (c) 2012, 2019 Oracle and/or its affiliates. All rights reserved. |
| |
| This program and the accompanying materials are made available under the |
| terms of the Eclipse Public License v. 2.0, which is available at |
| http://www.eclipse.org/legal/epl-2.0. |
| |
| This Source Code may also be made available under the following Secondary |
| Licenses when the conditions for such availability set forth in the |
| Eclipse Public License v. 2.0 are satisfied: GNU General Public License, |
| version 2 with the GNU Classpath Exception, which is available at |
| https://www.gnu.org/software/classpath/license.html. |
| |
| SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 |
| |
| --> |
| |
| <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/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.glassfish.jersey.bundles</groupId> |
| <artifactId>project</artifactId> |
| <version>2.30-SNAPSHOT</version> |
| </parent> |
| |
| <artifactId>jaxrs-ri</artifactId> |
| <name>jersey-bundles-jaxrs-ri</name> |
| <packaging>bundle</packaging> |
| |
| <description> |
| A bundle project producing JAX-RS RI bundles. The primary artifact is an "all-in-one" OSGi-fied JAX-RS RI bundle |
| (jaxrs-ri.jar). |
| Attached to that are two compressed JAX-RS RI archives. The first archive (jaxrs-ri.zip) consists of binary RI bits and |
| contains the API jar (under "api" directory), RI libraries (under "lib" directory) as well as all external |
| RI dependencies (under "ext" directory). The secondary archive (jaxrs-ri-src.zip) contains buildable JAX-RS RI source |
| bundle and contains the API jar (under "api" directory), RI sources (under "src" directory) as well as all external |
| RI dependencies (under "ext" directory). The second archive also contains "build.xml" ANT script that builds the RI |
| sources. To build the JAX-RS RI simply unzip the archive, cd to the created jaxrs-ri directory and invoke "ant" from |
| the command line. |
| </description> |
| |
| <dependencies> |
| <!-- JAX-RS API Sources--> |
| <dependency> |
| <groupId>jakarta.ws.rs</groupId> |
| <artifactId>jakarta.ws.rs-api</artifactId> |
| <version>${jaxrs.api.impl.version}</version> |
| <classifier>sources</classifier> |
| <scope>provided</scope> |
| </dependency> |
| |
| <!-- JAX-RS RI Binaries --> |
| <dependency> |
| <groupId>org.glassfish.jersey.inject</groupId> |
| <artifactId>jersey-hk2</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.core</groupId> |
| <artifactId>jersey-common</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.media</groupId> |
| <artifactId>jersey-media-jaxb</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.media</groupId> |
| <artifactId>jersey-media-json-binding</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.core</groupId> |
| <artifactId>jersey-client</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.core</groupId> |
| <artifactId>jersey-server</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.containers</groupId> |
| <artifactId>jersey-container-servlet-core</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.containers</groupId> |
| <artifactId>jersey-container-servlet</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.media</groupId> |
| <artifactId>jersey-media-sse</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <!-- JAX-RS RI Sources --> |
| <dependency> |
| <groupId>org.glassfish.jersey.inject</groupId> |
| <artifactId>jersey-hk2</artifactId> |
| <version>${project.version}</version> |
| <classifier>sources</classifier> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.core</groupId> |
| <artifactId>jersey-common</artifactId> |
| <version>${project.version}</version> |
| <classifier>sources</classifier> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.media</groupId> |
| <artifactId>jersey-media-jaxb</artifactId> |
| <version>${project.version}</version> |
| <classifier>sources</classifier> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.core</groupId> |
| <artifactId>jersey-client</artifactId> |
| <version>${project.version}</version> |
| <classifier>sources</classifier> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.core</groupId> |
| <artifactId>jersey-server</artifactId> |
| <version>${project.version}</version> |
| <classifier>sources</classifier> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.containers</groupId> |
| <artifactId>jersey-container-servlet-core</artifactId> |
| <version>${project.version}</version> |
| <classifier>sources</classifier> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.jersey.containers</groupId> |
| <artifactId>jersey-container-servlet</artifactId> |
| <version>${project.version}</version> |
| <classifier>sources</classifier> |
| <optional>true</optional> |
| </dependency> |
| |
| <!-- RI dependencies --> |
| <dependency> |
| <groupId>org.glassfish.hk2</groupId> |
| <artifactId>hk2-api</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.glassfish.hk2</groupId> |
| <artifactId>hk2-locator</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.osgi</groupId> |
| <artifactId>org.osgi.core</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.xml.bind</groupId> |
| <artifactId>jakarta.xml.bind-api</artifactId> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.annotation</groupId> |
| <artifactId>jakarta.annotation-api</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.validation</groupId> |
| <artifactId>jakarta.validation-api</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.servlet</groupId> |
| <artifactId>jakarta.servlet-api</artifactId> |
| <version>${servlet4.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>jakarta.persistence</groupId> |
| <artifactId>jakarta.persistence-api</artifactId> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <finalName>jaxrs-ri</finalName> |
| <resources> |
| <resource> |
| <directory>${generated.src.dir}</directory> |
| <excludes> |
| <exclude>**/*.java</exclude> |
| </excludes> |
| <filtering>true</filtering> |
| </resource> |
| </resources> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <inherited>false</inherited> |
| <configuration> |
| <source>${java.version}</source> |
| <target>${java.version}</target> |
| <compilerArguments> |
| <!-- Do not warn about using sun.misc.Unsafe --> |
| <XDignore.symbol.file /> |
| </compilerArguments> |
| <showWarnings>false</showWarnings> |
| <fork>false</fork> |
| <excludes> |
| <exclude>module-info.java</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <!-- producing single jar bundle --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <executions> |
| <execution> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>add-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>${generated.src.dir}</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>unpack</id> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>unpack-dependencies</goal> |
| </goals> |
| <configuration> |
| <includeGroupIds>jakarta.ws.rs,org.glassfish.jersey.core,org.glassfish.jersey.containers,org.glassfish.jersey.jaxb,org.glassfish.jersey.inject</includeGroupIds> |
| <includeClassifiers>sources</includeClassifiers> |
| <outputDirectory>${generated.src.dir}</outputDirectory> |
| <excludes>**/NOTICE.md,**/NOTICE.markdown</excludes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <configuration> |
| <instructions> |
| <Bundle-Name>${project.artifactId}</Bundle-Name> |
| <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName> |
| <Specification-Version>${jaxrs.api.spec.version}</Specification-Version> |
| <Implementation-Version> |
| ${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.qualifier} |
| </Implementation-Version> |
| <Extension-Name>${project.artifactId}</Extension-Name> |
| <Export-Package> |
| javax.ws.rs.*;version=${jaxrs.api.impl.version}, |
| org.glassfish.jersey.*;version=${project.version}, |
| com.sun.research.ws.wadl.*;version=${project.version}, |
| jersey.repackaged.org.objectweb.asm.*;version=${project.version} |
| </Export-Package> |
| <Import-Package><![CDATA[ |
| javax.servlet.annotation.*;resolution:=optional;version="[2.4,5.0)", |
| javax.servlet.descriptor.*;resolution:=optional;version="[2.4,5.0)", |
| javax.servlet.*;version="[2.4,5.0)", |
| ${javax.annotation.osgi.version}, |
| javax.persistence.*;resolution:=optional, |
| javax.validation.*;resolution:=optional;version="${range;[==,3);${javax.validation.api.version}}", |
| sun.misc.*;resolution:=optional, |
| ${hk2.osgi.version}, |
| * |
| ]]></Import-Package> |
| <Private-Package> |
| com.sun.research.ws.wadl |
| </Private-Package> |
| </instructions> |
| <unpackBundle>true</unpackBundle> |
| <excludeDependencies>*;scope=compile</excludeDependencies> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>3.1.0</version> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <filters> |
| <filter> |
| <artifact>*:*</artifact> <!-- jersey artifacts --> |
| <excludes> |
| <exclude>META-INF/NOTICE.md</exclude> |
| <exclude>META-INF/NOTICE.markdown</exclude> |
| </excludes> |
| </filter> |
| <filter> |
| <artifact>*:*</artifact> <!-- 3rd party artifacts --> |
| <excludes> |
| <exclude>META-INF/DEPENDENCIES.txt</exclude> |
| <exclude>META-INF/LICENSE.md</exclude> |
| <exclude>javax/annotation/**</exclude> |
| <exclude>javax/decorator/**</exclude> |
| <exclude>javax/el/**</exclude> |
| <exclude>javax/enterprise/**</exclude> |
| <exclude>javax/interceptor/**</exclude> |
| </excludes> |
| </filter> |
| </filters> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- producing zipped archives --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>make-binary-archive</id> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| <configuration> |
| <descriptors> |
| <descriptor>${project.basedir}/src/main/assembly/assembly-bin.xml</descriptor> |
| </descriptors> |
| <appendAssemblyId>false</appendAssemblyId> |
| </configuration> |
| </execution> |
| <execution> |
| <id>make-source-archive</id> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| <configuration> |
| <descriptors> |
| <descriptor>${project.basedir}/src/main/assembly/assembly-src.xml</descriptor> |
| </descriptors> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>xcopy</id> |
| <phase>package</phase> |
| <configuration> |
| <tasks> |
| <jar destfile="${project.build.directory}/${artifactId}.jar" update="true"> |
| <zipfileset dir="../.." includes="NOTICE.md" prefix="META-INF" /> |
| </jar> |
| <jar destfile="${project.build.directory}/${artifactId}-sources.jar" update="true"> |
| <zipfileset dir="../.." includes="NOTICE.md" prefix="META-INF" /> |
| </jar> |
| </tasks> |
| </configuration> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>licensee.src.bundle</id> |
| <activation> |
| <property> |
| <name>license.url</name> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>wagon-maven-plugin</artifactId> |
| <version>1.0-beta-4</version> |
| <inherited>false</inherited> |
| <executions> |
| <execution> |
| <id>get-license</id> |
| <phase>package</phase> |
| <goals> |
| <goal>download-single</goal> |
| </goals> |
| <configuration> |
| <url>${license.url}</url> |
| <fromFile>TLDA_SCSL_Licensees_License_Notice.txt</fromFile> |
| <toDir>${project.build.directory}/license</toDir> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-assembly-plugin</artifactId> |
| <inherited>false</inherited> |
| <executions> |
| <execution> |
| <id>make-licensee-source-archive</id> |
| <phase>package</phase> |
| <goals> |
| <goal>single</goal> |
| </goals> |
| <configuration> |
| <finalName>jaxrs-ri-${project.version}-src-licensee</finalName> |
| <attach>false</attach> |
| <appendAssemblyId>false</appendAssemblyId> |
| <descriptors> |
| <descriptor>${project.basedir}/src/main/assembly/assembly-src-licensee.xml</descriptor> |
| </descriptors> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| <properties> |
| <generated.src.dir>${basedir}/target/unpacked-src/main/java</generated.src.dir> |
| </properties> |
| </project> |