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

Update signature tests and reference guide with Java 8 / 11 execution requirements from Jakarta EE 9 release plan #5

Closed
scottkurz opened this issue Mar 25, 2020 · 5 comments

Comments

@scottkurz
Copy link
Contributor

scottkurz commented Mar 25, 2020

TODO

We'll break this down as, for Java 8 and 11:

  1. Generate signature test files
  2. Building TCK with new signature files.
  3. Documentation:
    • Sample execution in jakarta.batch.official.tck/otherFiles/how-to-run-tck-against-jbatch-script.sh
    • More complete explanation and more precise definition of what the execution requirements are needed in jakarta.batch.official.tck/src/main/asciidoc/batch-tck-reference-guide.adoc
  4. (Optional): Automated execution via Maven->antrun in com.ibm.jbatch.tck.dist.exec
    • This doesn't add a huge amount of value and could be done whenever/later.

Notes

  1. From the release plan it says that impls only optionally need to certify against Java 8 (which implies the TCK should then have a Java 8 signature file).

  2. We should probably generate our own signature files to make sure we know how to generate them correctly.

  3. Maybe use a more updated version of the sigtest jar, like the one the platform TCK uses.

  4. If all else fails we could probably talk our way through "outsourcing" this work to the platform TCK, e.g. document "go download the platform TCK" and run the signature test there, but not giving up yet.

Other sig test questions?

Two issues from our TCK guide:

  1. We do not prescribe a certain version/distribution of signature test library. In testing the TCK (in the com.ibm.jbatch.tck.dist.exec module), we use the version of sigtestdev.jar released to Maven Central under coordinates net.java.sigtest:sigtestdev:3.0-b12-v20140219, in spite of the fact that the POM comments mention that this is an "unofficial" release.

  2. The guide suggests you need to put the API being tested on the execution classpath, but isn't the point to test your entire batch implementation, to make sure you haven't extended it incorrectly. Still, I'm not sure what "on the classpath" means across both SE and EE-classloader type of environments. What do we say here?

Where I left off

I copied from the platform TCK (in place of 1. above).

built them into the 2.0.0-M2 TCK, and tried to document a manual execution via the how-to-run-tck-against-jbatch-script.sh.

But I could not get this to work, trying to follow the instructions here.

@scottkurz scottkurz changed the title Clarify signature test execution - official version, impl or API? Update signature tests and reference guide with Java 8 / 11 execution requirements from Jakarta EE 9 release plan Mar 31, 2020
@scottmarlow
Copy link

Hi Scott, we just updated the Platform TCK to use the Jakarta EE 9 XSDs that are published to https://jakarta.ee/xml/ns/jakartaee/#9 Also note that we changed the namespace + XSD links to use https to avoid failures when referencing the new XSDs.

Do you need to sync up with changes made to https://github.com/eclipse-ee4j/jakartaee-tck/tree/master/src/com/ibm/jbatch/tck for the EE 9 XSDs?

Once jakartaee/jakartaee-schemas#9 is merged, we will also switch to the EE 9 JSP Taglibrary XSD.

@scottkurz
Copy link
Contributor Author

@scottmarlow I'm a bit confused.

This current repo, the standalone batch TCK, does in fact have the batch job XMLs updated to use the new Jakarta XSDs. The platform TCK does not, it seems, in spite of the last update you linked to, so I opened jakartaee/platform-tck#320 to fix that.

I'm not really sure where jakartaee/jakartaee-schemas#9 comes into play either.

Also just to be clear to anyone following along, the batch standalone TCK and the batch portion of the platform TCK are, unfortunately, "forks" of each other.. there is not currently a process for consuming one from the other, changes need to be merged separately into each.

@scottmarlow
Copy link

@scottkurz I started switching the Platform TCK over to use the new Jakarta XSDs but that is not finished (more updates are needed).

Regarding jakartaee/jakartaee-schemas#9, that has no impact on the batch tests in the Platform TCK, so please ignore what I said about that.

@scottkurz
Copy link
Contributor Author

Making some progress: I did figure out how to use the Batch RI classpath and generate our own signature files in the Batch TCK.
Started work here: https://github.com/scottkurz/batch-tck/tree/sigtest-ee9

@scottkurz
Copy link
Contributor Author

This is now basically done in master. I did it in a mix of PRs and commits, but it's done, for Java 8, and Java 11, and reflected in the 2.0.0-M4 tag: https://github.com/eclipse-ee4j/batch-tck/releases/tag/2.0.0-M4

and reflected in the 2.0.0-M4 TCK-related Maven artifacts such as:
https://search.maven.org/artifact/jakarta.batch/jakarta.batch.official.tck/2.0.0-M4/pom

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

No branches or pull requests

2 participants