HiSrc BasicJAXB
A library of XJC plugins and tools to extend JAXB.
Description
This repository is a fork of JAXB2 Basics. The original project was
developed by the admirable Alexey Valikov (a.k.a. Highsource). This
repository contains Java projects to build Maven artifact(s) related to the
Java Architecture for XML Binding (JAXB) framework. It is one of a family of
repositories forked from Highsource that provide tools for JAXB and JPA
processing. Repo and artifact names have been changed to reflect the familial
connection between the repositories and to fix a conformance issue with the
original maven-jaxb2-plugin
name.
Hint: You can manage the number of spaces a tab is equal to for your
GitHub personal account (i.e. 1 tab = 4 spaces) when viewing files in this
repository. Here’s how.
List of repositories in this family
Graph of repository relationships
Releases
GitHub Releases, Demonstrations
Maven Repositories
JavaDoc
Goals
New goals for the next release are:
- New explorations for copy and merge strategies.
Status
In Progress
Completed
Fork History
Version 2.2.1
- Added FixedValuePlugin to set fixed values from the schema.
- For FluentApiPlugin:
- Allow blank fluent method prefix.
- Provide alternative logic to resolve the field’s class name.
- Added
EnforceTypeSafety
parameter for mixed type lists.
- Added
OverrideFluentMethods
parameter for strong return types.
- Handle anonymous simple type for DefaultValuePlugin.
- Support ‘otherAttributes’ (anyAttribute) in several XJC plugins.
- Updated Maven plugin and dependency versions.
- Build with JDK 21 and Java 11 compatibility.
Version 2.2.0
- Replaced old
maven-compat
layer with Maven Resolver/Aether.
- Parameterized fluent method prefix.
- Fixed
FluentApiPlugin
to process nested classes.
- Added
FixOtherAttributes
XJC plugin.
- Added
PropertyListenerPlugin
XJC plugin.
- Added required and selector options to the value-constructor plugin.
- Added
DomHandler
option to wildcard plugin.
- Removed
hisrc-basicjaxb-runtime
dep from SimpleToStringPlugin
.
- Updated Maven plugin and dependency versions.
- Build with JDK 21 and Java 11 compatibility.
Version 2.1.1
- Standardized the plugin option name and usage for all XJC plugins.
- Standardized logging and error handling for all XJC plugins.
- Added XJC DefaultValuePlugin to set default values in the schema.
- Added XJC FluentApiPlugin with method chaining for fluent configuration.
- Added XJC ValueConstructorPlugin for generating constructors.
- Added
annotates
to the InheritancePlugin
for Java annotations.
- Added sample, xjc-basic, to bundle the XJC tool and
hisrc-basicjaxb
.
- Update Maven plugin and dependency versions.
- Resolved deprecated method(s).
- Reviewed Other XJC Plugins
- Decided not to add Commons Lang Plugin, redundant.
- Decided not to add Namespace Prefix XJC Plugin,
Version 2.1.0
- Clean up Java compiler lint warnings.
- Replace deprecated XJC plugin strategies v1 with v2.
- Recheck Dependency Management for newer versions.
- Configure menu, log and Maven options from build-CFG.sh.
- Include JVM system arguments from
src/test/resources/jvmsystem.arguments
.
- Moved ‘explore’ and ‘samples’ folder to new ‘assembly’ folder and restored int. testing.
- Set log levels for basic strategies in simplelogger.properties.
- Improved debug and trace logging JAXB plugin strategies.
- Compile sources and generate classes for Java release v11 using JDK 17.
- Replaced
maven.compiler.source/target="11"
with maven.compiler.release="11"
.
- Moved
org.jvnet.basicjaxb.lang.Foo2
to org.jvnet.basicjaxb.lang.Foo
.
- hashCode2, equals2, toString2 become hashCode, equals, toString.
- Update JAXB dependencies from 3.x to 4.x.
Version 2.0.0
- Update dependencies with newer versions including the Jakarta namespace.
- Replace ‘eclipse-only’ lifecyle profile with ‘m2e’ XML directive.
- Convert DOS line endings to Unix newlines.
- Update JUnit v4 to JUnit v5.
- Replace Spring DI with Jakarta CDI.
- Rename packages:
- BasicJAXB Annotations
OLD: org.jvnet.annox
NEW: org.jvnet.basicjaxb_annox
- BasicJAXB XJC Plugin
OLD: org.jvnet.jaxb2_commons
NEW: org.jvnet.basicjaxb
- HigherJAXB Maven Plugin
OLD: org.jvnet.mjiip
NEW: org.jvnet.higherjaxb
- HigherJAXB Maven Mojo
OLD: org.jvnet.jaxb2.maven2
NEW: org.jvnet.higherjaxb.mojo
- HyperJAXB Persistence
OLD: org.jvnet.hyperjaxb[23]
NEW: org.jvnet.hyperjaxb
- Rename namespaces:
- BasicJAXB XJC Annotations
OLD: http://annox.dev.java.net
NEW: http://jvnet.org/basicjaxb/xjc/annox
- BasicJAXB XJC Plugin
OLD: http://jaxb2-commons.dev.java.net/basic
NEW: http://jvnet.org/basicjaxb/xjc
- HyperJAXB Persistence
OLD: http://hyperjaxb3.jvnet.org/ejb/schemas/customizations
NEW: http://jvnet.org/hyperjaxb/jpa
- Update version to 2.0.0 due to Jakarta EE and other name changes.
Version 0.12.2
- Added demonstration explorations as GitHub releases.
- Updated dependencies with newer versions excluding the Jakarta namespace.
Version 0.12.1
- Obsolete build scripts have been removed.
- New build scripts have been added.
- POMs have been refactored with renamed artifacts.
- POMs have been updated to reduce warnings and errors.
- Configured SLF4J with SimpleLogger as the log framework.
- Updated Java sources to resolve warnings/errors.
- Verification of unit and integration tests.