News archive

V2.0.0 released

v2.0.0 of VALJOGen uploaded to maven central with following changes:

  • Support for jackson-annotations to support conversions to/from JSON. Enable with VALJOConfigure.dataConversion.
  • Auto-implementation of Externalizable interface (readExternal and writeExternal + public default constructor).
  • Generic support for adding custom annotations to members, methods, properties (+ constructors and class itself).
  • Explicit specification of mutable/immutable output can now be enforced with VALJOConfigure.mutability.
  • Generation of additional constructors and factory methods for mutable objects that has setters.
  • Custom-templates can now check for type inheritance (typeOf), method existence, field existence and java target version which is handy for advanced code generation.
  • Pretty print of internal models which is useful for debugging custom-templates etc. (set logLevel to INFO to see them).
  • Various internal changes, updates to examples and small bug fixes.

A few model and configuration changes are not 100% backwards-compatible, hence the major version increment. Let me know if you run into problems.

Tags: Release

V1.0.0 released

Final v1.0.0 of VALJOGen uploaded to maven central with following changes:

  • Support for configuration file named “valjogen.properties” as an alternative to specifying processor options with -A.
  • More examples. For advanced usage note AdvancedCustomDigestMethod that generates a method calculating a digest of all member values in the class.
  • Various small internal changes such as more stable build and better logging.
Tags: Release

RC4 and a bug in Eclipse

New release candidate 4 of VALJOGen uploaded to maven central with following changes:

  • Made processor run inside Eclipse - found 1 bug in eclipse though.
  • Windows file bugfix.
  • Support for javac’s -processorpath
  • New processor option com.fortyoneconcepts.valjogen.LOGFILE
  • Dependencies to annotations/processors now optional in pom’s.
  • Updated documentation and website.

Eclipse bug 382590

Eclipse is not using Javac’s backend so it has it’s own implementation of javax.lang.model which is different and buggy.

Consequently, I made a few changes in the annotation processor to fit eclipse’s implementation but ultimately VALJOGen was hit by Eclipse bug 382590 which happens when subclasssing a generic interface.

So for some generic use cases, users will now see an error message refering to Eclipse bug 382590. For other use cases the processor works inside eclipse without problems.

For now, if you need generic subclasses and you are using Eclipse you should pre-generate VALJOGen classes with maven, ant, javac or a script. This should be easy if you use a multi-stage build with code generation from interfaces in firste stage (recommended and not only as a workaround).

This particular bug in Eclipse was reported in 2012 and has not been fixed yet. If you want VALJOGen and other annotation processors to work perfectly in eclipse then please cast your vote for the bug at Eclipse’s bugzilla.

Tags: Release

First public release

First release candidate of VALJOGen was uploaded to maven central for public use.

This version is fully functionally but not tested in the wild.

Already fixed a few things today and updated the website but awaiting validated usage from users on various OS’s and java tools before a proper v1.0.0 can be released.

Tags: Release