Skip to content

Split XJC code into separate subproject - #3244

Merged
gbrodman merged 1 commit into
google:masterfrom
gbrodman:xjcSubproject
Oct 13, 2026
Merged

gbrodman merged 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.

@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.

@weiminyu weiminyu left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@weiminyu partially reviewed 116 files and all commit messages, and made 1 comment.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on gbrodman and jicelhay).


settings.gradle line 44 at r1 (raw file):

include 'testing'
include 'util'
include 'xjc'

nit: We should probably name this folder eppbindings or something similar.

Code quote:

'xjc'

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.

@gbrodman gbrodman left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

@gbrodman made 1 comment and resolved 1 discussion.
Reviewable status: 8 of 116 files reviewed, all discussions resolved (waiting on jicelhay and weiminyu).


settings.gradle line 44 at r1 (raw file):

Previously, weiminyu (Weimin Yu) wrote…

nit: We should probably name this folder eppbindings or something similar.

Done

@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.

@gbrodman
gbrodman enabled auto-merge October 13, 2026 17:19
@gbrodman
gbrodman added this pull request to the merge queue Oct 13, 2026
Merged via the queue into google:master with commit c9aba86 Oct 13, 2026
15 of 16 checks passed
@gbrodman
gbrodman deleted the xjcSubproject branch October 13, 2026 18:43
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.

2 participants