The latest signature files are updated in the jsonp-api repoitory 
(tck/tck-tests/src/main/java/ee/jakarta/tck/jsonp/signaturetest) 
generated using sigtest-maven-plugin.jar(version 1.4).

The signature tests are run using the sigtest-maven-plugin.jar and the framework avaliable in this folder.



For TCK developers  :-

  1. Generate Signature Files : The signature file will be generated by the TCK team using jsonp/tck/pom.xml 
  where the below commented code can be used. The classpath should contain the api jar for which we are generating the signature file.

      <!--plugin>
          <groupId>org.netbeans.tools</groupId>
          <artifactId>sigtest-maven-plugin</artifactId>
                      <version>1.4</version>
                      <executions>
                          <execution>
                              <goals>
                                  <goal>generate</goal>
                              </goals>
                          </execution>
                      </executions>
                      <configuration>
                          <FileName>${project.build.directory}/jakarta.json.sig_${version}</FileName>
                    <packages>jakarta.json, jakarta.json.spi, jakarta.json.stream</packages>
                      </configuration>
      </plugin-->

      The signature file name expected is jakarta.json.sig_${version} , where version is the api version for which the signature is generated.


For TCK users (to run the signature test as a Junit test) :-

  1.Set the below system properties correctly :

    jimage.dir //The jdk9+(jdk11 for this release) will be extracted to this location as to use the Java modules in the path.
    optional.tech.packages.to.ignore // The optional package that should be ignored while running the signature test
    signature.sigTestClasspath // the sigTestClasspath that will contain the implementation jar that needs to be tested along with dependent jars.

    For eg:

    <jimage.dir>${project.build.directory}/jdk11-bundle</jimage.dir>
    <optional.tech.packages.to.ignore>jakarta.xml.bind</optional.tech.packages.to.ignore>
    <signature.sigTestClasspath>${project.build.directory}/signaturedirectory/jakarta.json-api.jar:${project.build.directory}/jdk11-bundle/java.base:${project.build.directory}/jdk11-bundle/java.rmi:${project.build.directory}/jdk11-bundle/java.sql:${project.build.directory}/jdk11-bundle/java.naming</signature.sigTestClasspath>

  2. The signature test alone can be run using below command within impl-tck/ directory.

    mvn clean test -Dtest=JSONPSigTest#signatureTest
