The latest signature files are updated in the faces repoitory 
(faces/tck/faces-signaturetest/src/test/resources/ee/jakarta/tck/faces/signaturetest/) 
generated using sigtest-maven-plugin.jar(version 1.5).

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



For TCK developers  :-

  1. Generate Signature Files : The signature file will be generated by the TCK team using faces-signaturetest/pom.xml 
  by running 'mvn install -Precord-signature'. The classpath should contain the api jar for which we are generating the signature file.
  
  Modify the record-signature profile configuration in faces-signaturetest/pom.xml with the path to extracted classes.
  The signature file name expected is jakarta.faces.sig_${version} , where version is the api version for which the signature is generated.

  2. Place the required files in the TCK folder :

    All the below files has to be placed in the folder faces-signaturetest/src/test/resources/ee/jakarta/tck/faces/signaturetest, 
    so they are included as part of the TCK jar during the build.

    -The signature file generated from above of the name jakarta.faces.sig_${version}
    -The mapping file will be named sig-test.map, it contains the api to version mapping. This file will be used to pick the right signature file when running the signature test.
    -The package list file will be named sig-test-pkg-list.txt, contains the list of packages tested.



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}/jakarta.faces-api.jar:jakarta.el-api.jar:jakarta.enterprise.cdi-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 can be run using below command within faces-signaturetest/ directory.

  mvn verify 
