-
-
Notifications
You must be signed in to change notification settings - Fork 969
fix(ci): exclude Grails-Micronaut island from Groovy joint validation build #15615
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 2 commits
71c8abf
2623613
cf47e9f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -73,6 +73,20 @@ buildCache { | ||||||||||
|
|
|||||||||||
| rootProject.name = 'grails.core.ROOT' | |||||||||||
|
|
|||||||||||
| // Presence-based toggle (matches project convention: skipFunctionalTests, skipCodeStyle, etc.). | |||||||||||
| // When -PskipMicronautTests is passed (regardless of value), the Grails-Micronaut "island" | |||||||||||
| // is excluded from the build graph entirely: | |||||||||||
| // * grails-micronaut (Grails plugin that re-exports the Micronaut platform) | |||||||||||
| // * grails-micronaut-bom (overrides Groovy/Spock to Groovy 5 / Spock 2.4-groovy-5.0) | |||||||||||
| // * the five grails-test-examples that consume grails-micronaut-bom | |||||||||||
| // | |||||||||||
| // Used by .github/workflows/groovy-joint-workflow.yml so the joint Groovy 4 snapshot | |||||||||||
| // build does not try to compile Spock specs against a Groovy-5-only Spock artifact. | |||||||||||
| // Consumers that reference :grails-micronaut-bom (e.g. grails-doc:generateBomDocumentation) | |||||||||||
| // must guard those references with findProject(':grails-micronaut-bom') != null. | |||||||||||
| // See https://github.com/apache/grails-core/issues/15613. | |||||||||||
| def skipMicronautTests = providers.gradleProperty('skipMicronautTests').isPresent() | |||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We already have test slicing, and this isn't skipping tests. It's skipping projects. We should rename this.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Renamed in cf47e9f:
While in there, I also guarded the two unconditional Micronaut BOM cross-references in
|
|||||||||||
|
|
|||||||||||
| include( | |||||||||||
| 'grails-bootstrap', | |||||||||||
| 'grails-cache', | |||||||||||
|
|
@@ -119,7 +133,6 @@ include( | ||||||||||
| 'grails-base-bom', | |||||||||||
| 'grails-bom', // the default bom | |||||||||||
| 'grails-hibernate5-bom', | |||||||||||
| 'grails-micronaut-bom', | |||||||||||
|
|
|||||||||||
| // Docs | |||||||||||
| 'grails-doc', | |||||||||||
|
|
@@ -192,15 +205,11 @@ include( | ||||||||||
|
|
|||||||||||
| // wrapper | |||||||||||
| 'grails-wrapper', | |||||||||||
|
|
|||||||||||
| // micronaut plugin for integration with Grails | |||||||||||
| 'grails-micronaut', | |||||||||||
| ) | |||||||||||
|
|
|||||||||||
| project(':grails-bom').projectDir = file('grails-bom/default') | |||||||||||
| project(':grails-base-bom').projectDir = file('grails-bom/base') | |||||||||||
| project(':grails-hibernate5-bom').projectDir = file('grails-bom/hibernate5') | |||||||||||
| project(':grails-micronaut-bom').projectDir = file('grails-bom/micronaut') | |||||||||||
|
|
|||||||||||
| // Instead of using : to separate nested projects, fix the project directories by setting the projectDir explicitly | |||||||||||
| // (Preserve the parent directory name as part of the nested project name) | |||||||||||
|
|
@@ -400,20 +409,15 @@ include( | ||||||||||
| // TODO: 'grails-test-examples-gsp-spring-boot', | |||||||||||
| 'grails-test-examples-hyphenated', | |||||||||||
| 'grails-test-examples-issue-11102', | |||||||||||
| 'grails-test-examples-issue-11767', | |||||||||||
| 'grails-test-examples-issue-15228', | |||||||||||
| 'grails-test-examples-issue-698-domain-save-npe', | |||||||||||
| 'grails-test-examples-issue-views-182', | |||||||||||
| 'grails-test-examples-micronaut', | |||||||||||
| 'grails-test-examples-micronaut-groovy-only', | |||||||||||
| 'grails-test-examples-namespaces', | |||||||||||
| 'grails-test-examples-plugins-exploded', | |||||||||||
| 'grails-test-examples-plugins-issue-11767', | |||||||||||
| 'grails-test-examples-plugins-issue11005', | |||||||||||
| 'grails-test-examples-plugins-loadafter', | |||||||||||
| 'grails-test-examples-plugins-loadfirst', | |||||||||||
| 'grails-test-examples-plugins-loadsecond', | |||||||||||
| 'grails-test-examples-plugins-micronaut-singleton', | |||||||||||
| 'grails-test-examples-config-report', | |||||||||||
| 'grails-test-examples-scaffolding', | |||||||||||
| 'grails-test-examples-scaffolding-fields', | |||||||||||
|
|
@@ -444,17 +448,12 @@ project(':grails-test-examples-hyphenated').projectDir = file('grails-test-examp | ||||||||||
| project(':grails-test-examples-issue-views-182').projectDir = file('grails-test-examples/issue-views-182') | |||||||||||
| project(':grails-test-examples-issue-11102').projectDir = file('grails-test-examples/issue-11102') | |||||||||||
| project(':grails-test-examples-demo33').projectDir = file('grails-test-examples/demo33') | |||||||||||
| project(':grails-test-examples-micronaut').projectDir = file('grails-test-examples/micronaut') | |||||||||||
| project(':grails-test-examples-micronaut-groovy-only').projectDir = file('grails-test-examples/micronaut-groovy-only') | |||||||||||
| project(':grails-test-examples-plugins-loadfirst').projectDir = file('grails-test-examples/plugins/loadfirst') | |||||||||||
| project(':grails-test-examples-plugins-loadsecond').projectDir = file('grails-test-examples/plugins/loadsecond') | |||||||||||
| project(':grails-test-examples-plugins-loadafter').projectDir = file('grails-test-examples/plugins/loadafter') | |||||||||||
| project(':grails-test-examples-plugins-issue11005').projectDir = file('grails-test-examples/plugins/issue11005') | |||||||||||
| project(':grails-test-examples-issue-11767').projectDir = file('grails-test-examples/issue-11767') | |||||||||||
| project(':grails-test-examples-issue-15228').projectDir = file('grails-test-examples/issue-15228') | |||||||||||
| project(':grails-test-examples-plugins-exploded').projectDir = file('grails-test-examples/plugins/exploded') | |||||||||||
| project(':grails-test-examples-plugins-issue-11767').projectDir = file('grails-test-examples/plugins/issue-11767') | |||||||||||
| project(':grails-test-examples-plugins-micronaut-singleton').projectDir = file('grails-test-examples/plugins/micronaut-singleton') | |||||||||||
| project(':grails-test-examples-cache').projectDir = file('grails-test-examples/cache') | |||||||||||
| project(':grails-test-examples-config-report').projectDir = file('grails-test-examples/config-report') | |||||||||||
| project(':grails-test-examples-scaffolding').projectDir = file('grails-test-examples/scaffolding') | |||||||||||
|
|
@@ -470,6 +469,30 @@ includeBuild('./build-logic') { | ||||||||||
| name = 'build-logic-root' | |||||||||||
| } | |||||||||||
|
|
|||||||||||
| // Grails-Micronaut "island" - kept on its own dependency graph because the Micronaut | |||||||||||
| // platform pins Groovy 5 / Spock 2.4-groovy-5.0, which is incompatible with the | |||||||||||
| // Groovy 4 / Spock 2.3-groovy-4.0 stack the rest of grails-core targets. Skipping | |||||||||||
| // these projects (via -PskipMicronautTests) keeps Micronaut's version overrides | |||||||||||
| // from leaking into builds where Groovy 4 is in play (notably the joint validation | |||||||||||
| // build that swaps in an apache/groovy 4.x snapshot). | |||||||||||
| if (!skipMicronautTests) { | |||||||||||
| include( | |||||||||||
| 'grails-micronaut-bom', | |||||||||||
| 'grails-micronaut', | |||||||||||
| 'grails-test-examples-issue-11767', | |||||||||||
| 'grails-test-examples-micronaut', | |||||||||||
| 'grails-test-examples-micronaut-groovy-only', | |||||||||||
| 'grails-test-examples-plugins-issue-11767', | |||||||||||
| 'grails-test-examples-plugins-micronaut-singleton', | |||||||||||
| ) | |||||||||||
| project(':grails-micronaut-bom').projectDir = file('grails-bom/micronaut') | |||||||||||
| project(':grails-test-examples-issue-11767').projectDir = file('grails-test-examples/issue-11767') | |||||||||||
| project(':grails-test-examples-micronaut').projectDir = file('grails-test-examples/micronaut') | |||||||||||
| project(':grails-test-examples-micronaut-groovy-only').projectDir = file('grails-test-examples/micronaut-groovy-only') | |||||||||||
| project(':grails-test-examples-plugins-issue-11767').projectDir = file('grails-test-examples/plugins/issue-11767') | |||||||||||
| project(':grails-test-examples-plugins-micronaut-singleton').projectDir = file('grails-test-examples/plugins/micronaut-singleton') | |||||||||||
| } | |||||||||||
|
jamesfredley marked this conversation as resolved.
Outdated
|
|||||||||||
|
|
|||||||||||
| // Due to https://github.com/gradle/gradle/issues/2986 , we can't change the global exclude for profiles, it must be done everywhere | |||||||||||
| for (String pattern in DirectoryScanner.defaultExcludes) { | |||||||||||
| if (pattern.contains('gitignore') || pattern.contains('gitattributes')) { | |||||||||||
|
|
|||||||||||
Uh oh!
There was an error while loading. Please reload this page.