Repository navigation
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D89kKRuDGxgzFmg14g8dPM
Annotation and documentation are optional in XSD; treat missing ones as empty description. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D89kKRuDGxgzFmg14g8dPM
- maven plugin/uploadArchives -> maven-publish with signing - compile/testCompile -> api/implementation/testImplementation - Groovy 2.5.23 and Spock 1.3 so tests run on JDK 21 - Force UTF-8 for javac and javadoc Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D89kKRuDGxgzFmg14g8dPM
6 tasks
Example now needs a plugin release containing the fix for #2: published 1.1 fails on maven-4.0.0.xsd with NPE. Verified against locally published build. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D89kKRuDGxgzFmg14g8dPM
…ted sources Removes accidentally committed src/main/generated-java and ignores it. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D89kKRuDGxgzFmg14g8dPM
Run ./gradlew check on JDK 11, 17 and 21; replace Travis badge. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D89kKRuDGxgzFmg14g8dPM
…lchains Gradle now needs JDK 17+, but bytecode is compiled with --release 11 and tests run on the JVM selected by -PtestJavaVersion. CI matrix updated accordingly. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D89kKRuDGxgzFmg14g8dPM
…lugin org.unbroken-dome.xjc 2.0.0 is unmaintained and fails on Gradle 9 (uses removed org.gradle.util.GUtil). Sources are now generated into build/, so the generated-java ignore entry is dropped. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D89kKRuDGxgzFmg14g8dPM
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D89kKRuDGxgzFmg14g8dPM
Removes 'illegal reflective access' warnings of Groovy 2.5 on newer JVMs. Groovy test bytecode level is pinned to Java 11 so tests run on JVM 11. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D89kKRuDGxgzFmg14g8dPM
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D89kKRuDGxgzFmg14g8dPM
Released 1.1 contains the NPE of #2, so the example now uses 1.2-SNAPSHOT (with -PuseMavenLocal) and a new CI job publishes the plugin built from the same commit into mavenLocal and runs the example project check. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D89kKRuDGxgzFmg14g8dPM
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #2, and modernizes the build so the project builds and tests on current JDKs.
Bug fix (#2), TDD
<xs:annotation>and<xs:documentation>are optional in XSD. When an annotation existed without documentation (e.g. only<xs:appinfo>),getDocumentation()returnednulland.trim()threw an NPE, for both classes and fields.NoDocumentation.xsd(red: NPE).resolveDescription; a missing description becomes an empty string. Unknown schema component types no longer fail on the field path.Build / CI
maven/uploadArchives→maven-publish+signing;compile→api/implementation; UTF-8 for javac and javadoc.--release 11(Java 8 is dropped); tests run on a chosen JVM via toolchains:./gradlew test -PtestJavaVersion=11.JStringLiteralUnescaped.str).example-project-gradle: Gradle 9.8.0, Groovy 5 / Spock 2;org.unbroken-dome.xjc(unmaintained since 2020, fails on Gradle 9 withNoClassDefFoundError: org/gradle/util/GUtil) replaced bycom.github.bjornvester.xjc(javax mode). It needs a plugin release containing the NPE when <annotation> is not provided in XSD #2 fix (published 1.1 hits the same NPE), sopluginVersionshould be bumped after release; verified locally against apublishToMavenLocalbuild.Not included
Publishing to Sonatype Central Portal (OSSRH is shut down): tracked in #9. The publishing config was only migrated to
maven-publish, not tested against a real repository.Testing
CI is green on JVM 11/17/21. Locally on Gradle 9.8.0:
./gradlew clean buildpasses with tests on JVM 11 and 21, bytecode major version 55 (Java 11); example project builds and its test passes.🤖 Generated with Claude Code
https://claude.ai/code/session_01D89kKRuDGxgzFmg14g8dPM