Newbie help needed getting setup to build SigTest + discussion about adding a exclude class by name option ...

Scott Marlow smarlow at redhat.com
Thu Dec 3 16:03:19 UTC 2020


Hi,

I'm following the [1] guide to build locally but still have a few 
questions.  Is there a particular version of Apache Ant needed to build? 
  I downloaded 1.9.15 as that should work with Java 7 but am getting a 
build failure [2]:
`
src/com/sun/tdk/signaturetest/ant/ATest.java:165: error: cannot find symbol
     [javac]         if (classpath == null || classpath.isEmpty()) {
`

I would like to explore a few ideas with SigTest related to [3] for the 
Jakarta EE Platform TCK which heavily depends on SigTest for SPEC API 
signature testing.  Basically, we have users that would like to run our 
TCK against newer versions of Java SE than we have tested against. These 
users like the idea of being able to run the TCKs against the very 
latest Java SE versions.  Since our (Jakarta EE Platform TCK) is 
basically a Java application, it would be very useful to be able to run 
our Jakarta EE Platform EE TCKs against any Java SE version that is 
greater than our base requirement (currently we only support Java SE 8 
but are working on Java SE 11 now).

One idea is to create a SigTest pull request for adding an exclude class 
option so that the java.lang.Object public methods/fields will be 
excluded from signature generation/testing.

Imo, this should be a general option that allows a set of classes to be 
excluded (perhaps with some regular expression matching) and also 
allowing the command line exclude option to be specified multiple times 
(for excluding multiple classes by name).

At least that is one idea.  My preference is to do this work upstream 
first [4].  If there is no interest in the pull request being merged, 
the next option could be forking the SigTest code into the 
jakartaee-tck-tools [5] and making the change there.  Either option 
would be easy figure out once we have appropriate changes.

One other possible issue or question is whether this exclude class 
option would be a safe option to add to the OpenJDK SigTest tool?  More 
specifically, could OpenJDK implementors use such an exclude option to 
cheat the JDK signature tests?  I'm not sure how that would happen but 
if that is a concern, please do speak up about that, so we can just 
proceed to do fork of SigTest.

 From a timing perspective, this `exclude class` change is not required 
at this point in our planning but it would be very very nice to have!

Scott

[1] https://wiki.openjdk.java.net/display/CodeTools/How+to+build
[2] https://gist.github.com/scottmarlow/b48890c8c5365264a4e7ea5c44c0778c
[3] https://github.com/eclipse-ee4j/jakartaee-tck/issues/156
[4] http://hg.openjdk.java.net/code-tools/sigtest
[5] https://github.com/eclipse-ee4j/jakartaee-tck-tools



More information about the sigtest-dev mailing list