[
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/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!
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