Written on
GContracts 1.1.0 Released!
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. Grab GContracts 1.1.0 by defining a Maven dependency [0] or by direct download from github's download section [1]. 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. ThereChanges
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 [3]. - 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.
