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. 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 [4].

Changes

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 follow in 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.

Special thanks for your contributions!

[0] GContracts – Central Maven Repository
[1] GContracts Available in Central Maven Repository
[2] GContracts – Github Download Section
[3] GContracts: Inheritance of Pre- and Postconditions
[4] Grails Inside – Unit Testing Groovy AST Transformations


Flattr this

About andresteingress

I am working as Groovy & Grails freelance developer in Linz, Austria. I enjoy making music, working on GContracts, committing to the Groovy programming language and writing blog posts on various JVM related topics.
This entry was posted in gcontracts, releases. Bookmark the permalink.

One Response to GContracts 1.1.0 Released!

  1. Congratulations for this great release!

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>