Skip to content

DRYD-2052: Update jaxb plugin and schemas#517

Open
mikejritter wants to merge 58 commits intocollectionspace:upgrade/dryd-1633-core-updatesfrom
mikejritter:upgrade/dryd-2052-jaxb-xml-schemas
Open

DRYD-2052: Update jaxb plugin and schemas#517
mikejritter wants to merge 58 commits intocollectionspace:upgrade/dryd-1633-core-updatesfrom
mikejritter:upgrade/dryd-2052-jaxb-xml-schemas

Conversation

@mikejritter
Copy link
Copy Markdown
Contributor

What does this do?

  • Updates our XSDs to use the jakarta namespace
  • Update version and configuration for the jaxb-maven-plugin
  • Add dependencies for jaxb modules

Why are we doing this? (with JIRA link)
Jira: https://collectionspace.atlassian.net/browse/DRYD-2052

This is an update to the classes which are created through the jaxb-maven-plugin. It allows them to use jakarta imports.

I updated the dependencies in the jaxb modules as appropriate to try and remove any redundant/unnecessary dependencies. Some which required AbstractCommonList will still depend on org.collectionspace.services.jaxb, but others only specify jakarta.xml.bind-api and jaxb-plugins-runtime. Likewise some of the authority jaxb modules still require org.collectionspace.services.authority.jaxb.

How should this be tested? Do these changes have associated tests?
This is a bit tricky because the project still does not compile. A few things can be done to spot check the changes:

  • Verify that all XSDs in the repository no longer reference the java.sun.com in the namespace
    • Running grep -lr --include '*.xsd' 'http://java.sun.com' at the root of the repository will show all files which still reference it.
    • This set should only include the modules which use hyperjaxb for JPA entity generation: account, authentication, authorization, and hyperjaxb
    • Note: The note module is also included in here, but the module is not used in compilation at all. We should probably remove it.
  • Verify that mvn generate-sources completes successfully
    • In addition, generated classes can be seen with find . -wholename '*/target/generated-sources/*'
    • As I've been building frequently, I'm not sure if the modules with a dependency on org.collectionspace.services.jaxb module will complete. In that case, a mvn install might need to be done in that module.

Dependencies for merging? Releasing to production?
Many changes still to be done for production :)

Has the application documentation been updated for these changes?
No

Did someone actually run this code to verify it works?
@mikejritter has been testing locally

Have any new security vulnerabilities been handled?
n/a

@mikejritter mikejritter requested a review from spirosdi March 26, 2026 18:51
@mikejritter
Copy link
Copy Markdown
Contributor Author

@spirosdi if this is too big I'm sure we can find a way to split it up to be more manageable; most of the changes were just find/replace though so no big logic. Maybe something like plugin configuration -> base jaxb module -> collectionobject + procedures -> authorities.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant