This project contains Jakarta JAXB generated models, bindings, and round-trip validation tests for the DScope RosettaNet payload library. Gradle orchestrates the build, generates test fixtures, and executes XML round-trip verification across the RosettaNet specification catalogue.
src/main/java– JAXB-generated domain libraries.src/main/resources– global RosettaNet configuration (RosettaNet.properties).src/main/xsd– RosettaNet schemas, specification descriptors, and binding customisations.src/test/java– Dynamic JUnit 5 test suites for marshaling/unmarshaling descriptive payloads.src/main/dtd/rnif.md– RNIF 2.0 envelope summary distilled from the RNIF DTD/message guideline set.src/xsd/pip-documentation.md– Local index of RosettaNet Partner Interface Process documentation links.
- Java 21 toolchain on the
PATH(orJAVA_HOMEpointing to a Java 21 installation). - Gradle 9.1+ available locally or use the bundled
./gradlewwrapper (pinned to Gradle 9.1).
# Using a local Gradle installation
gradle clean build
# Or via the provided wrapper
./gradlew clean buildThe build compiles the Jakarta JAXB sources, runs unit tests, and produces the shaded distribution JAR under build/libs.
# Execute the RosettaNet PIP round-trip validation
./gradlew test --tests '*RosettaNetPIPTest*'The parameterised test exercises RosettaNet payloads defined in src/test/resources, performing dictionary-driven Jakarta JAXB marshal/unmarshal round-trips to ensure the generated bindings remain consistent.
- Missing wrapper JAR – Ensure
gradle/wrapper/gradle-wrapper.jarandgradle-wrapper.propertiesexist if you intend to use./gradlew. - JAXB context errors – Check that the relevant
.propertiesfiles include the correctpackagesentries, and confirm the generated classes are on the classpath. - Spec XML not found – Verify
src/main/xsd/specs.xml(orsrc/xsd/specs.xml) lists the desired PIPs and that theirDescriptivefolders contain sample XML files.
For information on publishing releases to Maven Central, see RELEASE.md. This document includes:
- Complete Gradle configuration for publishing and signing
- Required secrets and credentials setup
- Step-by-step local release process
- CI/CD automation with GitHub Actions
- Validation steps and troubleshooting guidance
- OSSRH staging and release procedures
See LICENSE for details.