A library of XJC plugins and tools to extend JAXB.
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.
| Patrodyne | Highsource | Purpose |
|---|---|---|
| hisrc-basicjaxb-annox | annox | Parse XML Schema to find Java annotation declarations. |
| hisrc-basicjaxb | jaxb2-basics | A library of XJC plugins and tools to extend JAXB. |
| hisrc-higherjaxb | maven-jaxb2-plugin | Maven plugin to generated Java source from XML Schema. |
| hisrc-hyperjaxb-annox | jaxb2-annotate-plugin | XJC plugin to add arbitrary Java annotations to JAXB. |
| hisrc-hyperjaxb | hyperjaxb3 | Maven and XJC plugins to add JPA annotations to JAXB. |
- HiSrc BasicJAXB v2.2.1, Explorations
- HiSrc BasicJAXB v2.2.0, Explorations
- HiSrc BasicJAXB v2.1.1, Explorations
- HiSrc BasicJAXB v2.1.0, Explorations
- HiSrc BasicJAXB v2.0.0, Explorations
- HiSrc BasicJAXB v0.12.2, Explorations
- Search
- Index
- Snapshots
- hisrc-basicjaxb-ant
- hisrc-basicjaxb-plugins
- hisrc-basicjaxb-runtime
- hisrc-basicjaxb-shaded
- hisrc-basicjaxb-testing
- hisrc-basicjaxb-tools
New goals for the next release are:
- New explorations for copy and merge strategies.
- Review in progress.
- Review in progress.
- 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
EnforceTypeSafetyparameter for mixed type lists. - Added
OverrideFluentMethodsparameter 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.
- Replaced old
maven-compatlayer with Maven Resolver/Aether. - Parameterized fluent method prefix.
- Fixed
FluentApiPluginto process nested classes. - Added
FixOtherAttributesXJC plugin. - Added
PropertyListenerPluginXJC plugin. - Added required and selector options to the value-constructor plugin.
- Added
DomHandleroption to wildcard plugin. - Removed
hisrc-basicjaxb-runtimedep fromSimpleToStringPlugin. - Updated Maven plugin and dependency versions.
- Build with JDK 21 and Java 11 compatibility.
- 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
annotatesto theInheritancePluginfor 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,
- 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"withmaven.compiler.release="11". - Moved
org.jvnet.basicjaxb.lang.Foo2toorg.jvnet.basicjaxb.lang.Foo. - hashCode2, equals2, toString2 become hashCode, equals, toString.
- Update JAXB dependencies from 3.x to 4.x.
- 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.annoxNEW: org.jvnet.basicjaxb_annox
- BasicJAXB XJC Plugin
OLD: org.jvnet.jaxb2_commonsNEW: org.jvnet.basicjaxb
- HigherJAXB Maven Plugin
OLD: org.jvnet.mjiipNEW: org.jvnet.higherjaxb
- HigherJAXB Maven Mojo
OLD: org.jvnet.jaxb2.maven2NEW: org.jvnet.higherjaxb.mojo
- HyperJAXB Persistence
OLD: org.jvnet.hyperjaxb[23]NEW: org.jvnet.hyperjaxb
- BasicJAXB Annotations
- Rename namespaces:
- BasicJAXB XJC Annotations
OLD: http://annox.dev.java.netNEW: http://jvnet.org/basicjaxb/xjc/annox
- BasicJAXB XJC Plugin
OLD: http://jaxb2-commons.dev.java.net/basicNEW: http://jvnet.org/basicjaxb/xjc
- HyperJAXB Persistence
OLD: http://hyperjaxb3.jvnet.org/ejb/schemas/customizationsNEW: http://jvnet.org/hyperjaxb/jpa
- BasicJAXB XJC Annotations
- Update version to 2.0.0 due to Jakarta EE and other name changes.
- Added demonstration explorations as GitHub releases.
- Updated dependencies with newer versions excluding the Jakarta namespace.
- 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.