|  | <?xml version="1.0" encoding="UTF-8" ?> | 
|  | <!-- | 
|  |  | 
|  | Copyright (c) 2021, 2022 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> | 
|  |  | 
|  | <groupId>org.glassfish.jersey.core</groupId> | 
|  | <artifactId>jersey-tck</artifactId> | 
|  | <version>3.1.1</version> | 
|  | <packaging>jar</packaging> | 
|  |  | 
|  | <parent> | 
|  | <groupId>jakarta.ws.rs</groupId> | 
|  | <artifactId>all</artifactId> | 
|  | <version>3.1.0</version> | 
|  | </parent> | 
|  |  | 
|  | <name>Jakarta RESTful WS Compliance</name> | 
|  | <description>This test verifies the compliance of Eclipse Jersey with Jakarta REST</description> | 
|  |  | 
|  | <properties> | 
|  | <maven.compiler.source>11</maven.compiler.source> | 
|  | <maven.compiler.target>11</maven.compiler.target> | 
|  | <jersey.version>3.1.0-M3</jersey.version> | 
|  | <glassfish.container.version>6.2.5</glassfish.container.version> | 
|  | <glassfish.home>${project.build.directory}/glassfish6</glassfish.home> | 
|  | <jakarta.platform.version>10.0.0-RC1</jakarta.platform.version> | 
|  | <junit.jupiter.version>5.7.2</junit.jupiter.version> | 
|  | <jakarta.rest.version>3.1.0</jakarta.rest.version> | 
|  | <tck.artifactId>jakarta-restful-ws-tck</tck.artifactId> | 
|  | </properties> | 
|  |  | 
|  | <dependencyManagement> | 
|  | <dependencies> | 
|  | <dependency> | 
|  | <groupId>org.junit</groupId> | 
|  | <artifactId>junit-bom</artifactId> | 
|  | <version>${junit.jupiter.version}</version> | 
|  | <type>pom</type> | 
|  | <scope>import</scope> | 
|  | </dependency> | 
|  | <dependency> | 
|  | <groupId>org.glassfish.jersey</groupId> | 
|  | <artifactId>jersey-bom</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | <type>pom</type> | 
|  | <scope>import</scope> | 
|  | </dependency> | 
|  | </dependencies> | 
|  | </dependencyManagement> | 
|  |  | 
|  | <dependencies> | 
|  | <dependency> | 
|  | <groupId>org.junit.jupiter</groupId> | 
|  | <artifactId>junit-jupiter</artifactId> | 
|  | <version>${junit.jupiter.version}</version> | 
|  | </dependency> | 
|  |  | 
|  | <dependency> | 
|  | <groupId>org.glassfish.hk2</groupId> | 
|  | <artifactId>hk2-locator</artifactId> | 
|  | <version>3.0.0</version> | 
|  | </dependency> | 
|  |  | 
|  | <dependency> | 
|  | <groupId>com.sun.xml.bind</groupId> | 
|  | <artifactId>jaxb-impl</artifactId> | 
|  | <version>3.0.0</version> | 
|  | <scope>runtime</scope> | 
|  | </dependency> | 
|  |  | 
|  | <dependency> | 
|  | <groupId>org.jboss.arquillian.container</groupId> | 
|  | <artifactId>arquillian-glassfish-managed-6</artifactId> | 
|  | <version>1.0.0.Alpha1</version> | 
|  | </dependency> | 
|  |  | 
|  | <dependency> | 
|  | <groupId>jakarta.ws.rs</groupId> | 
|  | <artifactId>${tck.artifactId}</artifactId> | 
|  | <version>${project.version}</version> | 
|  | <scope>test</scope> | 
|  | </dependency> | 
|  |  | 
|  | <dependency> | 
|  | <groupId>jakarta.ws.rs</groupId> | 
|  | <artifactId>jakarta.ws.rs-api</artifactId> | 
|  | <version>${project.parent.version}</version> | 
|  | <scope>test</scope> | 
|  | </dependency> | 
|  |  | 
|  | <dependency> | 
|  | <groupId>org.hamcrest</groupId> | 
|  | <artifactId>hamcrest</artifactId> | 
|  | <version>2.2</version> | 
|  | <scope>test</scope> | 
|  | </dependency> | 
|  |  | 
|  | <dependency> | 
|  | <groupId>org.glassfish.main.common</groupId> | 
|  | <artifactId>simple-glassfish-api</artifactId> | 
|  | <version>${glassfish.container.version}</version> | 
|  | </dependency> | 
|  |  | 
|  | <dependency> | 
|  | <groupId>org.jboss.arquillian.junit5</groupId> | 
|  | <artifactId>arquillian-junit5-container</artifactId> | 
|  | <version>1.7.0.Alpha10</version> | 
|  | </dependency> | 
|  |  | 
|  | <dependency> | 
|  | <groupId>jakarta.platform</groupId> | 
|  | <artifactId>jakarta.jakartaee-api</artifactId> | 
|  | <version>${jakarta.platform.version}</version> | 
|  | <scope>provided</scope> | 
|  | </dependency> | 
|  |  | 
|  | <dependency> | 
|  | <groupId>commons-httpclient</groupId> | 
|  | <artifactId>commons-httpclient</artifactId> | 
|  | <version>3.1</version> | 
|  | </dependency> | 
|  |  | 
|  | <dependency> | 
|  | <groupId>org.glassfish.jersey.core</groupId> | 
|  | <artifactId>jersey-server</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | <scope>test</scope> | 
|  | </dependency> | 
|  | <dependency> | 
|  | <groupId>org.glassfish.jersey.containers</groupId> | 
|  | <artifactId>jersey-container-grizzly2-http</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | <scope>test</scope> | 
|  | </dependency> | 
|  | <dependency> | 
|  | <groupId>org.netbeans.tools</groupId> | 
|  | <artifactId>sigtest-maven-plugin</artifactId> | 
|  | <version>1.4</version> | 
|  | </dependency> | 
|  | <dependency> | 
|  | <groupId>org.glassfish.jersey.media</groupId> | 
|  | <artifactId>jersey-media-json-binding</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | <scope>test</scope> | 
|  | </dependency> | 
|  | <dependency> | 
|  | <groupId>org.glassfish.jersey.media</groupId> | 
|  | <artifactId>jersey-media-jaxb</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | <scope>test</scope> | 
|  | </dependency> | 
|  | <dependency> | 
|  | <groupId>org.glassfish.jersey.media</groupId> | 
|  | <artifactId>jersey-media-sse</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | <scope>test</scope> | 
|  | </dependency> | 
|  |  | 
|  | </dependencies> | 
|  |  | 
|  |  | 
|  | <build> | 
|  | <plugins> | 
|  | <plugin> | 
|  | <groupId>org.apache.maven.plugins</groupId> | 
|  | <artifactId>maven-dependency-plugin</artifactId> | 
|  | <version>3.2.0</version> | 
|  | <executions> | 
|  | <execution> | 
|  | <id>unpack</id> | 
|  | <phase>pre-integration-test</phase> | 
|  | <goals> | 
|  | <goal>unpack</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <artifactItems> | 
|  | <artifactItem> | 
|  | <groupId>org.glassfish.main.distributions</groupId> | 
|  | <artifactId>glassfish</artifactId> | 
|  | <version>${glassfish.container.version}</version> | 
|  | <type>zip</type> | 
|  | <overWrite>false</overWrite> | 
|  | <outputDirectory>${project.build.directory}</outputDirectory> | 
|  | </artifactItem> | 
|  | </artifactItems> | 
|  | </configuration> | 
|  | </execution> | 
|  | <execution> | 
|  | <id>copy</id> | 
|  | <phase>pre-integration-test</phase> | 
|  | <goals> | 
|  | <goal>copy</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <artifactItems> | 
|  | <artifactItem> | 
|  | <groupId>org.glassfish.jersey.core</groupId> | 
|  | <artifactId>jersey-client</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | <type>jar</type> | 
|  | <overWrite>true</overWrite> | 
|  | <outputDirectory>${glassfish.home}/glassfish/modules</outputDirectory> | 
|  | <destFileName>jersey-client.jar</destFileName> | 
|  | </artifactItem> | 
|  | <artifactItem> | 
|  | <groupId>org.glassfish.jersey.core</groupId> | 
|  | <artifactId>jersey-server</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | <type>jar</type> | 
|  | <overWrite>true</overWrite> | 
|  | <outputDirectory>${glassfish.home}/glassfish/modules</outputDirectory> | 
|  | <destFileName>jersey-server.jar</destFileName> | 
|  | </artifactItem> | 
|  | <artifactItem> | 
|  | <groupId>org.glassfish.jersey.core</groupId> | 
|  | <artifactId>jersey-common</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | <type>jar</type> | 
|  | <overWrite>true</overWrite> | 
|  | <outputDirectory>${glassfish.home}/glassfish/modules</outputDirectory> | 
|  | <destFileName>jersey-common.jar</destFileName> | 
|  | </artifactItem> | 
|  | <artifactItem> | 
|  | <groupId>org.glassfish.jersey.containers</groupId> | 
|  | <artifactId>jersey-container-grizzly2-http</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | <type>jar</type> | 
|  | <overWrite>true</overWrite> | 
|  | <outputDirectory>${glassfish.home}/glassfish/modules</outputDirectory> | 
|  | <destFileName>jersey-container-grizzly2-http.jar</destFileName> | 
|  | </artifactItem> | 
|  | <artifactItem> | 
|  | <groupId>org.glassfish.jersey.containers</groupId> | 
|  | <artifactId>jersey-container-servlet-core</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | <type>jar</type> | 
|  | <overWrite>true</overWrite> | 
|  | <outputDirectory>${glassfish.home}/glassfish/modules</outputDirectory> | 
|  | <destFileName>jersey-container-servlet-core.jar</destFileName> | 
|  | </artifactItem> | 
|  | <artifactItem> | 
|  | <groupId>org.glassfish.jersey.containers</groupId> | 
|  | <artifactId>jersey-container-servlet</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | <type>jar</type> | 
|  | <overWrite>true</overWrite> | 
|  | <outputDirectory>${glassfish.home}/glassfish/modules</outputDirectory> | 
|  | <destFileName>jersey-container-servlet.jar</destFileName> | 
|  | </artifactItem> | 
|  | <artifactItem> | 
|  | <groupId>org.glassfish.jersey.media</groupId> | 
|  | <artifactId>jersey-media-sse</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | <type>jar</type> | 
|  | <overWrite>true</overWrite> | 
|  | <outputDirectory>${glassfish.home}/glassfish/modules</outputDirectory> | 
|  | <destFileName>jersey-media-sse.jar</destFileName> | 
|  | </artifactItem> | 
|  | <artifactItem> | 
|  | <groupId>org.glassfish.jersey.media</groupId> | 
|  | <artifactId>jersey-media-json-binding</artifactId> | 
|  | <version>${jersey.version}</version> | 
|  | <type>jar</type> | 
|  | <overWrite>true</overWrite> | 
|  | <outputDirectory>${glassfish.home}/glassfish/modules</outputDirectory> | 
|  | <destFileName>jersey-media-json-binding.jar</destFileName> | 
|  | </artifactItem> | 
|  | <artifactItem> | 
|  | <groupId>jakarta.ws.rs</groupId> | 
|  | <artifactId>jakarta.ws.rs-api</artifactId> | 
|  | <version>${jakarta.rest.version}</version> | 
|  | <type>jar</type> | 
|  | <overWrite>true</overWrite> | 
|  | <outputDirectory>${glassfish.home}/glassfish/modules</outputDirectory> | 
|  | <destFileName>jakarta.ws.rs-api.jar</destFileName> | 
|  | </artifactItem> | 
|  | </artifactItems> | 
|  | </configuration> | 
|  | </execution> | 
|  | </executions> | 
|  | </plugin> | 
|  | <plugin> | 
|  | <artifactId>exec-maven-plugin</artifactId> | 
|  | <groupId>org.codehaus.mojo</groupId> | 
|  | <executions> | 
|  | <execution> | 
|  | <id>StopDomain1</id> | 
|  | <phase>pre-integration-test</phase> | 
|  | <goals> | 
|  | <goal>exec</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <executable>${project.build.directory}/glassfish6/glassfish/bin/asadmin</executable> | 
|  | <arguments> | 
|  | <argument>stop-domain</argument> | 
|  | </arguments> | 
|  | </configuration> | 
|  | </execution> | 
|  | <execution> | 
|  | <id>StartDomain1</id> | 
|  | <phase>pre-integration-test</phase> | 
|  | <goals> | 
|  | <goal>exec</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <executable>${project.build.directory}/glassfish6/glassfish/bin/asadmin</executable> | 
|  | <arguments> | 
|  | <argument>start-domain</argument> | 
|  | </arguments> | 
|  | </configuration> | 
|  | </execution> | 
|  | <execution> | 
|  | <id>Enable Trace requests</id> | 
|  | <phase>pre-integration-test</phase> | 
|  | <goals> | 
|  | <goal>exec</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <executable>${project.build.directory}/glassfish6/glassfish/bin/asadmin</executable> | 
|  | <arguments> | 
|  | <argument>set</argument> | 
|  | <argument>server-config.network-config.protocols.protocol.http-listener-1.http.trace-enabled=true</argument> | 
|  | </arguments> | 
|  | </configuration> | 
|  | </execution> | 
|  | <execution> | 
|  | <id>Delete User j2ee</id> | 
|  | <phase>pre-integration-test</phase> | 
|  | <goals> | 
|  | <goal>exec</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <executable>${project.build.directory}/glassfish6/glassfish/bin/asadmin</executable> | 
|  | <arguments> | 
|  | <argument>--passwordfile</argument> | 
|  | <argument>${project.basedir}/j2ee.pass</argument> | 
|  | <argument>delete-file-user</argument> | 
|  | <argument>j2ee</argument> | 
|  | </arguments> | 
|  | <successCodes> | 
|  | <successCode>0</successCode> | 
|  | <successCode>1</successCode> | 
|  | </successCodes> | 
|  | </configuration> | 
|  | </execution> | 
|  | <execution> | 
|  | <id>Add User j2ee</id> | 
|  | <phase>pre-integration-test</phase> | 
|  | <goals> | 
|  | <goal>exec</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <executable>${project.build.directory}/glassfish6/glassfish/bin/asadmin</executable> | 
|  | <arguments> | 
|  | <argument>--passwordfile</argument> | 
|  | <argument>${project.basedir}/j2ee.pass</argument> | 
|  | <argument>create-file-user</argument> | 
|  | <argument>--groups</argument> | 
|  | <argument>staff:mgr</argument> | 
|  | <argument>j2ee</argument> | 
|  | </arguments> | 
|  | </configuration> | 
|  | </execution> | 
|  | <execution> | 
|  | <id>Delete User javajoe</id> | 
|  | <phase>pre-integration-test</phase> | 
|  | <goals> | 
|  | <goal>exec</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <executable>${project.build.directory}/glassfish6/glassfish/bin/asadmin</executable> | 
|  | <arguments> | 
|  | <argument>--passwordfile</argument> | 
|  | <argument>${project.basedir}/javajoe.pass</argument> | 
|  | <argument>delete-file-user</argument> | 
|  | <argument>javajoe</argument> | 
|  | </arguments> | 
|  | <successCodes> | 
|  | <successCode>0</successCode> | 
|  | <successCode>1</successCode> | 
|  | </successCodes> | 
|  | </configuration> | 
|  | </execution> | 
|  | <execution> | 
|  | <id>Add User javajoe</id> | 
|  | <phase>pre-integration-test</phase> | 
|  | <goals> | 
|  | <goal>exec</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <executable>${project.build.directory}/glassfish6/glassfish/bin/asadmin</executable> | 
|  | <arguments> | 
|  | <argument>--passwordfile</argument> | 
|  | <argument>${project.basedir}/javajoe.pass</argument> | 
|  | <argument>create-file-user</argument> | 
|  | <argument>--groups</argument> | 
|  | <argument>guest</argument> | 
|  | <argument>javajoe</argument> | 
|  | </arguments> | 
|  | </configuration> | 
|  | </execution> | 
|  | <execution> | 
|  | <id>list users</id> | 
|  | <phase>pre-integration-test</phase> | 
|  | <goals> | 
|  | <goal>exec</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <executable>${project.build.directory}/glassfish6/glassfish/bin/asadmin</executable> | 
|  | <arguments> | 
|  | <argument>list-file-users</argument> | 
|  | </arguments> | 
|  | </configuration> | 
|  | </execution> | 
|  | <execution> | 
|  | <id>StopDomain</id> | 
|  | <phase>pre-integration-test</phase> | 
|  | <goals> | 
|  | <goal>exec</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <executable>${project.build.directory}/glassfish6/glassfish/bin/asadmin</executable> | 
|  | <arguments> | 
|  | <argument>stop-domain</argument> | 
|  | </arguments> | 
|  | </configuration> | 
|  | </execution> | 
|  | </executions> | 
|  | </plugin> | 
|  |  | 
|  | <plugin> | 
|  | <artifactId>maven-failsafe-plugin</artifactId> | 
|  | <version>3.0.0-M5</version> | 
|  | <executions> | 
|  | <execution> | 
|  | <id>gf-tests</id> | 
|  | <goals> | 
|  | <goal>integration-test</goal> | 
|  | <goal>verify</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <excludes> | 
|  | <exclude>**/SeBootstrapIT.java</exclude> | 
|  | </excludes> | 
|  | <dependenciesToScan>jakarta.ws.rs:${tck.artifactId}</dependenciesToScan> | 
|  | <systemPropertyVariables> | 
|  | <GLASSFISH_HOME>${glassfish.home}</GLASSFISH_HOME> | 
|  | <servlet_adaptor>org.glassfish.jersey.servlet.ServletContainer</servlet_adaptor> | 
|  | <webServerHost>localhost</webServerHost> | 
|  | <webServerPort>8080</webServerPort> | 
|  | <junit.log.traceflag>true</junit.log.traceflag> | 
|  | <user>j2ee</user> | 
|  | <password>j2ee</password> | 
|  | <authuser>javajoe</authuser> | 
|  | <authpassword>javajoe</authpassword> | 
|  | <porting.ts.url.class.1>ee.jakarta.tck.ws.rs.lib.implementation.sun.common.SunRIURL</porting.ts.url.class.1> | 
|  | <jimage.dir>${project.build.directory}/jdk11-bundle</jimage.dir> | 
|  | <optional.tech.packages.to.ignore>jakarta.xml.bind</optional.tech.packages.to.ignore> | 
|  | <signature.sigTestClasspath>${glassfish.home}/glassfish/modules/jakarta.ws.rs-api.jar:${glassfish.home}/glassfish/modules/jakarta.xml.bind-api.jar:${project.build.directory}/jdk11-bundle/java.base:${project.build.directory}/jdk11-bundle/java.rmi:${project.build.directory}/jdk11-bundle/java.sql:${project.build.directory}/jdk11-bundle/java.naming</signature.sigTestClasspath> | 
|  | </systemPropertyVariables> | 
|  | <environmentVariables> | 
|  | <GLASSFISH_HOME>${glassfish.home}</GLASSFISH_HOME> | 
|  | </environmentVariables> | 
|  | </configuration> | 
|  | </execution> | 
|  | <execution> | 
|  | <id>se-tests</id> | 
|  | <goals> | 
|  | <goal>integration-test</goal> | 
|  | <goal>verify</goal> | 
|  | </goals> | 
|  | <configuration> | 
|  | <includes> | 
|  | <include>**/SeBootstrapIT.java</include> | 
|  | </includes> | 
|  | <dependenciesToScan>jakarta.ws.rs:${tck.artifactId}</dependenciesToScan> | 
|  | </configuration> | 
|  | </execution> | 
|  | </executions> | 
|  | </plugin> | 
|  | </plugins> | 
|  | </build> | 
|  | </project> |