Skip to content

Split XJC code into separate subproject - #3244

Open
gbrodman wants to merge 1 commit into
google:masterfrom
gbrodman:xjcSubproject
Open

gbrodman wants to merge 1 commit into
google:masterfrom
gbrodman:xjcSubproject

Conversation

@gbrodman

@gbrodman gbrodman commented Oct 1, 2026 •

Copy link
Copy Markdown
Collaborator

The generated XML / XJC code pretty much never changes but because everything is lumped together in one compile task, we had to recompile this every time anything else in core/ changes. It's technically possible to use a separate source set for the XJC code while having it remain in core/, but splitting it into a separate subproject gives better separation and makes the caching / dependency graph clearer.

Pretty much all, except for the caching configuration, of the new xjc/build.gradle is taken from the previous core/build.gradle.


This change is Reviewable

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Attention Required: Lockfile Detected

This pull request contains modifications to one or more *.lockfile files. Please confirm that you have run update_dependency.sh to push new dependencies to the private repo.

Someone with Admin role must manually dismiss this review before merging.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Attention Required: Lockfile Detected

This pull request contains modifications to one or more *.lockfile files. Please confirm that you have run update_dependency.sh to push new dependencies to the private repo.

Someone with Admin role must manually dismiss this review before merging.

The generated XML / XJC code pretty much never changes but because
everything is lumped together in one compile task, we had to recompile
this every time anything else in core/ changes. It's technically
possible to use a separate source set for the XJC code while having it
remain in core/, but splitting it into a separate subproject gives
better separation and makes the caching / dependency graph clearer.

Pretty much all, except for the caching configuration, of the new
xjc/build.gradle is taken from the previous core/build.gradle.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Attention Required: Lockfile Detected

This pull request contains modifications to one or more *.lockfile files. Please confirm that you have run update_dependency.sh to push new dependencies to the private repo.

Someone with Admin role must manually dismiss this review before merging.

This branch has not been deployed

No deployments
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