After a short break, I am happy to tell you that GContracts 1.1.0 has been released and was pushed to the central Maven repository.
This release marks an important milestone since inheritance of class invariants, preconditions and postconditions is supported by now. The basic principles found in Design by Contract(tm) can therefore be fully utilized in Groovy/Grails projects.
GContracts’ test suite currently holds more than 100 test cases for regression and feature testing. There
will be is a separate blog post on how to test and implement Groovy AST transformations, with all my experiences so far with GContracts .
GContracts 1.1.0 fixes the following issues:
- ISSUE-14: fix class invariant inheritance with default class invariant – a class with a class invariant in its heir must be equipped with a default class invariant chaining the method call to the super class invariant.
- ISSUE-1: pre- and postcondition inheritance – class invariants, pre- and postconditions are now inherited. inheritance support does not include pre/postcondition support in interfaces, but there is a separate ISSUE on this topic. More about pre/postcondition inheritance
will followin a separate blog post .
- ISSUE-10: all uses of getTypeClass() were removed with valid alternatives. this was done due to issues with the Groovy Eclipse plugin.
- ISSUE-13: Cleanup the generated AST: a few optimizations have been made to the AST node generating components.
- Bug fixes and a lot more bug fixes.
Special thanks for your contributions!
 GContracts – Central Maven Repository
 GContracts Available in Central Maven Repository
 GContracts – Github Download Section
 GContracts: Inheritance of Pre- and Postconditions
 Grails Inside – Unit Testing Groovy AST Transformations