| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| |
| Copyright (c) 2012, 2024 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.ext</groupId> |
| <artifactId>project</artifactId> |
| <version>4.0.99-SNAPSHOT</version> |
| </parent> |
| |
| <artifactId>jersey-spring6</artifactId> |
| <name>jersey-spring6</name> |
| |
| <packaging>jar</packaging> |
| |
| <description> |
| Jersey extension module providing support for Spring 6 integration. |
| </description> |
| |
| <properties> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <java.build.outputDirectory>${project.basedir}/target</java.build.outputDirectory> |
| <javaPre17.sourceDirectory>${project.basedir}/src/main/javaPre17</javaPre17.sourceDirectory> |
| <java17.build.outputDirectory>${project.basedir}/target17</java17.build.outputDirectory> |
| <java17.sourceDirectory>${project.basedir}/src/main/java17</java17.sourceDirectory> |
| </properties> |
| |
| <repositories> |
| <repository> |
| <name>Spring Repository</name> |
| <id>spring-repository</id> |
| <url>https://repo.spring.io/milestone</url> |
| </repository> |
| </repositories> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.glassfish.jersey.core</groupId> |
| <artifactId>jersey-server</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.glassfish.jersey.inject</groupId> |
| <artifactId>jersey-hk2</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.test-framework.providers</groupId> |
| <artifactId>jersey-test-framework-provider-grizzly2</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| <version>1.2</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.glassfish.hk2</groupId> |
| <artifactId>hk2</artifactId> |
| <version>${hk2.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.glassfish.hk2</groupId> |
| <artifactId>spring-bridge</artifactId> |
| <version>${hk2.version}</version> |
| <exclusions> |
| <exclusion> <!-- already pulled in by jersey-server --> |
| <groupId>jakarta.inject</groupId> |
| <artifactId>jakarta.inject</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.glassfish.hk2</groupId> |
| <artifactId>hk2-api</artifactId> |
| </exclusion> |
| <exclusion> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-context</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-beans</artifactId> |
| <version>${spring6.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-core</artifactId> |
| <version>${spring6.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| </exclusions> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-context</artifactId> |
| <version>${spring6.version}</version> |
| <exclusions> |
| <exclusion> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| </exclusion> |
| </exclusions> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-web</artifactId> |
| <version>${spring6.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-aop</artifactId> |
| <version>${spring6.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>jakarta.servlet</groupId> |
| <artifactId>jakarta.servlet-api</artifactId> |
| <version>${servlet6.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.glassfish.jersey.test-framework</groupId> |
| <artifactId>jersey-test-framework-core</artifactId> |
| <version>${project.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.aspectj</groupId> |
| <artifactId>aspectjrt</artifactId> |
| <version>1.6.11</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.aspectj</groupId> |
| <artifactId>aspectjweaver</artifactId> |
| <version>1.6.11</version> |
| <scope>test</scope> |
| </dependency> |
| |
| </dependencies> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.sun.istack</groupId> |
| <artifactId>istack-commons-maven-plugin</artifactId> |
| <inherited>true</inherited> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <inherited>true</inherited> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <id>SpringExclude</id> |
| <activation> |
| <jdk>[1.8,17)</jdk> |
| </activation> |
| <build> |
| <directory>${java.build.outputDirectory}</directory> |
| <plugins> |
| <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>${javaPre17.sourceDirectory}</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <testExcludes> |
| <testExclude>org/glassfish/jersey/server/spring/**/*.java</testExclude> |
| </testExcludes> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>SpringInclude</id> |
| <activation> |
| <jdk>[17,)</jdk> |
| </activation> |
| <build> |
| <directory>${java17.build.outputDirectory}</directory> |
| <plugins> |
| <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>${java17.sourceDirectory}</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>copyJDK17FilesToMultiReleaseJar</id> |
| <activation> |
| <file> |
| <!-- ${java17.build.outputDirectory} does not work here --> |
| <exists>target17/classes/org/glassfish/jersey/server/spring/SpringWebApplicationInitializer.class</exists> |
| </file> |
| <jdk>[1.8,17)</jdk> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <inherited>true</inherited> |
| <extensions>true</extensions> |
| <configuration> |
| <instructions> |
| <Multi-Release>true</Multi-Release> |
| </instructions> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-resources-plugin</artifactId> |
| <inherited>true</inherited> |
| <executions> |
| <execution> |
| <id>copy-jdk17-classes</id> |
| <phase>prepare-package</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${java.build.outputDirectory}/classes/META-INF/versions/17</outputDirectory> |
| <resources> |
| <resource> |
| <directory>${java17.build.outputDirectory}/classes</directory> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>copy-jdk17-sources</id> |
| <phase>package</phase> |
| <configuration> |
| <target> |
| <property name="sources-jar" value="${java.build.outputDirectory}/${project.artifactId}-${project.version}-sources.jar"/> |
| <echo>sources-jar: ${sources-jar}</echo> |
| <zip destfile="${sources-jar}" update="true"> |
| <zipfileset dir="${java17.sourceDirectory}" prefix="META-INF/versions/17"/> |
| </zip> |
| </target> |
| </configuration> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>delayed-strategy-skip-test</id> |
| <activation> |
| <property> |
| <name>org.glassfish.jersey.injection.manager.strategy</name> |
| <value>delayed</value> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <skipTests>true</skipTests> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |