Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jakartaee-tck-dev] Signature test tooling update may be needed for generating signature map files on Java SE 11...


On 11/19/21 2:39 PM, Scott Marlow wrote:


On 11/18/21 3:09 PM, Scott Marlow wrote:


On 11/17/21 2:47 PM, Scott Marlow wrote:


On 11/17/21 1:32 PM, Scott Marlow wrote:

FYI, the below failure goes away if we include the JDK8/jre/lib/rt.jar in the sigTestClasspath when running against Java SE 11.  This implies two possible solutions:

This seems worth trying but will require Eclipse approval (CQ) I think to bring further signature tooling code changes into the Platform TCK.

https://github.com/scottmarlow/netbeans-apitest/tree/sync_with_originalrepo_master + https://github.com/scottmarlow/jakartaee-tck/tree/build_signatures contains changes for this and https://ci.eclipse.org/jakartaee-tck/job/jakartaee-tck-scottmarlow/job/build_signatures/ is testing with updated signature map files. 

The ^ mentioned CI job is testing with GlassFish doesn't work (perhaps GlassFish TCK configuration settings in ts.jte need changes since I don't see the same failures with WildFly TCK testing that I am doing locally).

The good news is that I can locally generate TCK signature map files on Java SE 11 (see more details mentioned in https://github.com/eclipse-ee4j/jakartaee-tck/issues/767#issuecomment-974352233)!!!

We needed changes in the signature test tooling to be able to generate signatures on JDK11.  The interim solution is looking like use of the JDK jimage tool is helpful.  This effort is still work in progress but good to see the improvement!

It looks like the CtSym support in the `1.4` sigtest release addresses generating TCK signatures on JDK11! 

I'll create a pr for the change and also start some testing.

Scott


  • Or make further changes to netbean sig test tool to avoid the below failure via more -IgnoreJDKClass enhancements like we did for EE 9.1.

This is kind of a deep dive approach that would take more time + hacking.  IMO, we are better either doing a rewrite or exploring other tooling options () than following this path.


I tried the third solution with common-annotations-api but not all API classes (see https://gist.github.com/scottmarlow/125ccc2afdd4858ec911d1cd601cb7d6).  For example, jakarta.annotation.Resource was not included but should of been.



Scott

On 11/16/21 3:58 PM, Scott Marlow wrote:

As mentioned in [1], we are seeing the below failure trying to reference JDK classes during signature map file generation.  I suspect that we need to update com/sun/tdk/signaturetest/Main.java [2]  to add a new option -IgnoreJDKClass similar to the [3] change we made earlier this year for EE 9.1. 

"
java.lang.ClassNotFoundException: java.lang.annotation.Annotation
    at com.sun.tdk.signaturetest.classpath.ClasspathImpl.findClass(ClasspathImpl.java:346)
    at com.sun.tdk.signaturetest.loaders.BinaryClassDescrLoader.load(BinaryClassDescrLoader.java:243)
    at com.sun.tdk.signaturetest.core.ClassHierarchyImpl.load(ClassHierarchyImpl.java:180)
    at com.sun.tdk.signaturetest.core.ClassHierarchyImpl.load(ClassHierarchyImpl.java:164)
    at com.sun.tdk.signaturetest.core.MemberCollectionBuilder.addInheritedFromInterfaces(MemberCollectionBuilder.java:391)
    at com.sun.tdk.signaturetest.core.MemberCollectionBuilder.addInherited(MemberCollectionBuilder.java:372)
    at com.sun.tdk.signaturetest.core.MemberCollectionBuilder.getMembers(MemberCollectionBuilder.java:297)
    at com.sun.tdk.signaturetest.core.MemberCollectionBuilder.getMembers(MemberCollectionBuilder.java:243)
    at com.sun.tdk.signaturetest.core.MemberCollectionBuilder.createMembers(MemberCollectionBuilder.java:118)
    at com.sun.tdk.signaturetest.Setup.create(Setup.java:483)
    at com.sun.tdk.signaturetest.Setup.run(Setup.java:164)
    at com.sun.tdk.signaturetest.Setup.main(Setup.java:143)
    at com.sun.tdk.signaturetest.Main.main(Main.java:99)
"

The build_signatures.sh [4] is a work in progress for generating the signature map files.

Scott

[1] https://github.com/eclipse-ee4j/jakartaee-tck/issues/767#issuecomment-970653750
[2] https://github.com/jtulach/netbeans-apitest/blob/master/src/main/java/com/sun/tdk/signaturetest/Main.java
[3] https://github.com/jtulach/netbeans-apitest/commit/72e39bb6285e85d1d280171d1583b98b55853c52
[4] https://github.com/scottmarlow/jakartaee-tck/blob/build_signatures/docker/build_signatures.sh


Back to the top