This is an automated email from the ASF dual-hosted git repository.
github-bot pushed a change to branch
dependabot/gradle/grails-forge/7.0.x/com.gradle.common-custom-user-data-gradle-plugin-2.4.0
in repository https://gitbox.apache.org/repos/asf/grails-core.git
omit 881777535a build(deps): bump
com.gradle.common-custom-user-data-gradle-plugin
add 42e651aca6 Test publishing docs to /docs on apache/grails-website
add 43fc8353aa Merge pull request #15123 from
apache/test-publishing-docs-grails-website
add 79ba7d78e0 Revert "fix: base profile buildscript for snapshot
dependencies"
add ad7f1750a5 revert changes to profile-base
add 5310b3dd9d [skip tests] - Merge branch '7.0.x' into
web-profile-jar-artifact
add dd1f95c725 Merge pull request #15125 from
apache/web-profile-jar-artifact
add e074f1084c [skip tests] - web-profile-jar-artifact
add e6f254e822 Trigger complete build, snapshot publish and docs
add 0c89190684 [skip tests] force build
add 4989ce4e10 [skip tests] use afterEvaluate until all properties can be
made lazy
add fab335598f [skip tests] use after evaluate until the sbom plugin
supports lazy configuration (3.x)
add 31545c16be Trigger complete build, snapshot publish and docs
add 3dcedd27dc [skip ci] Update required reviewers in .asf.yaml
add 2924ab382c Trigger complete build, snapshot publish and docs
add a6bdba995b Consistent ISO-8601 JSON rendering of Date, LocalDateTime,
and Instant
add f9451d1562 Update grails-views-gson for consistent ISO-8601 rendering
of Instant and LocalDateTime
add 0232df3adf Document upgrade path changes for ISO-8601 json dates
add f386bace85 Fix Calendar to render ISO-8601 as well
add ee6b21342e Add missing CalendarMarshaller
add bf496821b1 Display LocalDateTime as ISO-8601 without timezone (local
time)
add 4b8cfed7d0 OffsetDateTimeMarshaller and ZonedDateTimeMarshaller support
add ba51b1fbbd LocalDate support
add b0fb1f89c9 Update for nonasecond precision
add 9cb1a0fe1b Merge branch '7.0.x' into 7.0.x-json-dates
add a87a2e7ea8 Merge pull request #15121 from codeconsole/7.0.x-json-dates
add b88a3784b3 Add build space maximization step in docs workflow
add 09fbaa1ef1 Increase root reserve space to 3 GB for docs publishing
add 57b0be4c94 Disable Docker image pruning in docs publish workflow
add 9544f10e18 Update release workflow to publish doc to grails-website
add e800b8e188 Merge pull request #15128 from apache/docs-grails-website
add 804403d56b gson views date/calendar should have millisecond precision
to match standard rendering
add c36910c80b Update documentation links to grails.apache.org/docs
add 793dfde4c7 Merge pull request #15131 from apache/grails-apache-org-docs
add 13655d9a55 Merge branch '7.0.x' into 7.0.x-gson-datecal-precision
add d4484ac074 Merge pull request #15130 from
codeconsole/7.0.x-gson-datecal-precision
add ecadb9de47 Add kapa.ai AI assistant widget to docs templates
add 0248afdfcf do not publish grails-docs-core going forward and keep
internal
add ef3f49065e chore: Update name & descriptions per PMC feedback
add 118e03b452 Merge branch '7.0.x' into kapa-ai-widget
add ba4dfb4876 chore: update rat config for moved projects
add cebdaf0cec Merge pull request #15134 from apache/kapa-ai-widget
add 0b7089f50c Take snapshot prior then compare after update events.
add 712cd35e4e Remove marking LAST_UPDATED dirty since it is now resolved
via snapshot check
add fb729765d6 fix: update `grails-publish` and add organization (#15138)
add 8a0f41846f Mimic dirty tracking behavior in hibernate by comparing the
current state to the session snapshot instead of relying solely on
DirtyCheckable setters.
add b275bb29c1 Revert "Mimic dirty tracking behavior in hibernate by
comparing the current state to the session snapshot instead of relying solely
on DirtyCheckable setters."
add 751f49cb75 fix: remove method from `GradleUtils` (#15126)
add c96214623b Merge branch '7.0.x' into 7.0.x-mongo-pre-update-snapshot
add 102924537d Create test to verify mongo beforeUpdate() changes are not
persisted.
add 96487c3dc2 Mark tests @PendingFeature for merge
add 4bfc369c29 Merge pull request #15142 from
codeconsole/7.0.x-mongo-pre-update-dirty-fix-tests
add 901cbfc1bc Merge branch '7.0.x' into 7.0.x-mongo-pre-update-snapshot
add 68a47efb38 Remove @PendingFeature
add 00f689af50 remove @PendingFeature update
add 8b649dff92 Link relevant issues
add 4380949aa9 add test for @AutoTimestamp
add f4f75fddfc Merge pull request #15143 from
codeconsole/7.0.x-mongo-pre-update-snapshot
add 759efbddf3 Uniform formatting for <f:displayWidget
add 1580789868 Fix for LocalDate
add 9d464cc8c7 Instant support for DefaultGrailsTagDateHelper
add 44ee7d6bf1 Fix instant binding
add 9f99635b1a fix for java.sql.Date throwing an exception
add 9f468f834a Fix LocalTime and sql.Time display
add b8ad6c2550 Bump github/codeql-action from 3 to 4
add 039948e623 Merge pull request #15135 from
apache/dependabot/github_actions/github/codeql-action-4
add 66d95b2143 [skip ci] Update release workflow to use dynamic tag names
add 2d94ca135c chore: update grails-publish version away from snapshot to
0.0.2
add 085f29827a fix: add VCS reference to sbom to ensure build is
reproducible
add 7a944dd9a1 chore: update sbom references so they are reproducible
add f9d6f95033 fix: make dependencies reproducible for sbom
add 43d7f09221 fix: remove hashes for local components
add 5eff7414af fix: do not clear the diff_purge.txt
add bc266a752a Fix for #15147
add db825e5701 Fix Gradle bootstrap command in RELEASE.md
add 2ee7044fa5 Merge pull request #15151 from apache/paulk-asert-patch-1
add 977858fa7f Revise ASF reporter instructions in RELEASE.md
add 8668da398d Fix typo in RELEASE.md regarding PR deployment
add abd605eda3 [skip ci] Release v7.0.0
add 1351abd0e6 [skip ci] Bump version to 7.0.1-SNAPSHOT
add e96b405f8c Merge pull request #15154 from apache/merge-back-7.0.0
add 9942511516 Update Grails version test case in GrailsVersionSpec
add 6c9ce36a1e Ignore MavenRepositorySpec tests for SNAPSHOT Grails
versions
add 1116778976 Clarify release process in RELEASE.md
add a3968ad3ee Fix documentation URL in RELEASE.md
add 3852037837 Merge pull request #15158 from apache/release-updated-7.0.0
add 24bc817336 test: add test for gh-15147
add 46ae08cf1b Merge pull request #15159 from apache/test-for-15147
add af3e7f49ec Merge branch '7.0.x' into
fork/codeconsole/7.0.x-binding-error-14947-15147
add 6d8c1b06b8 test: enable test for gh-15147
add b5224d9010 Merge pull request #15153 from
codeconsole/7.0.x-binding-error-14947-15147
add e3239359a4 Merge branch '7.0.x' into 7.0.x-dateTimeFormatting
add 778b7627a9 use localized date style
add 90ef287114 fix test for LocalDate
add 9cb3822b31 sql.Timestamp support
add 1ed26863c5 Allow application to continue starting up after a failed
index cration event
add 7a6d7ad068 Merge branch '7.0.x' into 7.0.x-mongo-index-error
add 9936ba7b75 Merge pull request #15148 from
codeconsole/7.0.x-mongo-index-error
add 48a710e223 Merge branch '7.0.x' into 7.0.x-dateTimeFormatting
add c27742f9ad Merge pull request #15146 from
codeconsole/7.0.x-dateTimeFormatting
add 98dded4d21 Update to Spring Boot 3.5.7 and Groovy 4.0.29
add 6c86beede0 Merge pull request #15168 from apache/spring-boot-3.5.7
add 2ef5b495f1 Update issue template replacing Stack Overflow link with
Mailing list
add aac9773140 Update .github/ISSUE_TEMPLATE/config.yml
add 5d22ff3699 Update .github/ISSUE_TEMPLATE/config.yml
add f717b39988 Update .github/ISSUE_TEMPLATE/config.yml
add ed30ff2fe8 Merge pull request #15171 from
apache/issue-template-remove-stack-overflow
add ffb043ac7f default fields dates to datetime precision
add 791217c45a Fix tests for datetime support
add 0b1d127f65 Merge pull request #15165 from
codeconsole/7.0.x-fieldsDateTimeRendering
add 47c7d0aed3 PROJECT_TARGET_DIR is never used.
add 227c55642e Merge branch '7.0.x' into 7.0.x-buildSettingsFix
add 0de145df4b Merge pull request #15127 from
codeconsole/7.0.x-buildSettingsFix
add d2320c6106 Issue-15170 Docs - source includes not found
add 6ffb9146f8 Merge pull request #15177 from
dauer/issue-15170-docs-source-includes-not-found
add 0d95a86bf4 Apply Generated annotation
add d860ef7031 Merge pull request #15150 from gustavoharff/patch-1
add 79ab9c07b1 chore: formatting and cleanup
add 1c3a49dd34 Merge pull request #15180 from apache/cleanup-post-15150
add a27966d80e Update plugin logic and profile excludes for web plugin
add e6c4038d99 Merge pull request #15181 from
apache/grails-plugin-not-grails-web
add 21fa0ef33f fix: BSD-2-Clause license URL
add 3f24c67844 Merge pull request #15184 from apache/matrei-patch-1
add 25822e98f9 fix: use `micronaut-http-client-jdk`
add 2d1fcb218d Merge pull request #15187 from apache/issue-15149
add 916c991646 test(deps): bump `grails-spring-security`
add 8d8bc39027 Merge pull request #15182 from apache/bump-spring-security
add 5d438ee33b Update Spring Boot release notes in upgrading guide
add 6461814c81 Merge pull request #15189 from fdevans/patch-1
add 70f9103401 run -> bootRun to fix the jrebel feature
add 9dad14e03b Merge pull request #15185 from apache/jrebelFeatureFix
add 0507c5c68a use stripped PROJECT_TARGET_DIR
add 54a422b366 don't use PROJECT_TARGET_DIR constant
add 12fd7e6048 Merge branch '7.0.x' into
7.0.x-buildSettingsFix-forked-solution-3
add 3bd608a6da Merge pull request #15179 from
codeconsole/7.0.x-buildSettingsFix-forked-solution-3
add d0f3abf25e use default parameter
add 0726e82aba Merge pull request #15190 from
codeconsole/7.0.x-buildSettingsFix-forked-solution-4
add c8b96be5e3 fix(forge): update micronaut platform version
add 69e9f30921 fix(forge): update grails-web-console version
add 4e6c8923a9 fix(forge): update grails-quartz version
add 5d4273d24c fix(forge): update gradle-shadow-plugin version
add 8fe6fea33d fix(forge): update gradle-jrebel-plugin version
add d2ea3163a6 fix(forge): update webdriver-binaries version
add 0b85d8f2c9 Merge branch '7.0.x' into forge-updates
add 978d609bb7 fix(forge): remove webdriver-binaries limitations
add 14cd7037b3 fix(forge): update grails-web-console version
add 17b3faaf2e fix(forge): downgrade gradle-jrebel-plugin version
add ee998077fe Merge pull request #15188 from apache/forge-updates
add 7f9a2c0fbc Update RELEASE.md with improved container instructions
add dcb468cc9e [skip ci] Release v7.0.1
add a795fe4532 [skip ci] Bump version to 7.0.2-SNAPSHOT
add 0d7ab7de9d Merge pull request #15197 from apache/merge-back-7.0.1
add cdf324f9fc Fix Enum JSON/XML Serialization for Round-Trip Compatibility
add bb87e1c368 restore and deprecate old marahllers
add 26e6cf30bb Introduce simple xml/json marshaller config
add 4f89c3dcec fix(bom): inherit `h2.version` from Spring Boot
add 19cbf834be Merge pull request #15200 from
apache/15157-inherit-h2-version
add 1aa896b776 fix - #15193 map "" spring profile to null
add 438e99c086 fix: simplify spring profile config exclusion
add f1e05266c5 Merge pull request #4 from matrei/profile-cleanup-and-test
add e11277fec2 chore: add missing license header
add be995b5b0b Merge pull request #15194 from jdaugherty/7.0.x
add 8cfeebedbc update documentation to suggest jakarta version of ehcache
add 8fd8d0ca7a Merge pull request #15203 from jdaugherty/bug_fix_ehcache
add fa79873fda fix(forge): explicit zip directories and entry metadata
add fb56d0194a style: formatting
add b9574af9f0 fix(forge): allow reproducible output
add fea72fed44 Merge pull request #15199 from apache/15186-zip-date
add da60a9c4e7 fix #15129 - root resource url resolution for file based
references
add dd2333ab13 Merge pull request #15208 from jdaugherty/issue15129
add 82499249ac [skip ci] post 7.0.1 release adjustments
add 6bd9f486ea [skip ci] feedback on release adjustments
add a1351b04b3 [skip ci] update staged email
add 909e16cc29 [skip ci] use env var for gpg key
add 3f11b6d248 [skip ci] fetch tags for docs release dropdown
add 3076ffbb67 [skip ci] clarify manual release verification
add ed8844136a Merge pull request #15206 from apache/post-7.0.1
add a994827098 fix 15201 - RenderTagLib should be accessible by web tests
add 5d78f8d1ce Merge pull request #15202 from jdaugherty/7.0.x
add 944590eded Merge branch '7.0.x' into 7.0.x-simple-enum-json-support
add 1eb9d24642 remove unused import
add 9beb261be1 change enum registration comment
add dbe8c7bc51 document simple enum converter
add 06e8208313 Merge pull request #15212 from
codeconsole/7.0.x-simple-enum-json-support
add 7ccbddf696 Do not mark AST transformation methods as generated
add f4a5c5fbed Merge pull request #15214 from gustavoharff/patch-02
add b766302e4f update asset pipeline to 5.0.20
add c3f0374e71 Merge pull request #15215 from jdaugherty/7.0.x
add 6c554b04a0 fix verify.sh output to not validate
add db86f1cc0d [skip ci] Release v7.0.2
add e84235773f [skip ci] Bump version to 7.0.3-SNAPSHOT
add 056715ba11 Merge pull request #15217 from apache/merge-back-7.0.2
add 68f375ae87 Now with right Micronaut Platform group
add 15d4e9cf1f Merge pull request #15219 from apache/fix/issue_15209
add d599c99635 remove calls to setSystemProperty() and set on individual
tasks instead
add 327efd6ec5 Merge pull request #15221 from jdaugherty/7.0.x
add bcad9586e5 Issue 15205 Docs - Source contains license header
add 35102c50d0 Merge pull request #15220 from
dauer/issue-15205-docs-source-contains-license-header
add 38e92f86f2 [skip ci] post 7.0.2 release adjustments
add 9154c0cb44 [skip ci] update release instructions
add c3f8de4fe1 Merge pull request #15218 from apache/post-7.0.2-release
add 768fb04767 [chore] Correct docs with apply and dependencies for gsp
and gson
add 118f9daa49 Apply suggestion from @matrei
add 795c8ab949 Merge pull request #15223 from
apache/chore/gsp_and_gson_dependencies_and_apply
add b09cfa4183 fix: apply java-library plugin to Grails Plugin projects
add d54a68b6e8 chore: cleanup
add 939b61ad89 Merge pull request #15225 from apache/java-library
add 09abaf6d0c fix: `java-library` is already applied to plugins
add f1289ca8ca fix: `groovy` is already applied to Grails projects
add c8a02b7050 Merge pull request #15226 from apache/remove-java-library
add 1c7fa75df8 fix: Re-implemented ContainerRenderer on
AbstractJsonViewContainerRenderer
add 49ced8184c Merge pull request #15234 from
apache/fix/issue_15228-respond-errors
add 8d3aa3e57c docs(whatsnew): minor corrections (#15236)
add 52c592bd88 fix #15237 - do not marshall static properties
add 192e1c3de1 #15237 - do not marshall static properties for xml or java
beans either
add f44b6a2f03 #15237 - add missing license header
add d9e602e44c #15237 - do not ignore test that now passes successfully
add 4472d5d1e7 Merge pull request #15238 from jdaugherty/7.0.x
add 57d468e955 test: fix flaky `PerTestRecordingSpec`
add b79d7a5fb3 Merge pull request #15242 from apache/fix-recording-test
add 5bdf163cce fix(deps): update geb to 8.0.1
add 471af067fc fix(deps): update selenium to 4.38.0
add 03855dfc33 Merge pull request #15241 from
apache/update-geb-and-selenium
add 7f7598f5ab Update asset pipeline and WebJars integration
add 3c140ad8ac Upgrade to Asset Pipeline 5.0.21
add 9fce3fe244 Merge pull request #15244 from
apache/use-webjar-locator-feature
add efbb814d70 Revert adding contextPath between 5.2.X and 5.3.X
add 1636d90aeb Add test but I have an error with previous test
"@Issue('11673')"
add 7b27d17438 Remove previous test for "@Issue('11673')"
add d23e7eaf9d Undo the last commit and add a potential fix for
@Issue('11673')
add 53eb5f95b6 Fixed whitespace issues causing codeNarc errlrs
add 6a1019390e Merge pull request #15227 from Noirtam/issues_15132
add 897023415e Update spring-boot.version to 3.5.8
add b0fc4c0020 Merge pull request #15247 from apache/spring-boot-3.5.8
add 1cde2d4518 test: fix more flakiness in `PerTestRecordingSpec` (#15248)
add 21f32a75ba [skip ci] post 7.0.3 release adjustments (#15250)
add c6cc7084f1 fix: compatibility with Docker 29 (#15249)
add b9c7304e3a [skip ci] Release v7.0.3
add 84ac125259 [skip ci] Bump version to 7.0.4-SNAPSHOT
add 8ea6074f9a Merge pull request #15253 from apache/merge-back-7.0.3
add 829fb8d0ed Revise Grails Forge deployment instructions
add 155df09bbf Merge pull request #15255 from
apache/update-forge-release-docs
add 4fa35846c6 Update deployment rules with workflow links
add 0db8b580ed Merge pull request #15256 from
apache/forge-release-details-workflow
add a442297b38 Add manual steps for release workflow
add 5fbc32b5cf Merge pull request #15257 from
apache/two-manual-final-release-steps
add 1b2d9075b9 Update jakartaee-migration plugin version to 1.0.0 and
example in docs
add 94c0db4edc fix - adopt provider syntax for pomCustomization
add 156eb909c8 Merge pull request #15260 from jdaugherty/7.0.x
add d68f5726c2 deps - update to grails publish 0.0.3
add 4c8c911d01 Merge pull request #15262 from jdaugherty/7.0.x
add 9ef55e0268 deps - update asset-pipeline to v5.0.22
add 83471a24c5 Merge pull request #15263 from jdaugherty/7.0.x
add 2c9a17985e Include staging repo for grails-publish when a snapshot
add 0dbcd01765 Merge pull request #15264 from jdaugherty/7.0.x
add d73c03b464 webjars-locator-core dependency is now provided implicitly
by asset-pipeline
add 365ffd0836 Merge pull request #15265 from
apache/remove-webjars-locator-core-dep
add da5bd43547 [skip ci] Release v7.0.4
add 6893a4aa7e [skip ci] Bump version to 7.0.5-SNAPSHOT
add cd415774f7 Merge pull request #15268 from apache/merge-back-7.0.4
add 3354d5ac15 docs(geb): [skip ci] fix GebConfig example (#15267)
add 09ee1b436e Update jakartaeeMigration configuration in docs
add 796cd2f1bc [skip ci] post 7.0.4 release updates (#15272)
add ee768570e3 removing `java-config.gradle` in favor of plugin
add 7953e132bf remove source of duplicate sourceset inclusion in source
jars
add c8a6efa67c use SharedPropertiesPlugin where possible and avoid manual
loading of gradle.properties files
add 957ff564ab remove manual gradle.properties lookup from buildSrcs
add f5794ee49c Add missing license headers
add 883ecc7afe reformatting code
add f9466f6e0a feedback - switch to register() for implicit typing
add 2921aa25ec feedback - formatting & various clean-up
add 068553ee8d feedback - replace java-library with groovy where groovy
source is used instead of java
add 1234616443 Revert "feedback - replace java-library with groovy where
groovy source is used instead of java"
add ec896d5f6d feedback - update comment to reflect the version is
matching the bom version
add 018415ba96 feedback - remove java-library from grails plugins
add e121dee3ea feedback - remove java plugin from wrapper
add 712a1c0d00 Merge pull request #15269 from apache/gradle-centralization
add cd1dd95255 Moving to a shared author/developer list
add 60dbe6dbf1 Map github usernames to historical contributors to generate
a authorship information in our pom files
add 2a5c060cb8 Add plugin repos for build-logic project so snapshots can
be found
add bf4cf701f1 Adjust repos so publish plugin's snapshot version can be
found
add b4d6141e98 Exclude .mailmap from rat audits
add fe2b6dc91a Add repos so publish can be found for forge
add ee928fa354 sort founder section
add 8a6fe53806 Mapping Iván López git user
add 3354c2c651 feedback - rename developer list creator
add 507bd81ab0 feedback - remove self-evident comment
add d184690c2b feedback - rename pomDeveloper method
add 79ceeebc52 Merge pull request #15274 from apache/authorship-changes
add d0df328e87 change HashMap to LinkedHashMap to maintain result map order
add 4b22f2bef2 Merge pull request #15284 from
luizfiliperm/maintain-map-return-order
add 0351d03f5f fix: remove groovy and java-library from `grails-layout`
add 82bd3e9a52 Merge pull request #15283 from matrei/minor-build-cleanup
add e3cda3a521 Issue 14379 Remove dependency to tomcat-embed-logging-log4j
add c868f7273b Removed tomcat-embed-logging-log4j dependency fron GraphQL
add 05db61ef1a Added the Grails Bom to example
add c7fbf67b25 Merge pull request #15275 from
dauer/issue-14379-remove-dependency-to-tomcat-embed-logging-log4j
add 4b3f9b5fb9 Bump actions/upload-artifact from 4 to 6
add 92edc85665 Merge pull request #15292 from
apache/dependabot/github_actions/actions/upload-artifact-6
add 49710de1d7 documentation - removing old coordinates, assume the bom is
applied, and add rxjava3 references
add 48e904510f Merge pull request #15288 from jdaugherty/7.0.x
add 351fda50b9 Add IntelliJ IDEA Enhanced HotSwap to reloading guide
add 4c9e27ab8c Update
grails-doc/src/en/guide/gettingStarted/developmentReloading.adoc
add 6ff705f7a3 Update
grails-doc/src/en/guide/gettingStarted/developmentReloading.adoc
add 48967769ee Add Oxford Comma
add 31a766ca28 Rephrase JRebel plugin mention for clarity
add 39347a34fe Merge pull request #15287 from apache/intellij-hotswap-debug
add b184964f0f doc - #15293 - add warning about invokedynamic performance
add ee433a4ed0 Merge pull request #15296 from jdaugherty/7.0.x
add e663f8da7a fix: compatibility with Docker 29
add 3a9cf11a4a Merge pull request #15298 from apache/docker-compat
add 48ba3b2c79 fix: add app class to `urlMappingsReport` task args
add add688dceb fix: remove unused `grails.factories` file
add cb25fc26cd chore: cleanup `ApplicationCommand` and
`UrlMappingsReportCommand`
add ffc2974659 fix: guard against multiple task registrations
add 865a390704 fix: handle missing configurations in buildClasspath setup
add c9b28bcd62 fix: compile error
add 3abe0bd566 Merge pull request #15295 from apache/issue-15286
add b5b0a523c2 Update spring-boot.version to 3.5.9
add 679a0c30e6 Merge pull request #15303 from apache/spring-boot-3.5.9
add 7c8eb5549b Exclude logback-core in jakartaeeMigration
add 3f3b5bad89 Correct branch version for Grails 7 in README
add 1bf8b09703 Update date formats for data binding documentation
add 75bc0530de Merge pull request #15308 from
Ajay9704/update-date-formats-docs
add b42e806a40 Update grails-publish-plugin version to 0.0.4
add 0c2db79e20 Add missing application.yml examples to docs
add a6d3b23a61 Merge pull request #15309 from
Ajay9704/update-missing-application-yml-docs
add 7c2a98082e [skip ci] Release v7.0.5
add f77dfba694 [skip ci] Bump version to 7.0.6-SNAPSHOT
add ff13ddba5f Merge pull request #15313 from apache/merge-back-7.0.5
add c5276c68d6 Add instructions for republishing Grails Website to
release.md
add d14b57bdaa docs: migrate Java EE links to Jakarta EE
add ace0ed1f33 Merge pull request #15314 from apache/migrate-javaee-links
add d584bbc9c3 Issue-15254 Docs - Multiple issues with Tag Library
documentation
add 8c02b5d076 Examples are now TagLib examples
add bf9a8aa9df Update grails-doc/src/en/ref/Tag Libraries/flash.adoc
add 2ec7f5e105 Update grails-doc/src/en/ref/Tag Libraries/pageScope.adoc
add 7e03e043d2 Update grails-doc/src/en/ref/Tag
Libraries/servletContext.adoc
add 958b3c373a Added better TagLib session example
add 87f05a3d44 Even better TagLib session example
add 9ae247fd21 Merge pull request #15304 from
dauer/issue-15254-docs-issues-tag-library-documentation
add b7f21b3732 build - allow for mavenLocal() usage without having to
change commented code in files
add 8513c56772 Merge pull request #15318 from jdaugherty/7.0.x
add 3efdbb19d3 build - update IDEA codestyle to add blank line after class
header to match codestyle validation
add 12897ede36 15315 - refactor codestyle configuration into a plugin
add 3cb965013d Merge pull request #15316 from jdaugherty/codestyle-refactor
add f2e91ff61c Docs - various documentation related chores/cleanups
add 3cf7d27fc8 Merge branch '7.0.x' into docs-various-chores-links-typos
add dc50fe638a Merge pull request #15305 from
dauer/docs-various-chores-links-typos
add e20c91bef6 fix: improve new app welcome page
add 0c6eb27769 fix: change the community card
add 3d18f2ee1e fix: remove unused asset images
add c6d0a6da0c fix: update asset handling in forge
add 5d7537a799 test(forge): move assets test to `AssetPipelineSpec`
add 447e348730 fix(feedback): mention GH discussions
add 331ea10613 Merge pull request #15317 from apache/app-welcome-page
add ecc4a6ece6 Add matomo groovydocs 15133 (#15312)
add e4663d5753 #15321 - docs - fix list items in groovy upgrade notes
add 32a03dc1bc #15321 - disable invoke dynamic by default
add 4cda35a8e6 Merge pull request #15322 from apache/invokeDynamicDisable
add 314fc37eb3 #15302 - fix(breaking) property name resolution when
generating grails-bom
add afdbe70f84 #15302 - various versions & pom property fixes * correct
incorrect keys that had partial matches * map profile properties to have a
prefix of 'grails-profile' * remove duplicate entries * fix versions adoc to
match pom values
add 2cbe5a0cf5 #15302 - update documentation per feedback
add cb72050f7f Merge pull request #15319 from
apache/grails-bom-property-name-fix
add aa103fae63 #15324 - dependencies - Update to Groovy 4.0.30 & support
changing to a staged version of Groovy
add 5f903f078a #15324 - build - rework the repository definitions to be
centrally defined in a repository settings plugin
add d17aa4961d #14887 - feature - add GRAILS_REPO_URL support for profiles
& support many repos instead of one.
add e9f5507c5c #15324 - feature - rework gradle repos selected for
snapshot builds in grails-forge-cli
add c08fa9aeb6 #15324 - fix - remove exclusion setting due to
https://github.com/spring-gradle-plugins/dependency-management-plugin/issues/368
being fixed to correctly pull in bom overrides
add 44bbef5bad #15324 - fix - explicitly define groovy in the bom so when
using the spring dependency management plugin, the correct version is chosen
add 6e64c6ce3e #15324 - test - always show full stacktraces in forge tests
add b7f53c6f4c #15324 - fix - exclusions in grails-gsp are correctly being
applied so groovy-json & spring-mvc are not exposed anymore
add dbce837993 build - build forge when testing reproducibility
add 533f7bfd58 fix: add comments to removed dependency exclusions
add 3c42eaeb62 Merge pull request #15320 from jdaugherty/7.0.x
add a5e5dc5b33 Update asset-pipeline and WebJars require paths
add 0635c3ed27 Merge pull request #15328 from apache/asset-pipeline-5.0.28
add e483c72708 #14887 - fix - create-app command
add 09a0c5dafc #14887 - fix - do not include snapshots repo unless it's a
snapshot for grails-shell created apps
add 07a6484b41 feature - update to asset pipeline 29
add 44d3bd9569 fix special repos in grails-shell app generation
add c7e169ad6e [skip ci] share the same concurrency group in release-notes
& releases to prevent stepping on each workflows / causing release builds to
fail
add 9ac2261af8 #14887 - fix indentation
add 46450a5747 restore correct groupings for grails-bom
add aade916907 Revise verification instructions due to new profile support
for GRAILS_REPO_URL
add d1f7008e3d fix(build): remove duplicate `gradle-spock.version`
add 6c2f66f4a3 fix(docs): correct path for copying build diffs
add 9fbba368be Upgrade to Spring Boot 3.5.10
add da7a04e33e Merge pull request #15331 from apache/spring-boot-3.5.10
add b391469510 Merge branch '7.0.x' into post-7.0.6-fixes
add 5cdfde439a Merge pull request #15332 from apache/post-7.0.6-fixes
add b7c9ed4dcf Upgrade to Gradle 8.14.4 and support Java 25 on Forge
add 5ea8ebadcd Merge pull request #15333 from apache/gradle-8.14.4
add 195c8091d3 [skip ci] Release v7.0.6
add ed4c7d54ff [skip ci] Bump version to 7.0.7-SNAPSHOT
add 3b4a541c36 Merge pull request #15345 from apache/merge-back-7.0.6
add c8fb6af583 docs: fix links
add 0709f688dd Merge pull request #15353 from apache/doc-links
add 227da5ae52 Adjust CI Java matrix to 17 and 25
add 1f6559728a Update Groovy version to 3.0.25 in multiple modules
add 4c25543aff Update generated app Gradle wrapper to 8.14.4
add 83e16868f1 Update Gradle tooling API to 8.14.4
add 5e0f28ffb9 Adjust CI Java matrix to 17 and 21
add f166e3ed8b Sync Java version 17.0.18 across .sdkmanrc, release.yml,
and Dockerfile
add 5715c3180f Add cross-reference comments for Gradle version locations
add ce07dd577c Merge pull request #15355 from
apache/deps/update-java-gradle-groovy-versions
add 777e22a397 Remove pull_request_target from release drafter
add 8acce051d7 Optimize CI workflow to reduce build time
add 4eb84a4342 Fix flaky tests caused by ThreadLocal pollution in parallel
execution
add 1010606a47 Fix database-per-tenant test isolation
add fe3e25c4d1 Limit CI matrix OS/Java combinations
add caa9ce2417 Fix command object shared constraint test isolation
add 07ffedbf6f Fix mime type test isolation by clearing static cache
add 7f32b71924 Add test isolation fixes for parallel test execution
add 96ec6523b5 Remove hardcoded test parallelism restriction from
grails-gsp
add 636e98b995 Add cleanup method to RespondMethodSpec for test isolation
add 59dcd50061 Fix WithFormatContentTypeSpec parallel test isolation
add 3a9df26354 Fix additional Holders.clear() calls that could cause
parallel test flakiness
add cb751d6a86 Enable cancel-in-progress for PR workflow runs
add c6789d1734 Fix URL mapping artefact isolation for parallel test
execution
add 83774cf385 Fix MIME type lookup isolation for parallel test execution
add bf78a4cbae Remove Develocity test retries now that flaky tests are
fixed
add fdaf826a6c Fix shared constraint cache isolation for parallel test
execution
add 461813e5a7 Add additional test isolation fixes for parallel execution
add 0853424edc Enable cancel-in-progress for PR runs in all CI workflows
add d2880650b3 Use @RestoreSystemProperties for cleaner test isolation
add f1f8aca9ef Add cleanup for HttpServletResponseExtension.@mimeTypes in
all test files
add 2a04d423ee Use proper imports instead of inline fully-qualified class
names
add 8b1c0eb74b Add cleanup for constraint caches to be good citizens in
parallel tests
add 6440ef70eb Rename clearConstraintsMap() to clearConstraintsMapCache()
for clarity
add 3850905c68 Use reflection to clear Validateable constraints cache
instead of public API
add e6f28c3718 Disable Groovy compilation cache in CI to ensure AST
transformations are applied
add 2a1df04505 Fix multi-tenancy test isolation in MongoDB specs for
parallel execution
add 0ef534f75d Fix NPE in HttpServletResponseExtension.getMimeTypes() for
parallel test execution
add 733cae94a7 Fix CommandObjectsSpec shared constraint test isolation
add 375f7f3c93 Fix RestfulReverseUrlRenderingTests URL mapping isolation
for parallel execution
add e4efb4711d Remove @Isolated annotations and update misleading parallel
test comments
add f6b876fddc Fix RespondMethodSpec Windows test isolation issue by
setting explicit HTML format
add 9e1503f042 Fix RestfulReverseUrlRenderingTests by re-registering URL
mappings in setup
add 5d3717ca08 Fix CommandObjectsSpec by clearing
ConstraintEvalUtils.defaultConstraintsMap in setup/cleanup
add 1e82ee8d1a Fix mockArtefact to refresh linkGenerator's
urlMappingsHolder reference
add bd6e1e5580 Fix FormTagLibTests to refresh linkGenerator's
urlMappingsHolder reference
add 6a7930c34b Fix test isolation for constraint cache and MIME type cache
add 0bd3006cf7 Fix test isolation for system property manipulation in tests
add bb193ba83f Fix shared constraint test by ensuring grailsApplication is
initialized before clearing caches
add 0f97dc4714 Fix MIME type tests by ensuring grailsApplication is
initialized before clearing cache
add 5efd1aba8d Fix RestfulReverseUrlRenderingTests by ensuring
grailsApplication is initialized before accessing artefacts
add 76a8df6285 Merge 7.0.x into improve-gh-ci-speed
add 37c5907efc Fix YamlPropertySourceLoaderSpec by ensuring development
environment is set before tests
add ddf492abe2 Update Gradle workflow to use --rerun-tasks flag
add bef53ffe46 Update comment in getMimeTypes method
add 7180d65c13 Remove Develocity test distribution configuration
add 1fe0a7db85 Update test comments for clarity on environment pollution
add 3ee3b5400b Merge pull request #15335 from apache/improve-gh-ci-speed
add 2b92500ad4 Update asset pipeline to 5.0.30
add 5ecbbc489e Merge pull request #15360 from jdaugherty/7.0.x
add 45b4680c96 [skip ci] Release v7.0.7
add 417f674d47 chore: cleanup release verification script
add 1b97a999fc Merge pull request #15366 from apache/post-7.0.7-release
add 399d3ad4e7 Update Develocity server URLs to develocity.apache.org
add a88494b4dd Merge pull request #15362 from apache/develocity-apache-org
add e69afe5d9d test(integration): Add comprehensive integration tests for
Grails features
add e4cb761c5d fix: Add Apache License headers and fix failing integration
tests
add e8adf0143f test: Review suggestions and stability improvements for
slow CI
add 0f21207d5f test(cache): Add comprehensive @Cacheable tests to
grails-test-examples
add 6b90174dfc refactor(test-examples): Use explicit params.subMap() for
data binding
add b585f97d2a test(integration): Add comprehensive tests for datasources,
external config, and plugins
add 4bf8d90c33 test(integration): Implement incomplete test assertions and
expand coverage
add 8b288c6a5b test(integration): Add comprehensive tests based on Grails
documentation
add b1389e7710 fix: Test stability and correctness improvements
add ea770fc500 Merge pull request #15348 from
apache/test/expand-integration-test-coverage
add 96000603c7 docs: create AGENTS.md for AI LLM crawlers
add 4023de3b41 Revise and expand AGENTS.md with agent and dev guide
add 85ecb155bd Add developer skills for AI coding agents
add ff2c8bd20a Add agent instruction files for major AI coding assistants
add 2ccfbf1027 Merge branch '7.0.x' into task/add-agents-md-15145
add 9f5bc19602 Convert agent instruction files to symlinks pointing to
AGENTS.md
add d23ec369a7 Add mandatory skill file reading instructions for AI agents
add ea9a37ec16 Add Claude Code skill symlinks for developer guides
add 364d631525 Convert GEMINI.md to symlink pointing to AGENTS.md
add 4d028e2a36 Remove copilot-instructions symlink
add 89b1567190 Update AGENTS.md with project structure and PR guidelines
add f9d59169e1 Address matrei's review feedback on AGENTS.md and skills
add b5116d6b58 Address remaining matrei review comments on
groovy-developer skill
add ee2976569b Merge pull request #15340 from
sanjana2505006/task/add-agents-md-15145
add 105c12e1b4 Update root-reserve-mb to 4096 in gradle.yml
add 2f307d3d29 Increase root reserve space to 4 GB in release workflow
add 6fe1360fca Add standalone workflow for publishing documentation
add a42aa087f6 Merge pull request #15368 from
apache/ci/publish-docs-workflow
add 74a4bdd3f8 Use workflow_dispatch ref instead of manual inputs
add 6420033e8b Merge pull request #15369 from
apache/ci/publish-docs-workflow
add c828b81ee3 Add version input while using branch from workflow dispatch
add cd67c3f3d2 Merge pull request #15370 from
apache/ci/publish-docs-workflow
add a91af5588f Set build-mount-path to /home/runner
add 45df475255 Merge pull request #15371 from
apache/ci/publish-docs-workflow
add 6cce089473 Increase build runner root reserve to 6 GB
add 0aba2a9f8b Remove build-mount-path from publish-docs workflow
add 771d483924 Remove maximize-build-space step from workflow
add 801c628822 Merge branch '7.0.x' into release-7.0.7-docs
add eda4479a88 Maximize build space in publish-docs workflow
add d0696e686c Replace maximize-build-space with manual cleanup
add a5d9f71834 Update build space maximization method in workflow
add 0047ba6337 Add release-close workflow; rename publish-docs
add 01764cf338 Merge branch '7.0.x' into release-7.0.7-docs
add ea12b76202 [skip ci] Bump version to release-7.0.8-SNAPSHOT
add 207758c8df Fix expected Grails version in unit test
add aafb7158b8 Update project version to 7.0.8-SNAPSHOT
add 69e47e3d62 Merge pull request #15372 from
apache/merge-back-release-7.0.7-docs
add 80f93d9948 Bump com.gradle.develocity from 4.1.1 to 4.2.2 in
/grails-forge
add 2e47155016 Merge pull request #15137 from
apache/dependabot/gradle/grails-forge/7.0.x/com.gradle.develocity-4.2.2
add aac3efb631 build(deps): bump
com.gradle.common-custom-user-data-gradle-plugin
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (881777535a)
\
N -- N -- N
refs/heads/dependabot/gradle/grails-forge/7.0.x/com.gradle.common-custom-user-data-gradle-plugin-2.4.0
(aac3efb631)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.agents/skills/grails-developer/SKILL.md | 885 ++++++++++++++++++
.agents/skills/groovy-developer/SKILL.md | 521 +++++++++++
.agents/skills/java-developer/SKILL.md | 286 ++++++
.asf.yaml | 32 +-
.claude/skills/grails-developer/SKILL.md | 1 +
.claude/skills/groovy-developer/SKILL.md | 1 +
.claude/skills/java-developer/SKILL.md | 1 +
.clinerules | 1 +
.cursorrules | 1 +
.github/ISSUE_TEMPLATE/config.yml | 10 +-
.github/scripts/releaseDistributions.sh | 17 +-
.github/scripts/releaseJarFiles.sh | 12 +-
.github/vote_templates/announce.txt | 14 +-
.github/vote_templates/staged.txt | 20 +-
.github/vote_templates/vote_succeeded.txt | 12 +
.github/workflows/codeql.yml | 8 +-
.github/workflows/codestyle.yml | 8 +-
.github/workflows/gradle.yml | 94 +-
.github/workflows/groovy-joint-workflow.yml | 9 +-
.github/workflows/rat.yml | 4 +-
.github/workflows/release-close.yml | 96 ++
.github/workflows/release-notes.yml | 8 +-
.github/workflows/release-publish-docs.yml | 79 ++
.github/workflows/release.yml | 704 ++++++++-------
.idea/codeStyles/Project.xml | 6 +
.mailmap | 933 +++++++++++++++++++
.sdkmanrc | 7 +-
.windsurfrules | 1 +
AGENTS.md | 260 ++++++
CLAUDE.md | 1 +
CONTRIBUTING.md | 16 +-
GEMINI.md | 1 +
INSTALL | 6 +-
README.md | 12 +-
RELEASE.md | 66 +-
RENAME.md | 2 +-
{grails-gradle => build-logic}/docs-core/README.md | 0
build-logic/docs-core/build.gradle | 116 +++
.../src/main/groovy/grails/doc/DocEngine.groovy | 0
.../src/main/groovy/grails/doc/DocPublisher.groovy | 2 +-
.../groovy/grails/doc/ant/DocPublisherTask.groovy | 0
.../grails/doc/asciidoc/AsciiDocEngine.groovy | 0
.../doc/dropdown/CreateReleaseDropDownTask.groovy | 2 +-
.../groovy/grails/doc/dropdown/Snapshot.groovy | 0
.../grails/doc/dropdown/SoftwareVersion.groovy | 0
.../groovy/grails/doc/filters/HeaderFilter.groovy | 0
.../grails/doc/filters/LinkTestFilter.groovy | 0
.../groovy/grails/doc/filters/ListFilter.groovy | 0
.../groovy/grails/doc/git/FetchTagsTask.groovy | 0
.../grails/doc/gradle/PublishGuideTask.groovy | 0
.../grails/doc/internal/FileResourceChecker.groovy | 0
.../grails/doc/internal/StringEscapeCategory.java | 0
.../grails/doc/internal/UserGuideNode.groovy | 0
.../grails/doc/internal/YamlTocStrategy.groovy | 0
.../grails/doc/macros/GspTagSourceMacro.groovy | 0
.../groovy/grails/doc/macros/HiddenMacro.groovy | 0
.../gradle/tasks/bom/CoordinateHolder.groovy | 2 +-
.../tasks/bom/CoordinateVersionHolder.groovy | 10 +
.../tasks/bom/ExtractDependenciesTask.groovy | 24 +-
.../tasks/bom/ExtractedDependencyConstraint.groovy | 0
.../gradle/tasks/bom/PropertyNameCalculator.groovy | 28 +-
.../src/main/resources/grails/doc/doc.properties | 4 +-
.../main/resources/radeox_messages_en.properties | 0
.../docs-core/src/main/template/css/custom-pdf.css | 0
.../docs-core/src/main/template/css/custom.css | 0
.../docs-core/src/main/template/css/main.css | 0
.../docs-core/src/main/template/css/menu.css | 0
.../docs-core/src/main/template/css/pdf.css | 0
.../docs-core/src/main/template/css/ref.css | 0
.../docs-core/src/main/template/css/skin.css | 0
.../docs-core/src/main/template/css/tools.css | 0
.../src/main/template/fonts/FontAwesome.otf | Bin
.../main/template/fonts/fontawesome-webfont.eot | Bin
.../main/template/fonts/fontawesome-webfont.svg | 0
.../main/template/fonts/fontawesome-webfont.ttf | Bin
.../main/template/fonts/fontawesome-webfont.woff | Bin
.../src/main/template/img/default/bullet.gif | Bin
.../template/img/default/linear-gradient-green.png | Bin
.../main/template/img/default/linear-gradient.png | Bin
.../template/img/default/separator-horizontal.gif | Bin
.../main/template/img/default/separator-menu.png | Bin
.../template/img/default/separator-vertical.gif | Bin
.../docs-core/src/main/template/img/favicon.ico | Bin
.../template/img}/grails-cupsonly-logo-white.svg | 0
.../src/main/template/img/grails-icon.png | Bin
.../docs-core/src/main/template/img/grails.png | Bin
.../docs-core/src/main/template/img/grails.svg | 0
.../docs-core/src/main/template/img/groovy.png | Bin
.../docs-core/src/main/template/img/note.gif | Bin
.../docs-core/src/main/template/img/warning.gif | Bin
.../docs-core/src/main/template/js/docs.js | 0
.../docs-core/src/main/template/log4j.properties | 0
.../src/main/template/style/guideItem.html | 21 +
.../docs-core/src/main/template/style/index.html | 0
.../docs-core/src/main/template/style/layout.html | 21 +
.../docs-core/src/main/template/style/menu.html | 51 ++
.../src/main/template/style/referenceItem.html | 21 +
.../docs-core/src/main/template/style/section.html | 0
.../grails/doc/dropdown/SoftwareVersionSpec.groovy | 0
.../doc/internal/StringEscapeCategoryTests.groovy | 0
.../grails/doc/internal/YamlTocStrategySpec.groovy | 0
.../grails/doc/macros/GspTagSourceMacroTest.groovy | 0
.../gradle/wrapper/gradle-wrapper.properties | 4 +-
build-logic/{ => plugins}/build.gradle | 60 +-
.../apache/grails/buildsrc/CompilePlugin.groovy | 135 +++
.../org/apache/grails/buildsrc/GradleUtils.groovy | 36 +-
.../buildsrc/GrailsCodeStyleExtension.groovy} | 43 +-
.../grails/buildsrc/GrailsCodeStylePlugin.groovy | 171 ++++
.../buildsrc/GrailsRepoSettingsPlugin.groovy | 113 +++
.../apache/grails/buildsrc/PublishPlugin.groovy | 403 +++++++++
.../org/apache/grails/buildsrc/SbomPlugin.groovy | 212 +++--
.../grails/buildsrc/SharedPropertyPlugin.groovy | 77 ++
.../checkstyle/checkstyle-suppressions.xml | 0
.../checkstyle/checkstyle.xml | 0
.../codenarc/codenarc.groovy | 0
build-logic/settings.gradle | 77 +-
.../apache/grails/buildsrc/PublishPlugin.groovy | 245 -----
build.gradle | 4 +-
buildSrc/build.gradle | 49 +-
.../gorm/Book.groovy => buildSrc/settings.gradle | 24 +-
dependencies.gradle | 87 +-
etc/bin/Dockerfile | 5 +-
etc/bin/rename_gradle_artifacts.sh | 2 -
etc/bin/test-reproducible-builds.sh | 5 +
etc/bin/verify-reproducible.sh | 2 +-
etc/bin/verify.sh | 50 +-
gradle.properties | 8 +-
gradle/code-style-config.gradle | 69 --
gradle/docs-dependencies.gradle | 17 +
gradle/java-config.gradle | 72 --
gradle/rat-root-config.gradle | 5 +-
gradle/test-config.gradle | 23 +-
gradle/wrapper/gradle-wrapper.properties | 4 +-
grails-async/core/build.gradle | 6 +-
grails-async/gpars/build.gradle | 6 +-
grails-async/plugin/build.gradle | 6 +-
grails-async/rxjava/build.gradle | 6 +-
grails-async/rxjava2/build.gradle | 6 +-
grails-async/rxjava3/build.gradle | 6 +-
grails-bom/build.gradle | 60 +-
grails-bootstrap/build.gradle | 6 +-
.../groovy/org/grails/config/NavigableMap.groovy | 83 +-
.../grails/config/SpringProfileExcludeSpec.groovy | 173 ++++
grails-cache/build.gradle | 12 +-
grails-codecs-core/build.gradle | 6 +-
grails-codecs/build.gradle | 6 +-
grails-common/build.gradle | 6 +-
grails-console/build.gradle | 6 +-
grails-controllers/build.gradle | 6 +-
.../compiler/web/ControllerActionTransformer.java | 3 +-
grails-converters/build.gradle | 6 +-
.../ConvertersConfigurationInitializer.java | 32 +-
...DateMarshaller.java => CalendarMarshaller.java} | 21 +-
.../converters/marshaller/json/DateMarshaller.java | 2 +-
.../converters/marshaller/json/EnumMarshaller.java | 4 +
.../marshaller/json/GenericJavaBeanMarshaller.java | 1 +
.../marshaller/json/GroovyBeanMarshaller.java | 1 +
...{DateMarshaller.java => InstantMarshaller.java} | 38 +-
...ateMarshaller.java => LocalDateMarshaller.java} | 38 +-
...arshaller.java => LocalDateTimeMarshaller.java} | 38 +-
...rshaller.java => OffsetDateTimeMarshaller.java} | 38 +-
...umMarshaller.java => SimpleEnumMarshaller.java} | 20 +-
...arshaller.java => ZonedDateTimeMarshaller.java} | 38 +-
.../converters/marshaller/xml/EnumMarshaller.java | 4 +
.../marshaller/xml/GenericJavaBeanMarshaller.java | 1 +
.../marshaller/xml/GroovyBeanMarshaller.java | 1 +
...umMarshaller.java => SimpleEnumMarshaller.java} | 12 +-
.../marshaller/json/StaticPropertySpec.groovy | 68 ++
grails-core/build.gradle | 6 +-
.../grails/dev/commands/ApplicationCommand.groovy | 41 +-
.../grails/boot/DevelopmentModeWatchSpec.groovy | 4 +-
...aceHolderConfigurerCorePluginRuntimeSpec.groovy | 2 +
.../test/groovy/grails/util/GrailsUtilTests.java | 2 +-
.../compiler/injection/GrailsASTUtilsTests.groovy | 9 +-
.../injection/GrailsArtefactTransformerSpec.groovy | 6 +-
.../config/NavigableMapSpringProfilesSpec.groovy | 2 +
.../config/YamlPropertySourceLoaderSpec.groovy | 8 +-
.../org/grails/plugins/GrailsPluginTests.groovy | 9 +-
.../src/main/docs/gettingStarted/CRUD.adoc | 2 +-
.../docs/gettingStarted/creatingDomainClasses.adoc | 2 +-
.../guide-rx/src/main/docs/introduction.adoc | 2 +-
.../src/main/docs/querying/dynamicFinders.adoc | 2 +-
.../guide-rx/src/main/docs/querying/index.adoc | 8 +-
.../src/main/docs/querying/whereQueries.adoc | 2 +-
.../guide-whats-new/src/main/docs/index.adoc | 2 +-
grails-data-docs/stage/build.gradle | 17 +
grails-data-graphql/build.gradle | 1 -
grails-data-graphql/core/build.gradle | 1 -
.../docs/src/main/docs/guide/gettingStarted.adoc | 6 +-
.../docs/src/main/docs/guide/types.adoc | 2 +-
.../examples/spring-boot-app/build.gradle | 1 -
grails-data-graphql/gradle.properties | 2 +-
grails-data-graphql/settings.gradle | 2 +-
grails-data-hibernate5/README.md | 10 +-
grails-data-hibernate5/boot-plugin/build.gradle | 11 +-
grails-data-hibernate5/core/build.gradle | 11 +-
.../MultiTenancyBidirectionalManyToManySpec.groovy | 2 +
.../connections/SchemaMultiTenantSpec.groovy | 3 +
.../hibernate/connections/SingleTenantSpec.groovy | 3 +
grails-data-hibernate5/dbmigration/README.md | 10 +-
grails-data-hibernate5/dbmigration/build.gradle | 23 +-
.../DatabaseMigrationGrailsPlugin.groovy | 2 +-
grails-data-hibernate5/docs/build.gradle | 17 +
.../advancedGORMFeatures/ormdsl/caching.adoc | 16 +-
.../gormAssociation/manyToOneAndOneToOne.adoc | 2 +-
.../asciidoc/gettingStarted/outsideGrails.adoc | 21 +-
.../docs/src/docs/asciidoc/introduction.adoc | 2 +-
.../docs/src/docs/asciidoc/learningMore.adoc | 2 +-
grails-data-hibernate5/grails-plugin/build.gradle | 12 +-
.../plugin/hibernate/HibernateGrailsPlugin.groovy | 2 +-
grails-data-mongodb/README.md | 10 +-
grails-data-mongodb/boot-plugin/build.gradle | 10 +-
.../MongoDbGormAutoConfigurationSpec.groovy | 2 +
...ngoDbGormAutoConfigureWithGeoSpacialSpec.groovy | 2 +
.../src/test/resources/docker-java.properties | 2 +
grails-data-mongodb/bson/build.gradle | 10 +-
grails-data-mongodb/core/build.gradle | 10 +-
.../datastore/mapping/mongo/MongoDatastore.java | 35 +-
.../mongo/engine/MongoCodecEntityPersister.groovy | 19 +
.../engine/codecs/PersistentEntityCodec.groovy | 7 -
.../BeforeUpdatePropertyPersistenceSpec.groovy | 201 +++++
.../connections/MongoConnectionSourcesSpec.groovy | 7 +
.../gorm/mongo/connections/MultiTenancySpec.groovy | 5 +-
.../connections/SchemaBasedMultiTenancySpec.groovy | 5 +-
.../mongo/connections/SingleTenancySpec.groovy | 5 +-
.../MongoStaticApiMultiTenancySpec.groovy | 5 +-
grails-data-mongodb/docs/build.gradle | 17 +
.../docs/asciidoc/introduction/compatibility.adoc | 2 +-
.../src/docs/asciidoc/querying/queryingBasics.adoc | 2 +-
grails-data-mongodb/ext/build.gradle | 10 +-
grails-data-mongodb/grails-plugin/build.gradle | 15 +-
.../plugins/mongodb/MongodbGrailsPlugin.groovy | 2 +-
grails-data-mongodb/gson-templates/build.gradle | 6 +-
grails-data-neo4j/README.md | 2 +-
.../Neo4jAutoConfigurationSpec.groovy | 2 +
grails-data-neo4j/docs/build.gradle | 17 +
.../src/docs/asciidoc/mapping/associations.adoc | 2 +-
.../docs/src/docs/asciidoc/querying.adoc | 6 +-
.../grails-app/assets/javascripts/application.js | 2 +-
.../grails-app/assets/stylesheets/application.css | 4 +-
.../grails-app/assets/javascripts/application.js | 2 +-
.../grails-app/assets/stylesheets/application.css | 4 +-
grails-data-neo4j/gradle.properties | 2 +-
.../tests/multitenancy/MultiTenancySpec.groovy | 4 +
.../tests/multitenancy/SingleTenancySpec.groovy | 2 +
grails-data-neo4j/settings.gradle | 4 +-
grails-data-simple/build.gradle | 13 +-
grails-databinding-core/build.gradle | 6 +-
grails-databinding/build.gradle | 6 +-
.../converters/DefaultConvertersConfiguration.java | 5 +
.../Jsr310ConvertersConfiguration.groovy | 15 +
grails-datamapping-async/build.gradle | 13 +-
.../groovy/grails/gorm/async/AsyncEntity.groovy | 2 +
grails-datamapping-core-test/build.gradle | 11 +-
.../database/DatabasePerTenantSpec.groovy | 3 +-
.../MultiTenantServiceTransformSpec.groovy | 2 +
.../partitioned/PartitionMultiTenancySpec.groovy | 3 +-
.../multitenancy/schema/SchemaPerTenantSpec.groovy | 6 +-
.../gorm/tests/CurrentTenantTransformSpec.groovy | 6 +-
.../grails/gorm/tests/TenantServiceSpec.groovy | 7 +-
.../schemaless/ImplementsDynamicAttributes.groovy | 37 +-
grails-datamapping-core/build.gradle | 13 +-
.../src/main/groovy/grails/gorm/MultiTenant.groovy | 4 +
.../grails/gorm/time/InstantConverter.groovy | 3 +
.../grails/gorm/time/LocalDateConverter.groovy | 3 +
.../grails/gorm/time/LocalDateTimeConverter.groovy | 3 +
.../grails/gorm/time/LocalTimeConverter.groovy | 3 +
.../gorm/time/OffsetDateTimeConverter.groovy | 3 +
.../grails/gorm/time/OffsetTimeConverter.groovy | 3 +
.../groovy/grails/gorm/time/PeriodConverter.groovy | 3 +
.../grails/gorm/time/TemporalConverter.groovy | 3 +
.../grails/gorm/time/ZonedDateTimeConverter.groovy | 3 +
.../compiler/gorm/DirtyCheckingTransformer.groovy | 9 +-
.../compiler/gorm/GormEntityTransformation.groovy | 21 +-
.../org/grails/datastore/gorm/GormEntity.groovy | 116 +++
.../datastore/gorm/GormEntityDirtyCheckable.groovy | 3 +-
.../grails/datastore/gorm/GormValidateable.groovy | 19 +-
.../gorm/schemaless/DynamicAttributes.groovy | 6 +
...AbstractArrayOrIterableResultImplementer.groovy | 3 +
.../AbstractReadOperationImplementer.groovy | 3 +
.../AbstractWriteOperationImplementer.groovy | 3 +
.../implementers/InterfaceProjectionBuilder.groovy | 6 +
.../IterableInterfaceProjectionBuilder.groovy | 3 +
.../SingleResultInterfaceProjectionBuilder.groovy | 2 +
.../transform/ServiceTransformation.groovy | 8 +-
.../transform/TransactionalTransform.groovy | 11 +-
...tDatastoreMethodDecoratingTransformation.groovy | 10 +-
.../jakarta/services/ValidatedService.groovy | 19 +-
.../MethodValidationImplementer.groovy | 2 +
.../services/MethodValidationTransformSpec.groovy | 111 +--
.../grails/gorm/time/InstantConverterSpec.groovy | 18 +-
.../grails/gorm/time/LocalDateConverterSpec.groovy | 23 +-
.../gorm/time/LocalDateTimeConverterSpec.groovy | 36 +-
.../grails/gorm/time/LocalTimeConverterSpec.groovy | 25 +-
.../gorm/time/OffsetDateTimeConverterSpec.groovy | 44 +-
.../gorm/time/OffsetTimeConverterSpec.groovy | 35 +-
.../grails/gorm/time/PeriodConverterSpec.groovy | 18 +-
.../gorm/time/ZonedDateTimeConverterSpec.groovy | 43 +-
.../gorm/EntityWithGenericSignaturesSpec.groovy | 82 +-
.../compiler/gorm/GormEntityTransformSpec.groovy | 286 +++---
.../compiler/gorm/JpaEntityTransformSpec.groovy | 65 +-
grails-datamapping-rx/build.gradle | 13 +-
.../main/groovy/grails/gorm/rx/MultiTenant.groovy | 11 +-
.../src/main/groovy/grails/gorm/rx/RxEntity.groovy | 68 +-
.../datastore/rx/collection/RxCollection.groovy | 10 +-
grails-datamapping-support/build.gradle | 13 +-
.../core/grailsversion/GrailsVersionSpec.groovy | 2 +-
grails-datamapping-tck/build.gradle | 13 +-
grails-datamapping-validation/build.gradle | 13 +-
grails-datasource/build.gradle | 6 +-
grails-datastore-async/build.gradle | 13 +-
.../transform/DelegateAsyncTransformation.java | 2 +
.../gorm/async/transform/DelegateAsyncSpec.groovy | 41 +-
grails-datastore-core/build.gradle | 13 +-
.../mapping/dirty/checking/DirtyCheckable.groovy | 12 +
.../datastore/mapping/services/Service.groovy | 14 +-
.../dirty/checking/DirtyCheckableSpec.groovy | 29 +-
.../services/DefaultServiceRegistrySpec.groovy | 31 +-
grails-datastore-web/build.gradle | 13 +-
grails-dependencies/assets/build.gradle | 8 +-
grails-dependencies/starter-web/build.gradle | 8 +-
grails-dependencies/test/build.gradle | 8 +-
grails-doc/README.md | 2 +-
grails-doc/build.gradle | 22 +-
grails-doc/src/en/guide/GORM/quickStartGuide.adoc | 4 +-
.../en/guide/GORM/quickStartGuide/basicCRUD.adoc | 16 +-
grails-doc/src/en/guide/REST/domainResources.adoc | 15 +
grails-doc/src/en/guide/REST/hypermedia/hal.adoc | 13 +
.../src/en/guide/REST/versioningResources.adoc | 13 +
grails-doc/src/en/guide/async/asyncGorm.adoc | 2 +-
grails-doc/src/en/guide/async/asyncPromises.adoc | 8 +-
grails-doc/src/en/guide/async/events.adoc | 4 +-
.../src/en/guide/async/events/asyncConsuming.adoc | 4 +-
.../src/en/guide/async/events/asyncNotifying.adoc | 4 +-
grails-doc/src/en/guide/async/rxjava.adoc | 2 +-
.../guide/cache/cacheUsage/cacheConfiguration.adoc | 4 +-
.../en/guide/cache/cacheUsage/cacheUnitTests.adoc | 4 +-
grails-doc/src/en/guide/commandLine.adoc | 5 +-
.../guide/commandLine/creatingCustomCommands.adoc | 2 +-
.../gradleBuild/gradleDependencies.adoc | 6 +-
.../guide/conf/dataSource/multipleDatasources.adoc | 2 +-
grails-doc/src/en/guide/conf/docengine.adoc | 23 +-
grails-doc/src/en/guide/conf/environments.adoc | 27 +
grails-doc/src/en/guide/contributing.adoc | 2 +-
.../guide/gettingStarted/developmentReloading.adoc | 13 +-
grails-doc/src/en/guide/introduction/whatsNew.adoc | 2 +-
.../introduction/whatsNew/dependencyUpgrades.adoc | 2 +-
.../guide/plugins/artefactApi/customArtefacts.adoc | 2 +-
.../src/en/guide/profiles/pluginProfile.adoc | 2 +-
.../src/en/guide/profiles/profileProfile.adoc | 2 +-
.../src/en/guide/profiles/profileStructure.adoc | 4 +-
.../en/guide/profiles/restAPIPluginProfile.adoc | 2 +-
.../src/en/guide/profiles/restAPIProfile.adoc | 2 +-
.../src/en/guide/profiles/webPluginProfile.adoc | 2 +-
grails-doc/src/en/guide/profiles/webProfile.adoc | 2 +-
grails-doc/src/en/guide/scaffolding.adoc | 2 +-
grails-doc/src/en/guide/security/codecs.adoc | 10 +
.../src/en/guide/security/xssPrevention.adoc | 34 +
.../services/dependencyInjectionServices.adoc | 2 +-
.../spring/propertyPlaceholderConfiguration.adoc | 9 +
.../en/guide/testing/unitTesting/annotations.adoc | 6 +-
.../en/guide/testing/unitTesting/installation.adoc | 4 +-
.../unitTesting/unitTestingDomainClasses.adoc | 10 +-
.../unitTesting/unitTestingUrlMappings.adoc | 2 +-
.../en/guide/theWebLayer/contentNegotiation.adoc | 42 +
.../guide/theWebLayer/controllers/dataBinding.adoc | 56 +-
.../theWebLayer/fields/fieldsInstallation.adoc | 2 +-
.../fields/scaffolding/installation/index.adoc | 2 +-
.../src/en/guide/theWebLayer/gson/gsonTesting.adoc | 2 +-
.../guide/theWebLayer/gson/jsonInstallation.adoc | 23 +-
.../en/guide/theWebLayer/gson/pluginSupport.adoc | 8 +-
grails-doc/src/en/guide/theWebLayer/gsp.adoc | 4 +-
.../gsp/GSPBasics/variablesAndScopes.adoc | 8 +-
.../gsp/taglibs/taglibVariablesAndScopes.adoc | 8 +-
.../gsp/taglibs/usingJSPTagLibraries.adoc | 2 +-
.../interceptors/interceptorOrdering.adoc | 9 +
.../urlmappings/customizingUrlFormat.adoc | 11 +
.../src/en/guide/upgrading/upgrading60x.adoc | 309 ++++++-
grails-doc/src/en/ref/Constraints/nullable.adoc | 14 +
grails-doc/src/en/ref/Controllers/withFormat.adoc | 16 +
grails-doc/src/en/ref/Domain Classes/save.adoc | 14 +
grails-doc/src/en/ref/Plug-ins/dataSource.adoc | 13 +
.../src/en/ref/Servlet API/servletContext.adoc | 2 +-
.../src/en/ref/Tag Libraries/actionName.adoc | 13 +-
.../src/en/ref/Tag Libraries/controllerName.adoc | 14 +-
grails-doc/src/en/ref/Tag Libraries/flash.adoc | 11 +-
grails-doc/src/en/ref/Tag Libraries/pageScope.adoc | 5 +-
grails-doc/src/en/ref/Tag Libraries/params.adoc | 26 +-
grails-doc/src/en/ref/Tag Libraries/request.adoc | 16 +-
grails-doc/src/en/ref/Tag Libraries/response.adoc | 13 +-
.../src/en/ref/Tag Libraries/servletContext.adoc | 20 +-
grails-doc/src/en/ref/Tag Libraries/session.adoc | 27 +-
grails-domain-class/build.gradle | 6 +-
.../grails/persistence/DomainClassTraitSpec.groovy | 6 +
grails-encoder/build.gradle | 6 +-
grails-events/compat/build.gradle | 6 +-
grails-events/core/build.gradle | 6 +-
grails-events/gpars/build.gradle | 6 +-
grails-events/plugin/build.gradle | 6 +-
grails-events/rxjava/build.gradle | 6 +-
grails-events/rxjava2/build.gradle | 6 +-
grails-events/rxjava3/build.gradle | 6 +-
grails-events/spring/build.gradle | 6 +-
grails-events/transforms/build.gradle | 6 +-
grails-fields/README.md | 8 +-
grails-fields/build.gradle | 9 +-
.../plugin/formfields/FormFieldsTagLib.groovy | 23 +-
.../plugin/formfields/DisplayWidgetSpec.groovy | 15 +-
.../grails/plugin/formfields/mock/Person.groovy | 5 +
.../taglib/AbstractFormFieldsTagLibSpec.groovy | 5 +-
.../plugin/formfields/taglib/DisplayTagSpec.groovy | 2 +-
grails-forge/README.md | 2 +-
grails-forge/build.gradle | 11 +-
grails-forge/buildSrc/build.gradle | 55 +-
.../buildSrc/settings.gradle | 24 +-
...uppressions.xml => checkstyle-suppressions.xml} | 0
grails-forge/config/checkstyle/checkstyle.xml | 2 +-
grails-forge/gradle.properties | 10 +-
grails-forge/gradle/code-style-config.gradle | 42 +-
grails-forge/gradle/doc-config.gradle | 19 +-
grails-forge/gradle/java-config.gradle | 77 --
grails-forge/gradle/test-config.gradle | 10 -
.../gradle/wrapper/gradle-wrapper.properties | 4 +-
grails-forge/grails-cli-shadow/build.gradle | 6 +-
grails-forge/grails-cli/build.gradle | 6 +-
.../grails-forge-analytics-postgres/build.gradle | 1 +
grails-forge/grails-forge-api/build.gradle | 3 +-
grails-forge/grails-forge-cli/build.gradle | 3 +-
.../groovy/org/grails/forge/cli/CommandSpec.groovy | 2 +-
grails-forge/grails-forge-core/build.gradle | 7 +-
.../build/gradle/DefaultGradleRepository.java | 59 +-
.../forge/build/gradle/GradleRepository.java | 47 +-
.../org/grails/forge/build/gradle/VersionType.java | 9 +-
.../forge/feature/assetPipeline/AssetPipeline.java | 59 +-
.../build/gradle/templates/buildGradle.rocker.raw | 14 +-
.../templates/gradleWrapperProperties.rocker.raw | 8 +-
.../grails/forge/feature/cache/GrailsCache.java | 2 +-
.../grails/forge/feature/database/MongoGorm.java | 2 +-
.../forge/feature/grails/GrailsGradlePlugin.java | 4 +-
.../feature/micronaut/MicronautHttpClient.java | 2 +-
.../feature/migration/DatabaseMigrationPlugin.java | 2 +-
.../feature/other/template/maindocs.rocker.raw | 8 +-
.../feature/spring/SpringBootVirtualThreads.java | 6 +-
.../feature/test/GebWithWebDriverBinaries.java | 9 +-
.../forge/feature/test/template/spock.rocker.raw | 2 +-
.../org/grails/forge/feature/view/GrailsViews.java | 2 +-
.../org/grails/forge/feature/view/Scaffolding.java | 2 +-
.../grails/forge/io/FileSystemOutputHandler.java | 67 +-
.../main/java/org/grails/forge/io/OutputUtils.java | 61 ++
.../java/org/grails/forge/io/ZipOutputHandler.java | 52 +-
.../java/org/grails/forge/options/JdkVersion.java | 5 +-
.../resources/assets/images/advancedgrails.svg | 6 +-
.../assets/images/apple-touch-icon-retina.png | Bin 7038 -> 0 bytes
.../resources/assets/images/apple-touch-icon.png | Bin 3077 -> 0 bytes
.../src/main/resources/assets/images/community.svg | 9 +
.../main/resources/assets/images/documentation.svg | 4 +-
.../src/main/resources/assets/images/favicon.ico | Bin 5558 -> 27198 bytes
.../src/main/resources/assets/images/groovy.svg | 1 +
.../src/main/resources/assets/images/java.svg | 1 +
.../src/main/resources/assets/images/slack.svg | 18 -
.../main/resources/assets/images/spring-boot.svg | 20 +
.../src/main/resources/assets/images/spring.svg | 1 +
.../resources/assets/javascripts/application.js | 4 +-
.../main/resources/assets/javascripts/welcome.js | 116 +++
.../resources/assets/stylesheets/application.css | 6 +-
.../main/resources/assets/stylesheets/welcome.css | 63 ++
.../src/main/resources/gsp/index.gsp | 397 ++++++--
.../src/main/resources/gsp/main.gsp | 113 +--
.../grails-forge-core/src/main/resources/pom.xml | 14 +-
.../feature/assetPipeline/AssetPipelineSpec.groovy | 42 +-
.../spring/SpringBootVirtualThreadsSpec.groovy | 4 +-
.../test/GebWithWebDriverBinariesSpec.groovy | 4 +-
.../grails/forge/feature/view/GrailsGspSpec.groovy | 17 +-
grails-forge/grails-forge-web-netty/build.gradle | 1 +
grails-forge/settings.gradle | 83 +-
grails-forge/test-core/build.gradle | 3 +-
.../org/grails/forge/create/CreateAppSpec.groovy | 2 +-
grails-geb/README.md | 5 +-
grails-geb/build.gradle | 14 +-
.../testFixtures/resources/docker-java.properties | 2 +
grails-gradle/bom/build.gradle | 2 +-
grails-gradle/build.gradle | 7 +-
grails-gradle/buildSrc/build.gradle | 38 +-
.../buildSrc/settings.gradle | 22 +-
grails-gradle/common/build.gradle | 7 +-
grails-gradle/docs-core/build.gradle | 96 --
.../template/img/grails-cupsonly-logo-white.svg | 26 -
.../docs-core/src/main/template/style/menu.html | 30 -
grails-gradle/gradle/code-style-config.gradle | 61 --
grails-gradle/gradle/docs-config.gradle | 17 +
grails-gradle/gradle/java-config.gradle | 85 --
grails-gradle/gradle/publish-root-config.gradle | 1 -
grails-gradle/gradle/test-config.gradle | 7 -
.../gradle/wrapper/gradle-wrapper.properties | 4 +-
grails-gradle/model/build.gradle | 7 +-
.../model/src/main/groovy/grails/io/IOUtils.groovy | 5 +-
.../main/groovy/grails/util/BuildSettings.groovy | 2 +-
.../src/test/groovy/grails/io/IOUtilsSpec.groovy | 11 +-
grails-gradle/plugins/README.md | 2 +-
grails-gradle/plugins/build.gradle | 12 +-
.../gradle/plugin/core/GrailsGradlePlugin.groovy | 55 +-
.../plugin/core/GrailsPluginGradlePlugin.groovy | 7 +-
.../gradle/plugin/web/GrailsWebGradlePlugin.groovy | 40 +-
grails-gradle/settings.gradle | 76 +-
grails-gradle/tasks/build.gradle | 6 +-
grails-gsp/README.md | 8 +-
grails-gsp/core/build.gradle | 7 +-
grails-gsp/grails-layout/build.gradle | 8 +-
grails-gsp/grails-sitemesh3/build.gradle | 9 +-
.../plugins/sitemesh3/Sitemesh3GrailsPlugin.groovy | 2 +-
grails-gsp/grails-taglib/build.gradle | 7 +-
grails-gsp/grails-web-gsp-taglib/build.gradle | 7 +-
grails-gsp/grails-web-gsp/build.gradle | 7 +-
grails-gsp/grails-web-jsp/build.gradle | 7 +-
grails-gsp/grails-web-taglib/build.gradle | 7 +-
grails-gsp/plugin/build.gradle | 15 +-
.../plugins/web/DefaultGrailsTagDateHelper.groovy | 4 +
.../mapping/RestfulReverseUrlRenderingTests.groovy | 21 +
.../web/taglib/AbstractGrailsTagTests.groovy | 7 +
.../org/grails/web/taglib/FormTagLibTests.groovy | 28 +
grails-gsp/spring-boot/build.gradle | 9 +-
grails-i18n/build.gradle | 6 +-
grails-interceptors/build.gradle | 6 +-
.../web/interceptors/UrlMappingMatcherSpec.groovy | 7 +-
grails-logging/README.md | 2 +-
grails-logging/build.gradle | 6 +-
grails-micronaut/build.gradle | 4 +-
grails-mimetypes/build.gradle | 6 +-
.../web/mime/HttpServletRequestExtension.groovy | 14 +-
.../web/mime/HttpServletResponseExtension.groovy | 2 +-
.../groovy/grails/web/mime/MimeUtilitySpec.groovy | 11 +
.../web/mime/MimeTypesConfigurationSpec.groovy | 11 +
.../grails/web/mime/AcceptHeaderParserSpec.groovy | 5 +
.../mvc/RequestAndResponseMimeTypesApiSpec.groovy | 7 +
grails-profiles/base/features/geb2/feature.yml | 2 +-
grails-profiles/base/profile.yml | 2 +
grails-profiles/base/skeleton/build.gradle | 23 +-
.../gradle/wrapper/gradle-wrapper.properties | 4 +-
.../gradle/wrapper/gradle-wrapper.properties | 4 +-
grails-profiles/web-plugin/profile.yml | 1 +
.../grails-app/assets/images/advancedgrails.svg | 6 +-
.../assets/images/apple-touch-icon-retina.png | Bin 7038 -> 0 bytes
.../grails-app/assets/images/apple-touch-icon.png | Bin 3077 -> 0 bytes
.../grails-app/assets/images/community.svg | 9 +
.../grails-app/assets/images/documentation.svg | 4 +-
.../skeleton/grails-app/assets/images/favicon.ico | Bin 5558 -> 27198 bytes
.../assets/images/grails-cupsonly-logo-white.svg | 26 -
.../skeleton/grails-app/assets/images/groovy.svg | 1 +
.../web/skeleton/grails-app/assets/images/java.svg | 1 +
.../skeleton/grails-app/assets/images/slack.svg | 18 -
.../grails-app/assets/images/spring-boot.svg | 20 +
.../skeleton/grails-app/assets/images/spring.svg | 1 +
.../grails-app/assets/javascripts/application.js | 4 +-
.../grails-app/assets/javascripts/welcome.js | 115 +++
.../grails-app/assets/stylesheets/application.css | 6 +-
.../grails-app/assets/stylesheets/welcome.css | 63 ++
.../web/skeleton/grails-app/views/index.gsp | 397 ++++++--
.../web/skeleton/grails-app/views/layouts/main.gsp | 113 +--
grails-rest-transforms/build.gradle | 6 +-
.../grails/rest/render/ContainerRenderer.groovy | 2 +-
.../main/groovy/grails/rest/render/Renderer.groovy | 2 +-
.../rest/render/errors/VndErrorJsonRenderer.groovy | 3 +-
.../rest/render/errors/VndErrorXmlRenderer.groovy | 3 +-
.../grails/rest/render/hal/HalJsonRenderer.groovy | 2 +-
.../render/util/AbstractLinkingRenderer.groovy | 4 +-
.../rest/render/json/DefaultJsonRenderer.groovy | 2 +-
.../rest/render/DefaultRendererRegistrySpec.groovy | 11 +
.../web/rest/render/VndErrorRenderingSpec.groovy | 8 +
.../web/rest/render/hal/HalJsonRendererSpec.groovy | 10 +
.../web/rest/render/html/HtmlRendererSpec.groovy | 10 +
.../web/rest/render/json/JsonRendererSpec.groovy | 2 +
grails-scaffolding/build.gradle | 8 +-
.../scaffolding/ScaffoldingGrailsPlugin.groovy | 2 +-
grails-services/build.gradle | 6 +-
grails-shell-cli/build.gradle | 6 +-
.../grails/cli/profile/ProfileRepoConfig.groovy | 14 +-
.../cli/profile/commands/CreateAppCommand.groovy | 202 ++++-
.../profile/commands/CreateAppCommandSpec.groovy | 4 +-
.../profile/repository/MavenRepositorySpec.groovy | 8 +-
grails-spring/build.gradle | 6 +-
grails-test-core/build.gradle | 6 +-
grails-test-examples/app1/build.gradle | 7 +-
.../grails-app/assets/javascripts/application.js | 2 +-
.../grails-app/assets/stylesheets/application.css | 4 +-
.../functionaltests/BookController.groovy | 11 +-
.../functionaltests/DataBindingController.groovy | 16 +-
.../controllers/functionaltests/UrlMappings.groovy | 62 ++
.../async/AsyncTestController.groovy | 304 +++++++
.../binding/AdvancedDataBindingController.groovy | 306 +++++++
.../caching/CacheTestController.groovy | 131 +++
.../codecs/CodecTestController.groovy | 281 ++++++
.../commanddi/CommandDIController.groovy | 406 +++++++++
.../contentneg/ContentNegotiationController.groovy | 168 ++++
.../functionaltests/cors/CorsTestController.groovy | 113 +++
.../ErrorHandlingTestController.groovy | 215 +++++
.../fileupload/FileUploadTestController.groovy | 241 +++++
.../functionaltests/flow/FlowController.groovy | 245 +++++
.../flow/FlowTargetController.groovy | 38 +-
.../functionaltests/i18n/I18nTestController.groovy | 226 +++++
.../interceptors/ActionExcludeInterceptor.groovy | 31 +-
.../interceptors/AdvancedMatchingController.groovy | 107 +++
.../AttributeSettingInterceptor.groovy | 45 +-
.../interceptors/BlockingInterceptor.groovy | 44 +-
.../ConditionalMatchInterceptor.groovy | 52 ++
.../interceptors/FirstInterceptor.groovy | 37 +-
.../HttpMethodMatchingInterceptor.groovy | 29 +-
.../interceptors/InterceptorTestController.groovy | 172 ++++
.../interceptors/MultipleRulesInterceptor.groovy | 31 +-
.../NamespaceMatchingInterceptor.groovy | 29 +-
.../interceptors/SecondInterceptor.groovy | 37 +-
.../interceptors/SessionInterceptor.groovy | 33 +-
.../interceptors/ThirdInterceptor.groovy | 37 +-
.../interceptors/TimingInterceptor.groovy | 45 +-
.../RequestResponseTestController.groovy | 270 ++++++
.../springevents/SpringEventController.groovy | 148 +++
.../taglib/TagLibTestController.groovy | 326 +++++++
.../urlmappings/UrlMappingsTestController.groovy | 167 ++++
.../domain/functionaltests/binding/Address.groovy | 30 +-
.../functionaltests/binding/Contributor.groovy} | 22 +-
.../domain/functionaltests/binding/Employee.groovy | 64 +-
.../domain/functionaltests/binding/Project.groovy | 27 +-
.../domain/functionaltests/binding/Team.groovy} | 23 +-
.../functionaltests/binding/TeamMember.groovy | 27 +-
.../functionaltests/constraints/Appointment.groovy | 109 +++
.../functionaltests/constraints/PaymentInfo.groovy | 178 ++++
.../functionaltests/constraints/Product.groovy | 76 ++
.../constraints/Registration.groovy | 158 ++++
.../functionaltests/events/AuditedEntity.groovy | 108 +++
.../functionaltests/events/StatefulEntity.groovy | 81 ++
.../functionaltests/events/VetoableEntity.groovy | 67 ++
.../domain/functionaltests/gorm/Author.groovy | 66 +-
.../domain/functionaltests/gorm/GormBook.groovy | 70 ++
.../functionaltests/services/InventoryItem.groovy | 32 +-
.../app1/grails-app/i18n/messages.properties | 9 +
.../app1/grails-app/i18n/messages_de.properties | 9 +
.../app1/grails-app/i18n/messages_fr.properties | 9 +
.../caching/CacheTestService.groovy | 133 +++
.../commanddi/NotificationService.groovy | 88 ++
.../commanddi/PricingService.groovy | 77 ++
.../commanddi/ValidationHelperService.groovy | 80 ++
.../services/AsyncProcessingService.groovy | 122 +++
.../services/InventoryService.groovy | 204 +++++
.../functionaltests/services/OrderService.groovy | 118 +++
.../springevents/EventListenerService.groovy | 169 ++++
.../springevents/EventPublisherService.groovy | 78 ++
.../functionaltests/taglib/CustomTagLib.groovy | 341 +++++++
.../grails-app/views/contentNegotiation/error.gsp | 29 +
.../grails-app/views/contentNegotiation/index.gsp | 34 +
.../views/tagLibTest/_simpleTemplate.gsp | 19 +
.../grails-app/views/tagLibTest/testAlertTag.gsp | 20 +
.../grails-app/views/tagLibTest/testAppInfoTag.gsp | 20 +
.../grails-app/views/tagLibTest/testBadgeTag.gsp | 20 +
.../views/tagLibTest/testBuiltInCheckBox.gsp | 20 +
.../views/tagLibTest/testBuiltInCollect.gsp | 20 +
.../views/tagLibTest/testBuiltInCookie.gsp | 20 +
.../views/tagLibTest/testBuiltInCreateLink.gsp | 21 +
.../views/tagLibTest/testBuiltInEach.gsp | 21 +
.../views/tagLibTest/testBuiltInFieldValue.gsp | 20 +
.../views/tagLibTest/testBuiltInFindAll.gsp | 20 +
.../views/tagLibTest/testBuiltInForm.gsp | 23 +
.../views/tagLibTest/testBuiltInFormatDate.gsp | 21 +
.../views/tagLibTest/testBuiltInFormatNumber.gsp | 21 +
.../views/tagLibTest/testBuiltInHeader.gsp | 20 +
.../views/tagLibTest/testBuiltInHiddenField.gsp | 20 +
.../grails-app/views/tagLibTest/testBuiltInIf.gsp | 24 +
.../views/tagLibTest/testBuiltInInclude.gsp | 20 +
.../views/tagLibTest/testBuiltInJoin.gsp | 20 +
.../views/tagLibTest/testBuiltInLink.gsp | 22 +
.../views/tagLibTest/testBuiltInMessage.gsp | 20 +
.../views/tagLibTest/testBuiltInPaginate.gsp | 20 +
.../views/tagLibTest/testBuiltInPasswordField.gsp | 20 +
.../views/tagLibTest/testBuiltInRadio.gsp | 22 +
.../views/tagLibTest/testBuiltInRender.gsp | 20 +
.../views/tagLibTest/testBuiltInResource.gsp | 20 +
.../views/tagLibTest/testBuiltInSelect.gsp | 20 +
.../grails-app/views/tagLibTest/testBuiltInSet.gsp | 23 +
.../views/tagLibTest/testBuiltInSortableColumn.gsp | 26 +
.../views/tagLibTest/testBuiltInTextArea.gsp | 20 +
.../views/tagLibTest/testBuiltInTextField.gsp | 20 +
.../views/tagLibTest/testBuiltInUploadForm.gsp | 23 +
.../views/tagLibTest/testBuiltInWhile.gsp | 21 +
.../views/tagLibTest/testConditionalTags.gsp | 21 +
.../views/tagLibTest/testCssClassTag.gsp | 20 +
.../views/tagLibTest/testDefinitionListTag.gsp | 20 +
.../views/tagLibTest/testEncodingTags.gsp | 22 +
.../views/tagLibTest/testFormattedTag.gsp | 20 +
.../grails-app/views/tagLibTest/testHelloTag.gsp | 20 +
.../grails-app/views/tagLibTest/testIterateTag.gsp | 20 +
.../grails-app/views/tagLibTest/testJoinTag.gsp | 20 +
.../grails-app/views/tagLibTest/testListTag.gsp | 20 +
.../grails-app/views/tagLibTest/testNestedTags.gsp | 22 +
.../grails-app/views/tagLibTest/testPanelTag.gsp | 20 +
.../views/tagLibTest/testProgressTag.gsp | 20 +
.../grails-app/views/tagLibTest/testRawTag.gsp | 20 +
.../grails-app/views/tagLibTest/testRepeatTag.gsp | 20 +
.../views/tagLibTest/testRequestInfoTag.gsp | 20 +
.../views/tagLibTest/testSessionValueTag.gsp | 20 +
.../grails-app/views/tagLibTest/testSetVarTag.gsp | 20 +
.../views/tagLibTest/testTagsWithModel.gsp | 26 +
.../grails-app/views/tagLibTest/testWrapperTag.gsp | 20 +
.../groovy/functionaltests/DataBindingSpec.groovy} | 22 +-
.../functionaltests/async/AsyncPromiseSpec.groovy | 395 ++++++++
.../binding/AdvancedDataBindingSpec.groovy | 451 ++++++++++
.../functionaltests/caching/CachingSpec.groovy | 406 +++++++++
.../codecs/SecurityCodecsSpec.groovy | 423 +++++++++
.../commanddi/CommandObjectDISpec.groovy | 386 ++++++++
.../constraints/ConstraintValidationSpec.groovy | 996 +++++++++++++++++++++
.../contentneg/ContentNegotiationSpec.groovy | 411 +++++++++
.../functionaltests/cors/CorsAdvancedSpec.groovy | 301 +++++++
.../errorhandling/ErrorHandlingSpec.groovy | 217 +++++
.../functionaltests/events/DomainEventsSpec.groovy | 574 ++++++++++++
.../fileupload/FileUploadSpec.groovy | 395 ++++++++
.../flow/FlashChainForwardSpec.groovy | 338 +++++++
.../functionaltests/gorm/GormAdvancedSpec.groovy | 719 +++++++++++++++
.../i18n/InternationalizationSpec.groovy | 445 +++++++++
.../InterceptorAdvancedMatchingSpec.groovy | 275 ++++++
.../interceptors/InterceptorOrderingSpec.groovy | 315 +++++++
.../requestresponse/RequestResponseSpec.groovy | 386 ++++++++
.../services/ServiceIntegrationSpec.groovy | 379 ++++++++
.../springevents/SpringEventsSpec.groovy | 333 +++++++
.../functionaltests/taglib/TagLibSpec.groovy | 968 ++++++++++++++++++++
.../urlmappings/UrlMappingsSpec.groovy | 352 ++++++++
.../springevents/CustomApplicationEvent.groovy | 25 +-
.../springevents/PriorityEvent.groovy | 28 +-
.../springevents/UserActionEvent.groovy | 25 +-
.../functionaltests/BookControllerSpec.groovy | 10 +-
grails-test-examples/app2/build.gradle | 5 +-
.../grails-app/assets/javascripts/application.js | 2 +-
.../grails-app/assets/stylesheets/application.css | 4 +-
grails-test-examples/app3/build.gradle | 6 +-
.../async-events-pubsub-demo/build.gradle | 6 +-
.../services/pubsub/demo/TotalService.groovy | 12 +-
.../groovy/pubsub/demo/AsyncEventsSpec.groovy | 203 +++++
.../groovy/pubsub/demo/PubSubSpec.groovy | 37 +-
.../main/groovy/pubsub/demo/BookSubscriber.groovy | 16 +-
grails-test-examples/cache/build.gradle | 7 +-
.../com/demo/AdvancedCachingController.groovy | 123 +++
.../controllers/com/demo/UrlMappings.groovy | 54 ++
.../com/demo/AdvancedCachingService.groovy | 158 ++++
.../cache/grails-app/views/layouts/main.gsp | 6 +-
.../com/demo/AdvancedCachingIntegrationSpec.groovy | 323 +++++++
.../com/demo/AdvancedCachingServiceSpec.groovy | 316 +++++++
.../BasicCachingServiceNoCacheManagerSpec.groovy | 2 +
.../groovy/com/demo/BasicCachingServiceSpec.groovy | 2 +
grails-test-examples/datasources/build.gradle | 5 +-
.../CrossDatasourceTransactionSpec.groovy | 284 ++++++
.../functionaltests/DatasourceSwitchingSpec.groovy | 370 ++++++++
.../functionaltests/MultipleDataSourcesSpec.groovy | 13 +-
grails-test-examples/demo33/build.gradle | 5 +-
.../grails-app/assets/javascripts/application.js | 4 +-
.../grails-app/assets/stylesheets/application.css | 8 +-
.../grails-app/controllers/demo/UrlMappings.groovy | 2 +
.../demo33/grails-app/domain/demo/Person.groovy | 3 +-
.../groovy/demo/DependencyInjectionSpec.groovy | 2 +
.../src/test/groovy/demo/DataTestTraitSpec.groovy | 2 +
.../demo/GetDomainClassesToMockMethodSpec.groovy | 2 +
.../test/groovy/demo/PersonControllerSpec.groovy | 2 +
.../demo33/src/test/groovy/demo/PersonSpec.groovy | 2 +
grails-test-examples/exploded/build.gradle | 5 +-
.../external-configuration/build.gradle | 5 +-
.../test/app/ConfigurationPrioritySpec.groovy | 249 ++++++
.../test/app/EnvironmentConfigurationSpec.groovy | 223 +++++
grails-test-examples/geb-gebconfig/build.gradle | 8 +-
.../grails-app/assets/javascripts/application.js | 4 +-
.../grails-app/assets/stylesheets/application.css | 8 +-
.../grails-app/views/layouts/main.gsp | 6 +-
grails-test-examples/geb/build.gradle | 7 +-
.../grails-app/assets/javascripts/application.js | 4 +-
.../grails-app/assets/stylesheets/application.css | 8 +-
.../geb/grails-app/views/layouts/main.gsp | 6 +-
.../org/demo/spock/PerTestRecordingSpec.groovy | 48 +-
.../groovy/org/demo/spock/RootPageSpec.groovy | 2 +-
.../org/demo/spock/ServerNameControllerSpec.groovy | 2 +-
grails-test-examples/gorm/build.gradle | 11 +-
.../gorm/AuthorController.groovy} | 17 +-
.../gorm/BookController.groovy} | 17 +-
.../controllers/gorm}/UrlMappings.groovy | 6 +-
.../grails-app/domain/gorm/AuditedEntity.groovy | 148 +++
.../gorm/grails-app/domain/gorm/Author.groovy | 40 +-
.../gorm/grails-app/domain/gorm/Book.groovy | 33 +-
.../gorm}/grails-app/i18n/messages.properties | 0
.../services/gorm/BookDataService.groovy | 151 ++++
.../services/gorm/TransactionTestService.groovy | 187 ++++
.../gorm/grails-app/views/error.gsp | 48 +
.../gorm/grails-app/views/index.gsp | 32 +
.../gorm/grails-app/views/notFound.gsp | 28 +
.../groovy/gorm/BindingOutsideRequestSpec.groovy | 5 +
.../groovy/gorm/FieldsValidationSpec.groovy | 552 ++++++++++++
.../groovy/gorm/GormCascadeOperationsSpec.groovy | 357 ++++++++
.../groovy/gorm/GormCriteriaQueriesSpec.groovy | 614 +++++++++++++
.../groovy/gorm/GormDataServicesSpec.groovy | 338 +++++++
.../groovy/gorm/GormEventsSpec.groovy | 377 ++++++++
.../groovy/gorm/GormWhereQueryAdvancedSpec.groovy | 373 ++++++++
.../groovy/gorm/ScaffoldingFunctionalSpec.groovy | 293 ++++++
.../groovy/gorm/TransactionPropagationSpec.groovy | 268 ++++++
.../integration-test/groovy/gorm/UserSpec.groovy | 33 +-
.../groovy/gorm/ValidationConstraintsSpec.groovy | 496 ++++++++++
.../groovy/gorm/pages/AuthorPages.groovy | 75 ++
.../groovy/gorm/pages/BookPages.groovy | 79 ++
grails-test-examples/gsp-layout/build.gradle | 6 +-
.../grails-app/assets/javascripts/application.js | 4 +-
.../grails-app/assets/stylesheets/application.css | 8 +-
.../example/grails/layout/TagLibController.groovy | 95 ++
.../gsp-layout/grails-app/views/layouts/main.gsp | 6 +-
.../grails-app/views/tagLib/_partial.gsp | 21 +
.../grails-app/views/tagLib/collectTag.gsp | 29 +
.../grails-app/views/tagLib/createLinkTag.gsp | 30 +
.../gsp-layout/grails-app/views/tagLib/eachTag.gsp | 33 +
.../gsp-layout/grails-app/views/tagLib/elseTag.gsp | 33 +
.../grails-app/views/tagLib/encodeTags.gsp | 30 +
.../gsp-layout/grails-app/views/tagLib/formTag.gsp | 50 ++
.../grails-app/views/tagLib/formatTags.gsp | 30 +
.../gsp-layout/grails-app/views/tagLib/ifTag.gsp | 31 +
.../gsp-layout/grails-app/views/tagLib/index.gsp | 32 +
.../gsp-layout/grails-app/views/tagLib/joinTag.gsp | 30 +
.../gsp-layout/grails-app/views/tagLib/linkTag.gsp | 30 +
.../grails-app/views/tagLib/renderTag.gsp | 31 +
.../gsp-layout/grails-app/views/tagLib/setTag.gsp | 35 +
.../integration-test/groovy/GspTagLibSpec.groovy | 275 ++++++
grails-test-examples/gsp-sitemesh3/build.gradle | 6 +-
.../grails-app/assets/javascripts/application.js | 4 +-
.../grails-app/assets/stylesheets/application.css | 8 +-
.../grails-app/views/layouts/main.gsp | 6 +-
.../gsp-spring-boot/script/.sdkmanrc | 4 +-
.../hibernate5/grails-data-service/build.gradle | 3 +-
.../grails-database-per-tenant/build.gradle | 3 +-
.../grails-app/assets/javascripts/application.js | 2 +-
.../grails-app/assets/stylesheets/application.css | 4 +-
.../controllers/example/BookController.groovy | 8 +-
.../groovy/example/DatabasePerTenantSpec.groovy | 6 +-
.../grails-hibernate-groovy-proxy/build.gradle | 3 +-
.../hibernate5/grails-hibernate/build.gradle | 3 +-
.../grails-app/assets/javascripts/application.js | 2 +-
.../grails-app/assets/stylesheets/application.css | 4 +-
.../functional/tests/BookController.groovy | 8 +-
.../functional/tests/BookControllerUnitSpec.groovy | 10 +-
.../grails-multiple-datasources/build.gradle | 3 +-
.../grails-partitioned-multi-tenancy/build.gradle | 3 +-
.../grails-app/assets/javascripts/application.js | 2 +-
.../grails-app/assets/stylesheets/application.css | 4 +-
.../controllers/example/BookController.groovy | 8 +-
.../example/PartitionedMultiTenancySpec.groovy | 6 +-
.../grails-schema-per-tenant/build.gradle | 3 +-
.../grails-app/assets/javascripts/application.js | 2 +-
.../grails-app/assets/stylesheets/application.css | 4 +-
.../schemapertenant/BookController.groovy | 8 +-
.../schemapertenant/SchemaPerTenantSpec.groovy | 5 +-
.../hibernate5/issue450/build.gradle | 3 +-
.../grails-app/assets/javascripts/application.js | 4 +-
.../grails-app/assets/stylesheets/application.css | 8 +-
.../issue450/grails-app/views/layouts/main.gsp | 6 +-
.../hibernate5/spring-boot-hibernate/build.gradle | 3 +-
.../hibernate5/standalone-hibernate/build.gradle | 3 +-
grails-test-examples/hyphenated/build.gradle | 5 +-
.../grails-app/assets/javascripts/application.js | 2 +-
.../grails-app/assets/stylesheets/application.css | 4 +-
grails-test-examples/issue-11102/build.gradle | 5 +-
.../grails-app/assets/javascripts/application.js | 4 +-
.../grails-app/assets/stylesheets/application.css | 8 +-
grails-test-examples/issue-11767/build.gradle | 5 +-
.../{issue-11767 => issue-15228}/build.gradle | 25 +-
.../issue-15228/grails-app/conf/application.yml | 58 ++
.../issue-15228/grails-app/conf/logback.xml | 30 +-
.../issue15228/app/AppController.groovy | 29 +-
.../controllers/issue15228/app/UrlMappings.groovy} | 19 +-
.../init/issue15228/app/Application.groovy | 20 +-
.../grails-app/views/app/normalView.gson} | 12 +-
.../grails-app/views/errors/_errors.gson} | 30 +-
.../_otherValidateableObject.gson} | 12 +-
.../issue11767/app/GsonViewRespondSpec.groovy | 104 +++
.../issue15228/app/OtherValidateableObject.groovy} | 20 +-
.../issue15228/app/ValidateableObject.groovy} | 18 +-
.../issue-698-domain-save-npe/build.gradle | 5 +-
grails-test-examples/issue-views-182/build.gradle | 5 +-
grails-test-examples/micronaut/build.gradle | 5 +-
.../grails-app/assets/javascripts/application.js | 4 +-
.../grails-app/assets/stylesheets/application.css | 8 +-
.../micronaut/grails-app/views/layouts/main.gsp | 6 +-
.../groovy/micronaut/MicronautContextSpec.groovy | 92 ++
.../groovy/micronaut/MicronautQualifierSpec.groovy | 106 +++
grails-test-examples/mongodb/base/build.gradle | 5 +-
.../grails-app/assets/javascripts/application.js | 2 +-
.../grails-app/assets/stylesheets/application.css | 4 +-
.../functional/tests/BookController.groovy | 8 +-
.../mongodb/database-per-tenant/build.gradle | 5 +-
.../grails-app/assets/javascripts/application.js | 2 +-
.../grails-app/assets/stylesheets/application.css | 4 +-
.../examples/mongo/tenant/BookController.groovy | 8 +-
.../groovy/examples/mongo/tenant/BookSpec.groovy | 7 +-
.../mongodb/gson-templates/build.gradle | 5 +-
.../grails-app/assets/javascripts/application.js | 2 +-
.../grails-app/assets/stylesheets/application.css | 4 +-
.../mongodb/hibernate5/build.gradle | 5 +-
.../grails-app/assets/javascripts/application.js | 2 +-
.../grails-app/assets/stylesheets/application.css | 4 +-
.../functional/tests/AuthorController.groovy | 8 +-
.../functional/tests/BookController.groovy | 8 +-
.../mongodb/springboot/build.gradle | 5 +-
.../mongodb/test-data-service/build.gradle | 5 +-
grails-test-examples/namespaces/build.gradle | 5 +-
.../grails-app/assets/javascripts/application.js | 2 +-
.../grails-app/assets/stylesheets/application.css | 4 +-
grails-test-examples/plugins/exploded/build.gradle | 9 +-
.../groovy/exploded/PluginDependencySpec.groovy | 223 +++++
.../plugins/issue-11767/build.gradle | 5 +-
.../plugins/issue11005/build.gradle | 6 +-
.../plugins/loadafter/build.gradle | 6 +-
.../plugins/loadfirst/build.gradle | 9 +-
.../groovy/loadfirst/PluginLifecycleSpec.groovy | 236 +++++
.../plugins/loadsecond/build.gradle | 9 +-
.../groovy/loadsecond/PluginLoadOrderSpec.groovy | 222 +++++
.../build.gradle | 29 +-
.../grails-app/conf/application.yml | 106 +++
.../scaffoldingfields/DepartmentController.groovy | 20 +-
.../scaffoldingfields/EmployeeController.groovy | 20 +-
.../scaffoldingfields/ProjectController.groovy | 20 +-
.../scaffoldingfields}/UrlMappings.groovy | 6 +-
.../domain/scaffoldingfields/Address.groovy | 30 +-
.../domain/scaffoldingfields/Department.groovy | 28 +-
.../domain/scaffoldingfields/Employee.groovy | 129 +++
.../domain/scaffoldingfields/Project.groovy} | 37 +-
.../grails-app/i18n/messages.properties | 0
.../init/scaffoldingfields/Application.groovy | 21 +-
.../init/scaffoldingfields/BootStrap.groovy | 114 +++
.../grails-app/views/_fields/default/_wrapper.gsp | 38 +
.../views/_fields/employee/biography/_wrapper.gsp | 38 +
.../views/_fields/employee/email/_wrapper.gsp | 39 +
.../scaffoldingfields/CrudFunctionalSpec.groovy | 269 ++++++
.../scaffoldingfields/CustomTemplatesSpec.groovy | 171 ++++
.../groovy/scaffoldingfields/FieldTypesSpec.groovy | 250 ++++++
.../groovy/scaffoldingfields/PaginationSpec.groovy | 502 +++++++++++
.../RelationshipsFunctionalSpec.groovy | 534 +++++++++++
.../ValidationFunctionalSpec.groovy | 861 ++++++++++++++++++
.../scaffoldingfields/pages/DepartmentPages.groovy | 96 ++
.../scaffoldingfields/pages/EmployeePages.groovy | 139 +++
.../scaffoldingfields/pages/ProjectPages.groovy | 105 +++
.../pages/ScaffoldCreatePage.groovy | 147 +++
.../pages/ScaffoldEditPage.groovy | 159 ++++
.../pages/ScaffoldListPage.groovy | 112 +++
.../pages/ScaffoldShowPage.groovy | 106 +++
grails-test-examples/scaffolding/build.gradle | 3 +-
.../grails-app/assets/javascripts/application.js | 4 +-
.../grails-app/assets/stylesheets/application.css | 6 +-
.../scaffolding/grails-app/views/layouts/main.gsp | 4 +-
.../views-functional-tests-plugin/build.gradle | 5 +-
.../views-functional-tests/build.gradle | 6 +-
.../grails-app/assets/javascripts/application.js | 2 +-
.../grails-app/assets/stylesheets/application.css | 4 +-
.../groovy/functional/tests/BookSpec.groovy | 27 +-
grails-test-suite-base/build.gradle | 9 +-
grails-test-suite-persistence/build.gradle | 4 +-
grails-test-suite-uber/build.gradle | 9 +-
...GrailsCompileStaticCompilationErrorsSpec.groovy | 9 +
.../GrailsTypeCheckedCompilationErrorsSpec.groovy | 9 +
.../grails/persistence/EntityTransformTests.groovy | 9 +
.../groovy/grails/spring/BeanBuilderTests.groovy | 9 +
.../test/mixin/ControllerUnitTestMixinTests.groovy | 26 +
.../grails/test/mixin/RestfulControllerSpec.groovy | 11 +
.../rest/render/BaseDomainClassRendererSpec.groovy | 8 +
.../web/codecs/HTMLJSCodecIntegrationSpec.groovy | 5 +
.../DefaultGrailsApplicationAttributesTests.groovy | 6 +
.../web/servlet/FlashScopeWithErrorsTests.groovy | 5 +
.../grails/web/util/StreamCharBufferSpec.groovy | 5 +
.../org/grails/web/util/WebUtilsTests.groovy | 5 +
grails-test-suite-web/build.gradle | 6 +-
.../grails/rest/web/RespondMethodSpec.groovy | 20 +
.../org/grails/compiler/web/WithFormatSpec.groovy | 11 +
.../rest/render/xml/DefaultXmlRendererSpec.groovy | 8 +-
...ngHelperDomainClassSpecialPropertiesSpec.groovy | 9 +
.../web/binding/JSONBindingToNullSpec.groovy | 16 +
.../JsonBindingWithExceptionHandlerSpec.groovy | 24 +
.../commandobjects/CommandObjectNoDataSpec.groovy | 56 ++
.../CommandObjectNullabilitySpec.groovy | 26 +
.../web/commandobjects/CommandObjectsSpec.groovy | 58 ++
.../web/controllers/ContentNegotiationSpec.groovy | 16 +
.../web/converters/JSONConverterTests.groovy | 24 +
.../converters/JSONDateTimeMarshallingSpec.groovy | 149 +++
.../metaclass/CollectionBindDataMethodSpec.groovy | 11 +
.../web/mime/ContentFormatControllerTests.groovy | 10 +
.../web/mime/WithFormatContentTypeSpec.groovy | 16 +
grails-testing-support-core/build.gradle | 10 +-
.../grails/testing/spock/OnceBeforeSpec.groovy | 2 +
.../groovy/grails/testing/spock/RunOnceSpec.groovy | 2 +
grails-testing-support-datamapping/build.gradle | 6 +-
grails-testing-support-mongodb/build.gradle | 8 +-
grails-testing-support-views-gson/build.gradle | 6 +-
grails-testing-support-web/build.gradle | 8 +-
.../grails/testing/web/UrlMappingsUnitTest.groovy | 10 +
grails-url-mappings/build.gradle | 6 +-
grails-validation/build.gradle | 6 +-
.../CommandObjectConstraintGettersSpec.groovy | 40 +
.../DefaultASTValidateableHelperSpec.groovy | 9 +
.../validation/SerializableValidateableSpec.groovy | 24 +
.../grails/validation/ValidateableMockSpec.groovy | 24 +
.../validation/ValidateableTraitAdHocSpec.groovy | 33 +
.../grails/validation/ValidateableTraitSpec.groovy | 33 +
grails-views-core/build.gradle | 7 +-
.../views/mvc/renderer/DefaultViewRenderer.groovy | 2 +-
grails-views-gson/build.gradle | 9 +-
.../grails/plugin/json/builder/JsonGenerator.java | 2 +-
.../json/converters/InstantJsonConverter.groovy | 3 +-
.../converters/ZonedDateTimeJsonConverter.groovy | 2 +-
.../AbstractJsonViewContainerRenderer.groovy | 11 +-
.../view/JsonViewGeneratorConfiguration.groovy | 2 +-
.../plugin/json/view/JsonViewGrailsPlugin.groovy | 2 +-
.../plugin/json/view/DateTimeRenderingSpec.groovy | 230 +++++
.../grails/plugin/json/view/api/JsonApiSpec.groovy | 21 +
grails-views-markup/build.gradle | 9 +-
.../markup/view/MarkupViewGrailsPlugin.groovy | 2 +-
grails-web-boot/build.gradle | 6 +-
grails-web-common/build.gradle | 6 +-
grails-web-core/build.gradle | 6 +-
grails-web-databinding/build.gradle | 6 +-
grails-web-mvc/build.gradle | 6 +-
grails-web-url-mappings/build.gradle | 6 +-
.../grails/web/mapping/ResponseRedirector.groovy | 8 +-
.../mvc/UrlMappingsInfoHandlerAdapter.groovy | 2 +-
.../reporting/UrlMappingsReportCommand.groovy | 21 +-
.../resources/META-INF/services/grails.factories | 1 -
.../web/mapping/RedirectNonAbsoluteURISpec.groovy | 22 +
.../LinkGeneratorWithUrlMappingsSpec.groovy | 13 +
.../web/mapping/RestfulUrlMappingSpec.groovy | 6 +
.../mapping/UrlMappingsWithHttpMethodSpec.groovy | 6 +
.../web/mapping/mvc/EncodePathFromURISpec.groovy | 5 +
grails-wrapper/build.gradle | 12 +-
...pe.java => GrailsReleaseNotFoundException.java} | 29 +-
.../main/java/grails/init/GrailsReleaseType.java | 4 +-
.../src/main/java/grails/init/GrailsUpdater.java | 82 +-
.../src/main/java/grails/init/GrailsVersion.java | 26 +-
.../main/java/grails/init/GrailsWrapperHome.java | 31 +-
.../main/java/grails/init/GrailsWrapperRepo.java | 54 +-
.../main/java/grails/init/RootMetadataHandler.java | 2 +-
settings.gradle | 81 +-
1033 files changed, 42232 insertions(+), 5121 deletions(-)
create mode 100644 .agents/skills/grails-developer/SKILL.md
create mode 100644 .agents/skills/groovy-developer/SKILL.md
create mode 100644 .agents/skills/java-developer/SKILL.md
create mode 120000 .claude/skills/grails-developer/SKILL.md
create mode 120000 .claude/skills/groovy-developer/SKILL.md
create mode 120000 .claude/skills/java-developer/SKILL.md
create mode 120000 .clinerules
create mode 120000 .cursorrules
create mode 100644 .github/vote_templates/vote_succeeded.txt
create mode 100644 .github/workflows/release-close.yml
create mode 100644 .github/workflows/release-publish-docs.yml
create mode 100644 .mailmap
create mode 120000 .windsurfrules
create mode 100644 AGENTS.md
create mode 120000 CLAUDE.md
create mode 120000 GEMINI.md
rename {grails-gradle => build-logic}/docs-core/README.md (100%)
create mode 100644 build-logic/docs-core/build.gradle
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/DocEngine.groovy (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/DocPublisher.groovy (99%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/ant/DocPublisherTask.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/asciidoc/AsciiDocEngine.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/dropdown/CreateReleaseDropDownTask.groovy
(99%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/dropdown/Snapshot.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/dropdown/SoftwareVersion.groovy
(100%)
copy {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/filters/HeaderFilter.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/filters/LinkTestFilter.groovy
(100%)
copy {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/filters/ListFilter.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/git/FetchTagsTask.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/gradle/PublishGuideTask.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/internal/FileResourceChecker.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/internal/StringEscapeCategory.java
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/internal/UserGuideNode.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/internal/YamlTocStrategy.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/macros/GspTagSourceMacro.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/grails/doc/macros/HiddenMacro.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/org/apache/grails/gradle/tasks/bom/CoordinateHolder.groovy
(96%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/org/apache/grails/gradle/tasks/bom/CoordinateVersionHolder.groovy
(83%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/org/apache/grails/gradle/tasks/bom/ExtractDependenciesTask.groovy
(93%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/org/apache/grails/gradle/tasks/bom/ExtractedDependencyConstraint.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/groovy/org/apache/grails/gradle/tasks/bom/PropertyNameCalculator.groovy
(79%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/resources/grails/doc/doc.properties (91%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/resources/radeox_messages_en.properties (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/css/custom-pdf.css (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/css/custom.css (100%)
rename {grails-gradle => build-logic}/docs-core/src/main/template/css/main.css
(100%)
rename {grails-gradle => build-logic}/docs-core/src/main/template/css/menu.css
(100%)
rename {grails-gradle => build-logic}/docs-core/src/main/template/css/pdf.css
(100%)
rename {grails-gradle => build-logic}/docs-core/src/main/template/css/ref.css
(100%)
rename {grails-gradle => build-logic}/docs-core/src/main/template/css/skin.css
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/css/tools.css (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/fonts/FontAwesome.otf (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/fonts/fontawesome-webfont.eot (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/fonts/fontawesome-webfont.svg (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/fonts/fontawesome-webfont.ttf (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/fonts/fontawesome-webfont.woff (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/img/default/bullet.gif (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/img/default/linear-gradient-green.png
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/img/default/linear-gradient.png (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/img/default/separator-horizontal.gif
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/img/default/separator-menu.png (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/img/default/separator-vertical.gif
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/img/favicon.ico (100%)
rename {grails-forge/grails-forge-core/src/main/resources/assets/images =>
build-logic/docs-core/src/main/template/img}/grails-cupsonly-logo-white.svg
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/img/grails-icon.png (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/img/grails.png (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/img/grails.svg (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/img/groovy.png (100%)
rename {grails-gradle => build-logic}/docs-core/src/main/template/img/note.gif
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/img/warning.gif (100%)
rename {grails-gradle => build-logic}/docs-core/src/main/template/js/docs.js
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/log4j.properties (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/style/guideItem.html (75%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/style/index.html (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/style/layout.html (77%)
create mode 100644 build-logic/docs-core/src/main/template/style/menu.html
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/style/referenceItem.html (69%)
rename {grails-gradle =>
build-logic}/docs-core/src/main/template/style/section.html (100%)
rename {grails-gradle =>
build-logic}/docs-core/src/test/groovy/grails/doc/dropdown/SoftwareVersionSpec.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/test/groovy/grails/doc/internal/StringEscapeCategoryTests.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/test/groovy/grails/doc/internal/YamlTocStrategySpec.groovy
(100%)
rename {grails-gradle =>
build-logic}/docs-core/src/test/groovy/grails/doc/macros/GspTagSourceMacroTest.groovy
(100%)
rename build-logic/{ => plugins}/build.gradle (64%)
create mode 100644
build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/CompilePlugin.groovy
copy build-logic/{ =>
plugins}/src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy (58%)
rename
build-logic/{src/main/groovy/org/apache/grails/buildsrc/GradleUtils.groovy =>
plugins/src/main/groovy/org/apache/grails/buildsrc/GrailsCodeStyleExtension.groovy}
(50%)
create mode 100644
build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GrailsCodeStylePlugin.groovy
create mode 100644
build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GrailsRepoSettingsPlugin.groovy
create mode 100644
build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/PublishPlugin.groovy
rename build-logic/{ =>
plugins}/src/main/groovy/org/apache/grails/buildsrc/SbomPlugin.groovy (55%)
create mode 100644
build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/SharedPropertyPlugin.groovy
rename {etc/config =>
build-logic/plugins/src/main/resources/META-INF/org.apache.grails.buildsrc.codestyle}/checkstyle/checkstyle-suppressions.xml
(100%)
rename {etc/config =>
build-logic/plugins/src/main/resources/META-INF/org.apache.grails.buildsrc.codestyle}/checkstyle/checkstyle.xml
(100%)
rename {etc/config =>
build-logic/plugins/src/main/resources/META-INF/org.apache.grails.buildsrc.codestyle}/codenarc/codenarc.groovy
(100%)
delete mode 100644
build-logic/src/main/groovy/org/apache/grails/buildsrc/PublishPlugin.groovy
copy grails-test-examples/gorm/grails-app/domain/gorm/Book.groovy =>
buildSrc/settings.gradle (80%)
delete mode 100644 gradle/code-style-config.gradle
delete mode 100644 gradle/java-config.gradle
create mode 100644
grails-bootstrap/src/test/groovy/grails/config/SpringProfileExcludeSpec.groovy
copy
grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/{DateMarshaller.java
=> CalendarMarshaller.java} (74%)
copy
grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/{DateMarshaller.java
=> InstantMarshaller.java} (59%)
copy
grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/{DateMarshaller.java
=> LocalDateMarshaller.java} (59%)
copy
grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/{DateMarshaller.java
=> LocalDateTimeMarshaller.java} (59%)
copy
grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/{DateMarshaller.java
=> OffsetDateTimeMarshaller.java} (59%)
copy
grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/{EnumMarshaller.java
=> SimpleEnumMarshaller.java} (74%)
copy
grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/{DateMarshaller.java
=> ZonedDateTimeMarshaller.java} (59%)
copy
grails-converters/src/main/groovy/org/grails/web/converters/marshaller/xml/{EnumMarshaller.java
=> SimpleEnumMarshaller.java} (81%)
create mode 100644
grails-converters/src/test/groovy/org/grails/web/converters/marshaller/json/StaticPropertySpec.groovy
create mode 100644
grails-data-mongodb/boot-plugin/src/test/resources/docker-java.properties
create mode 100644
grails-data-mongodb/core/src/test/groovy/org/grails/datastore/gorm/mongo/BeforeUpdatePropertyPersistenceSpec.groovy
copy grails-test-examples/gorm/grails-app/domain/gorm/Book.groovy =>
grails-forge/buildSrc/settings.gradle (79%)
copy grails-forge/config/checkstyle/{suppressions.xml =>
checkstyle-suppressions.xml} (100%)
delete mode 100644 grails-forge/gradle/java-config.gradle
copy grails-test-examples/demo33/grails-app/domain/demo/Person.groovy =>
grails-forge/grails-forge-core/src/main/java/org/grails/forge/build/gradle/VersionType.java
(90%)
create mode 100644
grails-forge/grails-forge-core/src/main/java/org/grails/forge/io/OutputUtils.java
delete mode 100644
grails-forge/grails-forge-core/src/main/resources/assets/images/apple-touch-icon-retina.png
delete mode 100644
grails-forge/grails-forge-core/src/main/resources/assets/images/apple-touch-icon.png
create mode 100644
grails-forge/grails-forge-core/src/main/resources/assets/images/community.svg
create mode 100644
grails-forge/grails-forge-core/src/main/resources/assets/images/groovy.svg
create mode 100644
grails-forge/grails-forge-core/src/main/resources/assets/images/java.svg
delete mode 100644
grails-forge/grails-forge-core/src/main/resources/assets/images/slack.svg
create mode 100644
grails-forge/grails-forge-core/src/main/resources/assets/images/spring-boot.svg
create mode 100644
grails-forge/grails-forge-core/src/main/resources/assets/images/spring.svg
create mode 100644
grails-forge/grails-forge-core/src/main/resources/assets/javascripts/welcome.js
create mode 100644
grails-forge/grails-forge-core/src/main/resources/assets/stylesheets/welcome.css
create mode 100644 grails-geb/src/testFixtures/resources/docker-java.properties
copy grails-test-examples/gorm/grails-app/domain/gorm/Book.groovy =>
grails-gradle/buildSrc/settings.gradle (79%)
delete mode 100644 grails-gradle/docs-core/build.gradle
delete mode 100644
grails-gradle/docs-core/src/main/template/img/grails-cupsonly-logo-white.svg
delete mode 100644 grails-gradle/docs-core/src/main/template/style/menu.html
delete mode 100644 grails-gradle/gradle/code-style-config.gradle
delete mode 100644 grails-gradle/gradle/java-config.gradle
delete mode 100644
grails-profiles/web/skeleton/grails-app/assets/images/apple-touch-icon-retina.png
delete mode 100644
grails-profiles/web/skeleton/grails-app/assets/images/apple-touch-icon.png
create mode 100644
grails-profiles/web/skeleton/grails-app/assets/images/community.svg
delete mode 100644
grails-profiles/web/skeleton/grails-app/assets/images/grails-cupsonly-logo-white.svg
create mode 100644
grails-profiles/web/skeleton/grails-app/assets/images/groovy.svg
create mode 100644
grails-profiles/web/skeleton/grails-app/assets/images/java.svg
delete mode 100644
grails-profiles/web/skeleton/grails-app/assets/images/slack.svg
create mode 100644
grails-profiles/web/skeleton/grails-app/assets/images/spring-boot.svg
create mode 100644
grails-profiles/web/skeleton/grails-app/assets/images/spring.svg
create mode 100644
grails-profiles/web/skeleton/grails-app/assets/javascripts/welcome.js
create mode 100644
grails-profiles/web/skeleton/grails-app/assets/stylesheets/welcome.css
rename buildSrc/src/main/groovy/grails/doc/macros/HiddenMacro.groovy =>
grails-test-examples/app1/grails-app/controllers/functionaltests/DataBindingController.groovy
(72%)
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/async/AsyncTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/binding/AdvancedDataBindingController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/caching/CacheTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/codecs/CodecTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/commanddi/CommandDIController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/contentneg/ContentNegotiationController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/cors/CorsTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/errorhandling/ErrorHandlingTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/fileupload/FileUploadTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/flow/FlowController.groovy
rename
grails-gradle/docs-core/src/main/groovy/grails/doc/filters/HeaderFilter.groovy
=>
grails-test-examples/app1/grails-app/controllers/functionaltests/flow/FlowTargetController.groovy
(51%)
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/i18n/I18nTestController.groovy
copy
grails-datamapping-core/src/main/groovy/grails/gorm/time/PeriodConverter.groovy
=>
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/ActionExcludeInterceptor.groovy
(64%)
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/AdvancedMatchingController.groovy
copy
grails-datamapping-rx/src/main/groovy/org/grails/datastore/rx/collection/RxCollection.groovy
=>
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/AttributeSettingInterceptor.groovy
(53%)
copy
grails-datamapping-rx/src/main/groovy/org/grails/datastore/rx/collection/RxCollection.groovy
=>
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/BlockingInterceptor.groovy
(51%)
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/ConditionalMatchInterceptor.groovy
copy
grails-views-gson/src/main/groovy/grails/plugin/json/converters/InstantJsonConverter.groovy
=>
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/FirstInterceptor.groovy
(56%)
copy
grails-datamapping-core/src/main/groovy/grails/gorm/time/InstantConverter.groovy
=>
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/HttpMethodMatchingInterceptor.groovy
(67%)
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/InterceptorTestController.groovy
copy
grails-datamapping-core/src/main/groovy/grails/gorm/time/PeriodConverter.groovy
=>
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/MultipleRulesInterceptor.groovy
(62%)
copy
grails-datamapping-core/src/main/groovy/grails/gorm/time/InstantConverter.groovy
=>
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/NamespaceMatchingInterceptor.groovy
(68%)
copy
grails-views-gson/src/main/groovy/grails/plugin/json/converters/InstantJsonConverter.groovy
=>
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/SecondInterceptor.groovy
(55%)
copy
grails-datamapping-core/src/main/groovy/grails/gorm/time/LocalTimeConverter.groovy
=>
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/SessionInterceptor.groovy
(59%)
copy
grails-views-gson/src/main/groovy/grails/plugin/json/converters/InstantJsonConverter.groovy
=>
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/ThirdInterceptor.groovy
(56%)
copy
grails-datamapping-rx/src/main/groovy/org/grails/datastore/rx/collection/RxCollection.groovy
=>
grails-test-examples/app1/grails-app/controllers/functionaltests/interceptors/TimingInterceptor.groovy
(51%)
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/requestresponse/RequestResponseTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/springevents/SpringEventController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/taglib/TagLibTestController.groovy
create mode 100644
grails-test-examples/app1/grails-app/controllers/functionaltests/urlmappings/UrlMappingsTestController.groovy
copy
grails-datamapping-core/src/main/groovy/grails/gorm/time/PeriodConverter.groovy
=>
grails-test-examples/app1/grails-app/domain/functionaltests/binding/Address.groovy
(69%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/grails-app/domain/functionaltests/binding/Contributor.groovy} (76%)
copy
grails-validation/src/test/groovy/grails/validation/SerializableValidateableSpec.groovy
=>
grails-test-examples/app1/grails-app/domain/functionaltests/binding/Employee.groovy
(52%)
copy
grails-views-gson/src/main/groovy/grails/plugin/json/view/JsonViewGeneratorConfiguration.groovy
=>
grails-test-examples/app1/grails-app/domain/functionaltests/binding/Project.groovy
(72%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
app1/grails-app/domain/functionaltests/binding/Team.groovy} (77%)
copy
grails-views-gson/src/main/groovy/grails/plugin/json/view/JsonViewGeneratorConfiguration.groovy
=>
grails-test-examples/app1/grails-app/domain/functionaltests/binding/TeamMember.groovy
(73%)
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/constraints/Appointment.groovy
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/constraints/PaymentInfo.groovy
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/constraints/Product.groovy
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/constraints/Registration.groovy
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/events/AuditedEntity.groovy
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/events/StatefulEntity.groovy
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/events/VetoableEntity.groovy
copy
grails-datamapping-core-test/src/test/groovy/org/grails/datastore/gorm/schemaless/ImplementsDynamicAttributes.groovy
=>
grails-test-examples/app1/grails-app/domain/functionaltests/gorm/Author.groovy
(50%)
create mode 100644
grails-test-examples/app1/grails-app/domain/functionaltests/gorm/GormBook.groovy
copy
grails-datamapping-core/src/main/groovy/grails/gorm/time/InstantConverter.groovy
=>
grails-test-examples/app1/grails-app/domain/functionaltests/services/InventoryItem.groovy
(65%)
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/caching/CacheTestService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/commanddi/NotificationService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/commanddi/PricingService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/commanddi/ValidationHelperService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/services/AsyncProcessingService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/services/InventoryService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/services/OrderService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/springevents/EventListenerService.groovy
create mode 100644
grails-test-examples/app1/grails-app/services/functionaltests/springevents/EventPublisherService.groovy
create mode 100644
grails-test-examples/app1/grails-app/taglib/functionaltests/taglib/CustomTagLib.groovy
create mode 100644
grails-test-examples/app1/grails-app/views/contentNegotiation/error.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/contentNegotiation/index.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/_simpleTemplate.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testAlertTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testAppInfoTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBadgeTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInCheckBox.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInCollect.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInCookie.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInCreateLink.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInEach.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInFieldValue.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInFindAll.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInForm.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInFormatDate.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInFormatNumber.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInHeader.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInHiddenField.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInIf.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInInclude.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInJoin.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInLink.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInMessage.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInPaginate.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInPasswordField.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInRadio.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInRender.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInResource.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInSelect.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInSet.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInSortableColumn.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInTextArea.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInTextField.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInUploadForm.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testBuiltInWhile.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testConditionalTags.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testCssClassTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testDefinitionListTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testEncodingTags.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testFormattedTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testHelloTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testIterateTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testJoinTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testListTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testNestedTags.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testPanelTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testProgressTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testRawTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testRepeatTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testRequestInfoTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testSessionValueTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testSetVarTag.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testTagsWithModel.gsp
create mode 100644
grails-test-examples/app1/grails-app/views/tagLibTest/testWrapperTag.gsp
copy
grails-test-examples/{demo33/src/integration-test/groovy/demo/DependencyInjectionSpec.groovy
=> app1/src/integration-test/groovy/functionaltests/DataBindingSpec.groovy}
(71%)
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/async/AsyncPromiseSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/binding/AdvancedDataBindingSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/caching/CachingSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/codecs/SecurityCodecsSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/commanddi/CommandObjectDISpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/constraints/ConstraintValidationSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/contentneg/ContentNegotiationSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/cors/CorsAdvancedSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/errorhandling/ErrorHandlingSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/events/DomainEventsSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/fileupload/FileUploadSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/flow/FlashChainForwardSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/gorm/GormAdvancedSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/i18n/InternationalizationSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/interceptors/InterceptorAdvancedMatchingSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/interceptors/InterceptorOrderingSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/requestresponse/RequestResponseSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/services/ServiceIntegrationSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/springevents/SpringEventsSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/taglib/TagLibSpec.groovy
create mode 100644
grails-test-examples/app1/src/integration-test/groovy/functionaltests/urlmappings/UrlMappingsSpec.groovy
copy
grails-gradle/docs-core/src/main/groovy/grails/doc/filters/ListFilter.groovy =>
grails-test-examples/app1/src/main/groovy/functionaltests/springevents/CustomApplicationEvent.groovy
(63%)
copy
grails-datamapping-core/src/main/groovy/grails/gorm/time/PeriodConverter.groovy
=>
grails-test-examples/app1/src/main/groovy/functionaltests/springevents/PriorityEvent.groovy
(69%)
rename
grails-gradle/docs-core/src/main/groovy/grails/doc/filters/ListFilter.groovy =>
grails-test-examples/app1/src/main/groovy/functionaltests/springevents/UserActionEvent.groovy
(63%)
create mode 100644
grails-test-examples/async-events-pubsub-demo/src/integration-test/groovy/pubsub/demo/AsyncEventsSpec.groovy
create mode 100644
grails-test-examples/cache/grails-app/controllers/com/demo/AdvancedCachingController.groovy
create mode 100644
grails-test-examples/cache/grails-app/controllers/com/demo/UrlMappings.groovy
create mode 100644
grails-test-examples/cache/grails-app/services/com/demo/AdvancedCachingService.groovy
create mode 100644
grails-test-examples/cache/src/integration-test/groovy/com/demo/AdvancedCachingIntegrationSpec.groovy
create mode 100644
grails-test-examples/cache/src/test/groovy/com/demo/AdvancedCachingServiceSpec.groovy
create mode 100644
grails-test-examples/datasources/src/integration-test/groovy/functionaltests/CrossDatasourceTransactionSpec.groovy
create mode 100644
grails-test-examples/datasources/src/integration-test/groovy/functionaltests/DatasourceSwitchingSpec.groovy
create mode 100644
grails-test-examples/external-configuration/src/integration-test/groovy/test/app/ConfigurationPrioritySpec.groovy
create mode 100644
grails-test-examples/external-configuration/src/integration-test/groovy/test/app/EnvironmentConfigurationSpec.groovy
copy grails-test-examples/gorm/grails-app/{domain/gorm/Book.groovy =>
controllers/gorm/AuthorController.groovy} (83%)
copy grails-test-examples/gorm/grails-app/{domain/gorm/Book.groovy =>
controllers/gorm/BookController.groovy} (82%)
copy grails-test-examples/{demo33/grails-app/controllers/demo =>
gorm/grails-app/controllers/gorm}/UrlMappings.groovy (84%)
create mode 100644
grails-test-examples/gorm/grails-app/domain/gorm/AuditedEntity.groovy
copy
grails-views-gson/src/main/groovy/grails/plugin/json/converters/InstantJsonConverter.groovy
=> grails-test-examples/gorm/grails-app/domain/gorm/Author.groovy (57%)
copy {grails-data-graphql/examples/grails-docs-app =>
grails-test-examples/gorm}/grails-app/i18n/messages.properties (100%)
create mode 100644
grails-test-examples/gorm/grails-app/services/gorm/BookDataService.groovy
create mode 100644
grails-test-examples/gorm/grails-app/services/gorm/TransactionTestService.groovy
create mode 100644 grails-test-examples/gorm/grails-app/views/error.gsp
create mode 100644 grails-test-examples/gorm/grails-app/views/index.gsp
create mode 100644 grails-test-examples/gorm/grails-app/views/notFound.gsp
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/FieldsValidationSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/GormCascadeOperationsSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/GormCriteriaQueriesSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/GormDataServicesSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/GormEventsSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/GormWhereQueryAdvancedSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/ScaffoldingFunctionalSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/TransactionPropagationSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/ValidationConstraintsSpec.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/pages/AuthorPages.groovy
create mode 100644
grails-test-examples/gorm/src/integration-test/groovy/gorm/pages/BookPages.groovy
create mode 100644
grails-test-examples/gsp-layout/grails-app/controllers/org/example/grails/layout/TagLibController.groovy
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/_partial.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/collectTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/createLinkTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/eachTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/elseTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/encodeTags.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/formTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/formatTags.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/ifTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/index.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/joinTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/linkTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/renderTag.gsp
create mode 100644
grails-test-examples/gsp-layout/grails-app/views/tagLib/setTag.gsp
create mode 100644
grails-test-examples/gsp-layout/src/integration-test/groovy/GspTagLibSpec.groovy
copy grails-test-examples/{issue-11767 => issue-15228}/build.gradle (64%)
create mode 100644
grails-test-examples/issue-15228/grails-app/conf/application.yml
rename grails-forge/config/checkstyle/suppressions.xml =>
grails-test-examples/issue-15228/grails-app/conf/logback.xml (52%)
copy
grails-datamapping-core/src/test/groovy/grails/gorm/time/InstantConverterSpec.groovy
=>
grails-test-examples/issue-15228/grails-app/controllers/issue15228/app/AppController.groovy
(64%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
issue-15228/grails-app/controllers/issue15228/app/UrlMappings.groovy} (80%)
copy
grails-views-gson/src/main/groovy/grails/plugin/json/view/JsonViewGeneratorConfiguration.groovy
=>
grails-test-examples/issue-15228/grails-app/init/issue15228/app/Application.groovy
(77%)
copy grails-test-examples/{demo33/grails-app/domain/demo/Person.groovy =>
issue-15228/grails-app/views/app/normalView.gson} (84%)
copy
grails-test-examples/{demo33/grails-app/controllers/demo/UrlMappings.groovy =>
issue-15228/grails-app/views/errors/_errors.gson} (61%)
copy grails-test-examples/{demo33/grails-app/domain/demo/Person.groovy =>
issue-15228/grails-app/views/otherValidateableObject/_otherValidateableObject.gson}
(82%)
create mode 100644
grails-test-examples/issue-15228/src/integration-test/groovy/issue11767/app/GsonViewRespondSpec.groovy
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
issue-15228/src/main/groovy/issue15228/app/OtherValidateableObject.groovy} (81%)
copy grails-test-examples/{gorm/grails-app/domain/gorm/Book.groovy =>
issue-15228/src/main/groovy/issue15228/app/ValidateableObject.groovy} (82%)
create mode 100644
grails-test-examples/micronaut/src/integration-test/groovy/micronaut/MicronautContextSpec.groovy
create mode 100644
grails-test-examples/micronaut/src/integration-test/groovy/micronaut/MicronautQualifierSpec.groovy
create mode 100644
grails-test-examples/plugins/exploded/src/integration-test/groovy/exploded/PluginDependencySpec.groovy
create mode 100644
grails-test-examples/plugins/loadfirst/src/integration-test/groovy/loadfirst/PluginLifecycleSpec.groovy
create mode 100644
grails-test-examples/plugins/loadsecond/src/integration-test/groovy/loadsecond/PluginLoadOrderSpec.groovy
copy grails-test-examples/{namespaces => scaffolding-fields}/build.gradle (75%)
create mode 100644
grails-test-examples/scaffolding-fields/grails-app/conf/application.yml
copy
grails-views-gson/src/main/groovy/grails/plugin/json/view/JsonViewGeneratorConfiguration.groovy
=>
grails-test-examples/scaffolding-fields/grails-app/controllers/scaffoldingfields/DepartmentController.groovy
(72%)
copy
grails-views-gson/src/main/groovy/grails/plugin/json/view/JsonViewGeneratorConfiguration.groovy
=>
grails-test-examples/scaffolding-fields/grails-app/controllers/scaffoldingfields/EmployeeController.groovy
(72%)
copy
grails-views-gson/src/main/groovy/grails/plugin/json/view/JsonViewGeneratorConfiguration.groovy
=>
grails-test-examples/scaffolding-fields/grails-app/controllers/scaffoldingfields/ProjectController.groovy
(73%)
copy grails-test-examples/{demo33/grails-app/controllers/demo =>
scaffolding-fields/grails-app/controllers/scaffoldingfields}/UrlMappings.groovy
(84%)
copy
grails-datamapping-core/src/main/groovy/grails/gorm/time/PeriodConverter.groovy
=>
grails-test-examples/scaffolding-fields/grails-app/domain/scaffoldingfields/Address.groovy
(61%)
copy
grails-datamapping-core/src/main/groovy/grails/gorm/time/InstantConverter.groovy
=>
grails-test-examples/scaffolding-fields/grails-app/domain/scaffoldingfields/Department.groovy
(67%)
create mode 100644
grails-test-examples/scaffolding-fields/grails-app/domain/scaffoldingfields/Employee.groovy
copy
grails-test-examples/{demo33/grails-app/controllers/demo/UrlMappings.groovy =>
scaffolding-fields/grails-app/domain/scaffoldingfields/Project.groovy} (52%)
copy {grails-data-graphql/examples/grails-docs-app =>
grails-test-examples/scaffolding-fields}/grails-app/i18n/messages.properties
(100%)
copy
grails-views-gson/src/main/groovy/grails/plugin/json/view/JsonViewGeneratorConfiguration.groovy
=>
grails-test-examples/scaffolding-fields/grails-app/init/scaffoldingfields/Application.groovy
(77%)
create mode 100644
grails-test-examples/scaffolding-fields/grails-app/init/scaffoldingfields/BootStrap.groovy
create mode 100644
grails-test-examples/scaffolding-fields/grails-app/views/_fields/default/_wrapper.gsp
create mode 100644
grails-test-examples/scaffolding-fields/grails-app/views/_fields/employee/biography/_wrapper.gsp
create mode 100644
grails-test-examples/scaffolding-fields/grails-app/views/_fields/employee/email/_wrapper.gsp
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/CrudFunctionalSpec.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/CustomTemplatesSpec.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/FieldTypesSpec.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/PaginationSpec.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/RelationshipsFunctionalSpec.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/ValidationFunctionalSpec.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/pages/DepartmentPages.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/pages/EmployeePages.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/pages/ProjectPages.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/pages/ScaffoldCreatePage.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/pages/ScaffoldEditPage.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/pages/ScaffoldListPage.groovy
create mode 100644
grails-test-examples/scaffolding-fields/src/integration-test/groovy/scaffoldingfields/pages/ScaffoldShowPage.groovy
create mode 100644
grails-test-suite-web/src/test/groovy/org/grails/web/converters/JSONDateTimeMarshallingSpec.groovy
create mode 100644
grails-views-gson/src/test/groovy/grails/plugin/json/view/DateTimeRenderingSpec.groovy
delete mode 100644
grails-web-url-mappings/src/main/resources/META-INF/services/grails.factories
copy grails-wrapper/src/main/java/grails/init/{GrailsReleaseType.java =>
GrailsReleaseNotFoundException.java} (55%)