Skip to content
Draft
Show file tree
Hide file tree
Changes from 18 commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions appserver/extras/embedded/web/src/assembly/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
<exclude>META-INF/MANIFEST.MF</exclude>
<exclude>META-INF/hk2-locator/*</exclude>
<exclude>META-INF/loggerinfo/*</exclude>
<exclude>META-INF/beans.xml</exclude>
</excludes>
</unpackOptions>
<includes>
Expand Down
52 changes: 52 additions & 0 deletions appserver/tests/tck/glassfish-runner/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
* Directories containing the keyword `extra` are runners for tests
that must be run in addition to that component tck.

As of 2025-03-12, this is:

- cdi-platform-extra-tck
- jsonb-platform-extra-tck
- jsonp-platform-extra-tck
- pages-platform-extra-tck
- rest-platform-extra-tck
- websocket-platform-extra-tck

* Directories containing the keyword `subst` are runners for tests
where the component TCK completely replaces the component tck. In
other words, the component TCK can be completely ignored.

As of 2025-03-12, this is:

- expression-language-platform-subst-tck

* Directories that do not contain either of the preceding keywords
contain runners for tests where component TCK is the necessary and
sufficient set of tests. These tests are produced and published by
the respective component specification project.

As of 2025-03-12, this is:

- annotations-tck
- batch-tck
- cdi-model-tck
- cdi-tck
- concurrency-tck
- connector-platform-tck
- data-tck
- enterprise-beans-tck
- expression-language-tck
- jsonb-tck
- jsonp-tck
- mail-platform-tck
- messaging-platform-tck
- messaging-tck
- pages-tck
- persistence-platform-tck
- persistence-tck
- platform
- rest-tck
- servlet-tck
- signature
- tags-tck
- transactions-tck
- validation-tck
- websocket-tck
22 changes: 22 additions & 0 deletions appserver/tests/tck/glassfish-runner/annotations-tck/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
//TODO: Update this file for any incomplete/incorrect information

The pom.xml in this folder can be used to run the Jakarta Annotations Standalone TCK
against Glassfish 8.0.0


Below are the instructions to run the Jakarta Annotations TCK

1. Install Java17+ , set JAVAHOME
2. Install Maven 3.6+ set M2_HOME
3. SET PATH : add M2_HOME/bin, JAVA_HOME/bin
eg: export PATH=$ANT_HOME/bin:$M2_HOME/bin:$JAVA_HOME/bin:

4. Install the tck jar jakarta-annotations-tck-<version>.jar that is built from jakarta-tck/annotations
in this repository using below mvn install command:
`mvn install:install-file -DcreateChecksum=true -Dpackaging=jar
-Dfile=jakarta-annotations-tck-<version>.jar -DgroupId=jakartatck
-DartifactId=jakarta-annotations-tck -Dversion=<version>`


5. Verify the system properties set in glassfish-runner/annotations-tck/pom.xml
Run `mvn clean verify` from the current directory
181 changes: 181 additions & 0 deletions appserver/tests/tck/glassfish-runner/annotations-tck/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,181 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 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

**********************************
TODO: THIS POM NEEDS MAJOR CLEANUP
**********************************
-->
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>org.eclipse.ee4j</groupId>
<artifactId>project</artifactId>
<version>1.0.9</version>
<relativePath />
</parent>

<groupId>jakarta.tck</groupId>
<artifactId>glassfish.annotations-tck</artifactId>
<version>11.0.0</version>
<packaging>jar</packaging>

<properties>
<glassfish.version>8.0.0-M9</glassfish.version>
<glassfish.toplevel.dir>glassfish8</glassfish.toplevel.dir>
<tck.artifactId>jakarta-annotations-tck</tck.artifactId>
<tck.version>3.0.0</tck.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.junit</groupId>
<artifactId>junit-bom</artifactId>
<version>5.11.4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
</dependency>
<dependency>
<groupId>jakartatck</groupId>
<artifactId>jakarta-annotations-tck</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>jakarta.tck</groupId>
<artifactId>sigtest-maven-plugin</artifactId>
<version>2.4</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>unpack</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>generate-resources</phase>
<configuration>
<artifactItems>
<artifactItem>
<groupId>jakartatck</groupId>
<artifactId>${tck.artifactId}</artifactId>
<version>${tck.version}</version>
<type>zip</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>

<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.2.0</version>
<executions>
<execution>
<id>unpack</id>
<goals>
<goal>unpack</goal>
</goals>
<phase>pre-integration-test</phase>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.glassfish.main.distributions</groupId>
<artifactId>${glassfish-artifact-id}</artifactId>
<version>${glassfish.version}</version>
<type>zip</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>


<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0-M5</version>
<executions>
<execution>
<id>sig-test</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<dependenciesToScan>jakartatck:${tck.artifactId}</dependenciesToScan>
<systemPropertyVariables>
<jimage.dir>${project.build.directory}/jdk11-bundle</jimage.dir>
<sigTestClasspath>${project.build.directory}/${glassfish.toplevel.dir}/glassfish/modules/jakarta.annotation-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</sigTestClasspath>
<ca.sig.generated>true</ca.sig.generated>
<ca.sig.managedbean>false</ca.sig.managedbean>
<ca.sig.postconstruct>true</ca.sig.postconstruct>
<ca.sig.priority>true</ca.sig.priority>
<ca.sig.predestroy>true</ca.sig.predestroy>
<ca.sig.resource>true</ca.sig.resource>
<ca.sig.resources>true</ca.sig.resources>
<ca.sig.securitydeclareroles>true</ca.sig.securitydeclareroles>
<ca.sig.securitydenyall>true</ca.sig.securitydenyall>
<ca.sig.securitypermitall>true</ca.sig.securitypermitall>
<ca.sig.securityrolesallowed>true</ca.sig.securityrolesallowed>
<ca.sig.securityrunas>true</ca.sig.securityrunas>
<ca.sig.sqldatasourcedefinition>true</ca.sig.sqldatasourcedefinition>
<ca.sig.sqldatasourcedefinitions>true</ca.sig.sqldatasourcedefinitions>
</systemPropertyVariables>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>

<profiles>
<profile>
<id>full</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<glassfish-artifact-id>glassfish</glassfish-artifact-id>
</properties>
</profile>
<profile>
<id>web</id>
<properties>
<glassfish-artifact-id>web</glassfish-artifact-id>
</properties>
</profile>
</profiles>
</project>
40 changes: 40 additions & 0 deletions appserver/tests/tck/glassfish-runner/batch-tck/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
<!---
Copyright (c) 2022 Contributors to the Eclipse Foundation

See the NOTICE file distributed with this work for additional information regarding copyright
ownership. Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. You may
obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
OR CONDITIONS OF ANY KIND, either express or implied. See the License for
the specific language governing permissions and limitations under the License.
SPDX-License-Identifier: Apache-2.0
--->

# Executing Jakarta Batch TCK against GlassFish

To test the setup, run:

```
mvn clean verify -Dit.test=CDITests
```

To run the full TCK, execute:

```
mvn clean verify
```

## Details

This module is composed of 2 modules, which are executed from the root module:

* apitests - executes API behavior tests against a running GlassFish server
* sigtest - executes API signature tests against GlassFish classes

Each of the modules can be executed separately by going into its directory and execute the same command as for the root module:

```
mvn clean verify
```
Loading