You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by ja...@apache.org on 2026/02/01 13:55:53 UTC
(grails-core) branch v7.0.7 created (now 01764cf338)
This is an automated email from the ASF dual-hosted git repository.
jamesfredley pushed a change to branch v7.0.7
in repository https://gitbox.apache.org/repos/asf/grails-core.git
at 01764cf338 Merge branch '7.0.x' into release-7.0.7-docs
This branch includes the following new commits:
new 801c628822 Merge branch '7.0.x' into release-7.0.7-docs
new eda4479a88 Maximize build space in publish-docs workflow
new 01764cf338 Merge branch '7.0.x' into release-7.0.7-docs
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
(grails-core) 01/03: Merge branch '7.0.x' into release-7.0.7-docs
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jamesfredley pushed a commit to branch v7.0.7
in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 801c62882203e8151cfdc5bac8c644d6467fefa9
Merge: 45b4680c96 771d483924
Author: James Fredley <ja...@users.noreply.github.com>
AuthorDate: Sat Jan 31 22:49:39 2026 -0500
Merge branch '7.0.x' into release-7.0.7-docs
.agents/skills/grails-developer/SKILL.md | 885 ++++++++++++++++++
.agents/skills/groovy-developer/SKILL.md | 521 +++++++++++
.agents/skills/java-developer/SKILL.md | 286 ++++++
.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/workflows/gradle.yml | 2 +-
.github/workflows/groovy-joint-workflow.yml | 2 +-
.github/workflows/publish-docs.yml | 67 ++
.github/workflows/release.yml | 2 +-
.windsurfrules | 1 +
AGENTS.md | 260 ++++++
CLAUDE.md | 1 +
GEMINI.md | 1 +
README.md | 2 +-
build-logic/settings.gradle | 2 +-
etc/bin/verify.sh | 46 +-
grails-data-graphql/settings.gradle | 2 +-
grails-data-neo4j/settings.gradle | 4 +-
grails-forge/settings.gradle | 2 +-
grails-gradle/settings.gradle | 2 +-
.../functionaltests/BookController.groovy | 11 +-
.../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 | 52 ++
.../functionaltests/i18n/I18nTestController.groovy | 226 +++++
.../interceptors/ActionExcludeInterceptor.groovy} | 25 +-
.../interceptors/AdvancedMatchingController.groovy | 107 +++
.../AttributeSettingInterceptor.groovy} | 44 +-
.../interceptors/BlockingInterceptor.groovy} | 47 +-
.../ConditionalMatchInterceptor.groovy | 52 ++
.../interceptors/FirstInterceptor.groovy} | 38 +-
.../HttpMethodMatchingInterceptor.groovy} | 23 +-
.../interceptors/InterceptorTestController.groovy | 172 ++++
.../interceptors/MultipleRulesInterceptor.groovy} | 25 +-
.../NamespaceMatchingInterceptor.groovy} | 23 +-
.../interceptors/SecondInterceptor.groovy} | 38 +-
.../interceptors/SessionInterceptor.groovy} | 27 +-
.../interceptors/ThirdInterceptor.groovy} | 38 +-
.../interceptors/TimingInterceptor.groovy} | 44 +-
.../RequestResponseTestController.groovy | 270 ++++++
.../springevents/SpringEventController.groovy | 148 +++
.../taglib/TagLibTestController.groovy | 326 +++++++
.../urlmappings/UrlMappingsTestController.groovy | 167 ++++
.../domain/functionaltests/binding/Address.groovy} | 26 +-
.../functionaltests/binding/Contributor.groovy} | 22 +-
.../functionaltests/binding/Employee.groovy} | 62 +-
.../domain/functionaltests/binding/Project.groovy} | 25 +-
.../domain/functionaltests/binding/Team.groovy} | 23 +-
.../functionaltests/binding/TeamMember.groovy} | 25 +-
.../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 | 62 ++
.../domain/functionaltests/gorm/GormBook.groovy | 70 ++
.../functionaltests/services/InventoryItem.groovy} | 28 +-
.../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 +
.../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} | 26 +-
.../springevents/PriorityEvent.groovy} | 24 +-
.../springevents/UserActionEvent.groovy} | 26 +-
.../functionaltests/BookControllerSpec.groovy | 10 +-
.../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 | 2 +
.../com/demo/AdvancedCachingController.groovy | 123 +++
.../controllers/com/demo/UrlMappings.groovy | 54 ++
.../com/demo/AdvancedCachingService.groovy | 158 ++++
.../com/demo/AdvancedCachingIntegrationSpec.groovy | 323 +++++++
.../com/demo/AdvancedCachingServiceSpec.groovy | 316 +++++++
.../CrossDatasourceTransactionSpec.groovy | 284 ++++++
.../functionaltests/DatasourceSwitchingSpec.groovy | 370 ++++++++
.../functionaltests/MultipleDataSourcesSpec.groovy | 13 +-
.../test/app/ConfigurationPrioritySpec.groovy | 249 ++++++
.../test/app/EnvironmentConfigurationSpec.groovy | 223 +++++
grails-test-examples/gorm/build.gradle | 5 +-
.../gorm/AuthorController.groovy} | 17 +-
.../gorm/BookController.groovy} | 17 +-
.../gorm/UrlMappings.groovy} | 18 +-
.../grails-app/domain/gorm/AuditedEntity.groovy | 148 +++
.../domain/gorm/Author.groovy} | 39 +-
.../gorm/grails-app/domain/gorm/Book.groovy | 33 +-
.../grails-app/i18n/messages.properties | 1 +
.../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/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 ++
.../example/grails/layout/TagLibController.groovy | 95 ++
.../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 ++++++
.../controllers/example/BookController.groovy | 8 +-
.../functional/tests/BookController.groovy | 8 +-
.../functional/tests/BookControllerUnitSpec.groovy | 10 +-
.../controllers/example/BookController.groovy | 8 +-
.../schemapertenant/BookController.groovy | 8 +-
.../groovy/micronaut/MicronautContextSpec.groovy | 92 ++
.../groovy/micronaut/MicronautQualifierSpec.groovy | 106 +++
.../functional/tests/BookController.groovy | 8 +-
.../examples/mongo/tenant/BookController.groovy | 8 +-
.../functional/tests/AuthorController.groovy | 8 +-
.../functional/tests/BookController.groovy | 8 +-
grails-test-examples/plugins/exploded/build.gradle | 3 +
.../groovy/exploded/PluginDependencySpec.groovy | 223 +++++
.../plugins/loadfirst/build.gradle | 3 +
.../groovy/loadfirst/PluginLifecycleSpec.groovy | 236 +++++
.../plugins/loadsecond/build.gradle | 3 +
.../groovy/loadsecond/PluginLoadOrderSpec.groovy | 222 +++++
.../{gorm => scaffolding-fields}/build.gradle | 33 +-
.../grails-app/conf/application.yml | 106 +++
.../scaffoldingfields/DepartmentController.groovy} | 20 +-
.../scaffoldingfields/EmployeeController.groovy} | 20 +-
.../scaffoldingfields/ProjectController.groovy} | 20 +-
.../scaffoldingfields/UrlMappings.groovy} | 20 +-
.../domain/scaffoldingfields/Address.groovy} | 26 +-
.../domain/scaffoldingfields/Department.groovy} | 22 +-
.../domain/scaffoldingfields/Employee.groovy | 129 +++
.../domain/scaffoldingfields/Project.groovy} | 47 +-
.../grails-app/i18n/messages.properties | 1 +
.../init/scaffoldingfields/Application.groovy} | 17 +-
.../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 +++
settings.gradle | 4 +-
266 files changed, 32071 insertions(+), 530 deletions(-)
(grails-core) 03/03: Merge branch '7.0.x' into release-7.0.7-docs
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jamesfredley pushed a commit to branch v7.0.7
in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 01764cf338bf7dd1f2b753ee1fea391ad4955129
Merge: eda4479a88 0047ba6337
Author: James Fredley <ja...@users.noreply.github.com>
AuthorDate: Sun Feb 1 08:50:40 2026 -0500
Merge branch '7.0.x' into release-7.0.7-docs
.github/workflows/gradle.yml | 22 ++---
.github/workflows/release-close.yml | 96 ++++++++++++++++++++++
.../{publish-docs.yml => release-publish-docs.yml} | 2 +-
.github/workflows/release.yml | 20 +++--
4 files changed, 120 insertions(+), 20 deletions(-)
(grails-core) 02/03: Maximize build space in publish-docs workflow
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jamesfredley pushed a commit to branch v7.0.7
in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit eda4479a886dcbca176bfabbe9baf267b7c8a890
Author: James Fredley <ja...@users.noreply.github.com>
AuthorDate: Sat Jan 31 22:53:42 2026 -0500
Maximize build space in publish-docs workflow
Add a step to the publish-docs GitHub Actions job that frees disk space by removing several unused system tool directories (/usr/share/dotnet, /usr/local/lib/android, /opt/ghc, /opt/hostedtoolcache/CodeQL) and prints disk usage. This runs before storing the release version and checking out the repo to ensure sufficient space for building and publishing documentation.
---
.github/workflows/publish-docs.yml | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml
index a6324939bd..0b2452cb95 100644
--- a/.github/workflows/publish-docs.yml
+++ b/.github/workflows/publish-docs.yml
@@ -34,6 +34,18 @@ jobs:
name: "Publish Documentation"
runs-on: ubuntu-24.04
steps:
+ - name: "⚙️ Maximize build space"
+ run: |
+ echo "-- Dotnet"
+ sudo rm -rf /usr/share/dotnet
+ echo "-- Android"
+ sudo rm -rf /usr/local/lib/android
+ echo "-- Haskell"
+ sudo rm -rf /opt/ghc
+ echo "-- CodeQL"
+ sudo rm -rf /opt/hostedtoolcache/CodeQL
+
+ df -h
- name: "📝 Store release version"
run: echo "VERSION=${VERSION}" >> "$GITHUB_ENV"
- name: "📥 Checkout repository"