Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for running TCK using Java 21 #72

Merged
merged 8 commits into from
Mar 28, 2024

Conversation

scottkurz
Copy link
Contributor

@scottkurz scottkurz commented Mar 26, 2024

Fixes #66. See checklist for some details.

Will worry about the release details somewhere else..this is just providing the content.

@liweinan does this look good to you?

Signed-off-by: Scott Kurz <skurz@us.ibm.com>
Signed-off-by: Scott Kurz <skurz@us.ibm.com>
Signed-off-by: Scott Kurz <skurz@us.ibm.com>
Signed-off-by: Scott Kurz <skurz@us.ibm.com>
Signed-off-by: Scott Kurz <skurz@us.ibm.com>
Signed-off-by: Scott Kurz <skurz@us.ibm.com>
Signed-off-by: Scott Kurz <skurz@us.ibm.com>
@scottkurz scottkurz self-assigned this Mar 27, 2024
@liweinan
Copy link

@scottkurz Looks great! I'll verify this and let you know the running result :D

@liweinan
Copy link

I have verified this locally and it passed the sigtests:

image

I'll update this PR to verify the test results on Github CI:

@scottkurz Thanks for working on this! btw, could you please teach me how you generate the jakarta.sigtest-2.2-batch.standalone.tck.sig-2.1-se21-Temurin file?

liweinan added a commit to liweinan/jberet-tck-runner that referenced this pull request Mar 27, 2024
@liweinan
Copy link




4. **Signature Test Tool** - No action is needed here, but we note that the Java 11 and 17 signature files were built with the Maven plugin with group:artifact:version coordinates: **org.netbeans.tools:sigtest-maven-plugin:1.6**. The Java 21 signature file was built with the newer plugin maintained by the EE4J organization, with coordinates: **jakarta.tck:sigtest-maven-plugin:2.2**. The sample sigtest runner included in the TCK zip also uses the EE4J plugin, and it acan be used to validate an implementation using one of the Java 11 or 17 signature files (built by the other plugin) as well as the newest Java 21 signature file. Though there are other signature test tools available, one of these two tools should be used when executing this TCK.
Copy link

@scottmarlow scottmarlow Mar 27, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

*jakarta.tck:sigtest-maven-plugin:2.2* should be good to use but we can always upgrade to newer versions if needed.

I think that *jakarta.tck:sigtest-maven-plugin:2.3* will likely include the eclipse-ee4j/jakartaee-tck-tools#30 change which changes the -IgnoreJDKClass option to no longer take the list of JDK classes to be specified, instead we will ignore the java.* + javax.transaction.xa which is more future proof (as long as the *jakarta.tck:sigtest-maven-plugin:2.3* code works on whichever future Java SE version).

*jakarta.tck:sigtest-maven-plugin:2.3* will also include eclipse-ee4j/jakartaee-tck-tools#31 which addresses a java.util.ConcurrentModificationException failure in the PackageGroup.checkName() method (I have seen this failure intermittently with Platform TCK testing).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With the -IgnoreJDKClass option specified, we could then just use the sigtest-1.6-batch.standalone.tck.sig-2.1-se11-OpenJDK-J9 file on Java 11/17/21

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That sounds useful... and appreciate the info. It sounds like we can queue this up for a future enhancement, so I opened #73 and referenced this comment.

Since I have a typo in there anyway... acan ...let me come back and soften the language a bit.

@scottkurz
Copy link
Contributor Author

@scottkurz Thanks for working on this! btw, could you please teach me how you generate the jakarta.sigtest-2.2-batch.standalone.tck.sig-2.1-se21-Temurin file?

You could run something like: mvn clean pre-integration-test sigtest:generate. I did include this in the Reference Guide.

@liweinan
Copy link

@scottkurz Thanks for working on this! btw, could you please teach me how you generate the jakarta.sigtest-2.2-batch.standalone.tck.sig-2.1-se21-Temurin file?

You could run something like: mvn clean pre-integration-test sigtest:generate. I did include this in the Reference Guide.

Thanks for teaching!

Signed-off-by: Scott Kurz <skurz@us.ibm.com>
@scottkurz scottkurz merged commit 9940be3 into jakartaee:master Mar 28, 2024
1 check passed
@liweinan
Copy link

@scottkurz Do you have a plan to do a release to include this change?

If there is a new release I'll update the JBeret TCK testing project accordingly:

@scottkurz
Copy link
Contributor Author

@scottkurz Do you have a plan to do a release to include this change?

@liweinan I'm working on the plan. I'd like to do one Service Release which provides the Java 21 support and also addresses TCK challenge: #71

Since that fix I'd thought should include a spec doc update I'm just educating myself on how to this in the Jakarta process. Will send an update to the Jakarta Batch mailing list too when I can confirm the process steps.

@liweinan
Copy link

@scottkurz Thanks for working on this!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update 2.1 TCK to allow certification using Java 21
3 participants