Skip to content
Mirko Klemm edited this page Apr 16, 2024 · 8 revisions

Welcome to the jaxb2-rich-contract-plugin wiki!

There is not much in here yet, but as the project grows and gets added more and more specialized functionality, the most basic concepts and intentions will be published here.

Important

This repository will soon be renamed to "jaxb-rich-contract-plugin" (without the "2"), since it doesn't support JAXB 2.x anymore. Please keep this in mind if you are maintaining links.

News

  • Version 4.1.0 has been released, which fixes some issues and introduces more unit testing.

  • Version 4.0.0 has been released, now JAXB 4.0 and at least Java 20 is required to run the plugins. Command line options have changed so that they can appear in any order (the previous position-dependent behaviour caused problems with many third party tools and JAX-WS code generation). Options for a specific plugin must now be prefixed with the plugin's name, separated by a dot, i.e. "-generateTools=y" will become "-meta.generateTools=y".

  • Version 1.18.0 has been released. It fixes two issues: 1. The "choice expansion" feature could produce errors in some cases, and 2. the vcode generated by the visitor pattern was uncompilable for certain property definitions. This will be the last version to support Java 1.7. New versions will require Java 1.8+

  • Version 1.17.0 has been released. It fixes an issue in the group-contract plugin. When adding more than one upstream module with an "episode", the group-contract plugin would only recognize a single one and thus miss some of the generated interfaces from the upstream module, leading to "no interface found for attribute group..." or " no interface found for model group ..." or "package ... not found" errors.

  • Version 1.12.0 has been released. It includes a "visitor" pattern to traverse the property hierarchy of generated object graphs. Still needs some refinement, but it is already quite useful. Also an error introduced in 1.9.0 has been fixed which could lead to a fluent builder not taking on a value added with the "add..." methods.

  • Version 1.5.2 has been released, for the first time to "The Central Repository". It now accepts command-line options to customize names of many generated source elements. In addition, handling of the infamous "CloneNotSupportedException" has been improved in the fluent-builder, copy, and clone plugins. Due to the hosting requirements on Central, the groupId of the maven artifacts had to change. It is now: com.klemm-scs.util.

  • Version 1.5.2 will allow you to customize names of some generated items in order to resolve naming conflicts. In addition, it will be the first version to be deployed to "The Central Repository".

  • Version 1.5.1 has just been released. Besides a new "meta" plugin, there are a number of bug fixes and improvements!

Clone this wiki locally