@nhatminhle nhatminhle released this Feb 1, 2016 · 15 commits to master since this release

Assets 6

Long overdue release. This is nothing much, really, but I decided to package a release so people using binaries can benefit from the important bug fix below (and to show that I'm still around and taking care of the project somewhat :).

  • Fixed a bug where using old in both @Ensures and @ThrowEnsures on a same method would make the instrumenter crash.
  • Re-added support for javac option passthrough (thanks to Liam Miller-Cushon).
  • Added support for Apache Ivy to retrieve dependencies (I'm still no good with Maven, sorry...).

As usual, these Cofoja JAR files should work with Java 6 and above.

UPDATE (2/7): The new binaries include a fix for an NPE that triggered when running in Eclipse (actually in non-Sun javac).

@nhatminhle nhatminhle released this Aug 17, 2014

Assets 6

This release adds support for Java 8 and introduces a number of incompatible changes.

Feature changes:

  • Added support for Java 8 lambdas.
  • Removed support for javac options (conflict between Oracle Javac 8 and previous versions).
  • Added support for @ContractImport annotation.
  • Revamped and updated documentation bundled in the README.md file (documents almost all currently supported features).

Installation changes:

  • Now builds with Oracle JDK 8. (Thanks to igoro@)
  • Should also build on Windows. (Thanks to igoro@)
  • Updated build.xml; now defaults to bootstrap.
  • build.xml now requires Ant 1.9.1+.
  • Cofoja now requires ASM 5+.

Migration recommendations:

  • Pass the classpath, sourcepath and classoutput annotation processor options to Cofoja.
  • Set the classpath annotation processor option to the same value as your main project classpath (see build.xml for an example macro using Ant).
  • Add explicit @ContractImport annotations where imported names are used in contract code.