Skip to content

Make SiteMesh 3 the default GSP layout#74

Closed
codeconsole wants to merge 1 commit into
deps/sitemesh3-3.3.0-snapshotfrom
feat/sitemesh3-default-layout
Closed

Make SiteMesh 3 the default GSP layout#74
codeconsole wants to merge 1 commit into
deps/sitemesh3-3.3.0-snapshotfrom
feat/sitemesh3-default-layout

Conversation

@codeconsole

Copy link
Copy Markdown
Owner

Split out from apache#15710 per review feedback ("making this the default & updating to sitemesh 3 should be separate PRs").

This PR contains only the change that makes SiteMesh 3 the default GSP layout in generated applications (mutually exclusive with the grails-layout feature). The work to update to and enable SiteMesh 3 on the 8.x (Spring Boot 4) line lives in apache#15710.

Stacking

Changes (grails-forge generator)

  • Sitemesh3.java — make SiteMesh 3 the default layout feature
  • GrailsLayout.java / GspLayout.java — layout feature wiring, mutually exclusive with SiteMesh 3
  • GrailsGsp.java — drop the now-implicit layout default
  • GspLayoutSpec.groovy — coverage for the new layout selection behavior

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

I think it's reasonable to consider this for an 8.0 default, but would like to hear from the wider team on this @matrei @jamesfredley @sbglasius

@jdaugherty

Copy link
Copy Markdown
Collaborator

I realized this was created against @codeconsole repo instead of Apache's. Can we move this PR there?

…s-layout

Introduce a GspLayout one-of feature group so SiteMesh 3 (grails-sitemesh3)
and the legacy SiteMesh 2 grails-layout are both selectable but never
applied together (enforced by OneOfFeatureValidator):

- GspLayout: abstract OneOfFeature parent (Category.VIEW), WEB/WEB_PLUGIN
- Sitemesh3: default member; auto-applied unless another GspLayout is
  selected; adds grails-sitemesh3
- GrailsLayout: opt-in member; adds grails-layout (SiteMesh 2)

Selecting both sitemesh3 and grails-layout now fails fast.
@codeconsole codeconsole force-pushed the deps/sitemesh3-3.3.0-snapshot branch from 6c5ee99 to a76e943 Compare June 2, 2026 17:25
@codeconsole codeconsole force-pushed the feat/sitemesh3-default-layout branch from 782c229 to 998e257 Compare June 2, 2026 17:25
@codeconsole

Copy link
Copy Markdown
Owner Author

Closing this fork-internal staging PR. The 'make SiteMesh 3 the default' change will be opened as a proper PR against apache/grails-core 8.0.x once apache#15710 (enable SiteMesh 3) merges, so its diff is just the make-default change. Branch feat/sitemesh3-default-layout is retained for that. Note: the GrailsGsp.java dependency change has been moved into apache#15710.

@codeconsole codeconsole closed this Jun 2, 2026
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