Keep org.glassfish.jaxb and org.apache.cxf:cxf-xjc-plugin off major/minor dependabot bumps - #425
Merged
hugohills-regnosys merged 2 commits intoSep 17, 2026
Conversation
jaxb-runtime 3.x/4.x only registers a jakarta.xml.bind.JAXBContextFactory provider, not javax.xml.bind's. FpMLSchemeEnumReader and IsoCurrencySchemeEnumReader call javax.xml.bind.JAXBContext.newInstance() directly, so a bot bump still compiles against the untouched javax.xml.bind:jaxb-api pin but throws JAXBException at runtime - and neither reader has a test exercising that path, so it would pass CI and break silently.
JayasriR
previously approved these changes
Sep 17, 2026
cxf-xjc-plugin runs unconditionally at generate-sources here (not behind a profile like DRR's), regenerating src/generated/java on every build. 4.x emits jakarta.xml.bind-annotated classes, which fail to compile against the still-javax jaxb-api/jaxb-runtime pinned above - confirmed by bumping cxf-xjc-plugin alone and running mvn compile.
hugohills-regnosys
enabled auto-merge (squash)
September 17, 2026 12:40
hugohills-regnosys
disabled auto-merge
September 17, 2026 12:41
JayasriR
approved these changes
Sep 17, 2026
hugohills-regnosys
deleted the
hugo/dependabot-ignore-jaxb-major-minor
branch
September 17, 2026 13:58
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.
Proposed Enhancement to Rune Testing
Pull Request Summary
Adds
org.glassfish.jaxb*andorg.apache.cxf:cxf-xjc-pluginto the major/minor dependabot ignore list, following the existing pattern forxtext-dev-bomandguava.Supporting Documentation
jaxb-runtime3.x/4.x only registers ajakarta.xml.bind.JAXBContextFactoryprovider (META-INF/services/jakarta.xml.bind.JAXBContextFactory->org.glassfish.jaxb.runtime.v2.JAXBContextFactory), notjavax.xml.bind's. This pom still pinsjavax.xml.bind:jaxb-api:2.3.1directly, andFpMLSchemeEnumReader/IsoCurrencySchemeEnumReadercalljavax.xml.bind.JAXBContext.newInstance()on that API.Bumping just
jaxb-runtime'sdependencyManagemententry to 4.0.9 (leavingjaxb-apiat 2.3.1) still compiles fine, andmvn testpasses - but that's becauseFpMLSchemeEnumReaderTestonly exercises string-formatting helper methods, not the actualJAXBContext.newInstance()call, andIsoCurrencySchemeEnumReaderhas no test at all. Callingjavax.xml.bind.JAXBContext.newInstance()directly against that dependency set throws at runtime:So a bot-driven
jaxb-runtimemajor/minor bump would pass CI here and break silently at runtime for any consumer that hits the FpML/ISO4217 scheme import path.cxf-xjc-pluginis coupled to the same jaxb-api/jaxb-runtime pin, but the risk here is more direct: unlikedigital-regulatory-reporting's equivalent plugin (gated behind agenerate-micprofile that isn't run by default), this pom'scxf-xjc-pluginexecution runs unconditionally atgenerate-sources, regeneratingsrc/generated/javaon every build.cxf-xjc-plugin4.x emitsjakarta.xml.bind-annotated classes, so a standalone bump breaksmvn compileoutright withpackage jakarta.xml.bind.annotation does not exist.Test plan
org.glassfish.jaxb:jaxb-runtimealone to 4.0.9 in a scratch checkout:mvn compileandmvn test -Dtest=FpMLSchemeEnumReaderTestboth pass (confirming existing coverage wouldn't catch this).javax.xml.bind.JAXBContext.newInstance()directly against the samejavax.xml.bind:jaxb-api:2.3.1+org.glassfish.jaxb:jaxb-runtime:4.0.9classpath - throwsJAXBException/ClassNotFoundExceptionas shown above.cxf-xjc-pluginalone to 4.2.0 in a scratch checkout:mvn compilefails immediately regeneratingsrc/generated/java/org/genericode/xml/_2004/ns/codelist/_0/*.javawithpackage jakarta.xml.bind.annotation does not exist.🤖 Generated with Claude Code