All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.maven.org.glassfish.jersey.bundles.jaxrs-ri.pom.xml Maven / Gradle / Ivy

Go to download

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.

There is a newer version: 3.1.6
Show newest version
<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright (c) 2012, 2020 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>3.0.0-M6</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>${servlet5.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>
                            jakarta.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[
                            jakarta.servlet.annotation.*;resolution:=optional;version="[5.0,6.0)",
                            jakarta.servlet.descriptor.*;resolution:=optional;version="[5.0,6.0)",
                            jakarta.servlet.*;version="[5.0,6.0)",
                            ${jakarta.annotation.osgi.version},
                            jakarta.persistence.*;resolution:=optional,
                            jakarta.validation.*;resolution:=optional;version="[3,4)",
                            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>jakarta/annotation/**</exclude>
                                        <exclude>jakarta/decorator/**</exclude>
                                        <exclude>jakarta/el/**</exclude>
                                        <exclude>jakarta/enterprise/**</exclude>
                                        <exclude>jakarta/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}/${project.artifactId}.jar" update="true">
                                    <zipfileset dir="../.." includes="NOTICE.md" prefix="META-INF" />
                                </jar>
                                <jar destfile="${project.build.directory}/${project.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>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy