I'm considering implementing one or two JSR APIs. I have not yet read the entire specification (the plan is to read them as I code the implementation) but I am very familiar with them. I have read that the JSR process includes implementing a Test Compatibility Kit (TCK) for testing said JSR implementations.
Before I start writing a bunch of unit tests to verify the correctness/completeness of my implementation I would really like to use this TCK but I have no idea if it is available for me. After downloading all files and googling around I could not find anything that could be defined as a TCK for the given JSR.
So my question is basically: What steps do I need to do in order to produce my own implementation of a JSR spec and how do I verify that I have indeed done so.
For what it's worth, I am considering implementing JSR-168 and JSR-286, but I think that is not relevant for this question.
The JSR instruction is a fundamental building block of any PLC program. It allows the PLC to execute code within different routines and specifies the sequence of their execution. From a practical standpoint, the most common use of the JSR Instruction is within the “Main” routine.
It describes all aspects of the language, including the semantics of all types, statements, and expressions, as well as threads and binary compatibility.
The Java Community Process (JCP), established in 1998, is a formalized mechanism that allows interested parties to develop standard technical specifications for Java technology. Anyone can become a JCP Member by filling a form available at the JCP website.
What you may need to do, is to contact the spec lead for the given JSR. They can give you more information on obtaining a TCK.
It may be that you have to pay a license to obtain access to the TCK. Certainly with the Java SE specification, Sun does indeed charge a license fee for the TCK, unless you qualify as a non-profit organization to receive it for free.
That said, I believe it varies from JSR to JSR, so as I said above, the best bet is to contact the JSR spec lead.
Wow, this is a very ambitious project, usually taken over by companies or big open source teams. If you are determined enough to do it, I recommend that you have a look at some open source implementations. The mentioned JSRs are implemented by Pluto. It may worth to have a look at the source distribution.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With