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/05/01 11:33:13 UTC
(grails-static-website) 01/01: Merge pull request #453 from apache/phase-10-bulk-migration-batch-1
This is an automated email from the ASF dual-hosted git repository.
jamesfredley pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/grails-static-website.git
commit cfb355f0ac205398756dae3f468cdbfe0649e047
Merge: c76a517c41d b8ef6e9dca0
Author: James Fredley <ja...@users.noreply.github.com>
AuthorDate: Fri May 1 06:33:08 2026 -0500
Merge pull request #453 from apache/phase-10-bulk-migration-batch-1
Phase 10 batch-1+2: 27 fixtures + 2 plugin bug fixes (refs #354)
.../website/gradle/RenderGuidesPlugin.groovy | 93 ++++-----
.../website/gradle/tasks/VendorGuideTask.groovy | 57 ++++--
conf/guides.yml | 129 +++++++++++++
.../v4/guide/gettingStarted.adoc | 3 +
.../v4/guide/helpWithGrails.adoc | 1 +
guides/database-per-tenant/v4/guide/howto.adoc | 1 +
.../v4/guide/integrationTest.adoc | 33 ++++
.../database-per-tenant/v4/guide/requirements.adoc | 1 +
.../v4/guide/runningTheApp.adoc | 9 +
.../v4/guide/setupMultitenancy.adoc | 4 +
.../v4/guide/testingTheApp.adoc | 73 +++++++
guides/database-per-tenant/v4/guide/training.adoc | 1 +
.../v4/guide/writingTheApp.adoc | 7 +
.../v4/guide/writingTheApp/domainClasses.adoc | 29 +++
.../v4/guide/writingTheApp/multiTenantLogic.adoc | 38 ++++
.../multiTenantLogic/readingData.adoc | 59 ++++++
.../multiTenantLogic/writingData.adoc | 37 ++++
.../v4/guide/writingTheApp/seedData.adoc | 13 ++
.../setupMultitenancy/dataSources.adoc | 12 ++
.../setupMultitenancy/multiTenancyMode.adoc | 20 ++
.../setupMultitenancy/multiTenancyResolver.adoc | 29 +++
.../v4/guide/writingTheApp/tenantSelection.adoc | 68 +++++++
guides/database-per-tenant/v4/manifest.yml | 18 ++
.../database-per-tenant/v4/snippets/MANIFEST.yml | 41 ++++
.../v4/snippets/gradle.properties | 3 +
.../v4/snippets/grails-app/conf/application.yml | 121 ++++++++++++
.../example/ManufacturerController.groovy | 42 ++++
.../controllers/example/UrlMappings.groovy | 27 +++
.../controllers/example/VehicleController.groovy | 89 +++++++++
.../grails-app/domain/example/Engine.groovy | 11 ++
.../grails-app/domain/example/Manufacturer.groovy | 9 +
.../grails-app/domain/example/Vehicle.groovy | 14 ++
.../grails-app/init/example/Application.groovy | 25 +++
.../services/example/VehicleService.groovy | 50 +++++
.../v4/snippets/grails-app/views/index.gsp | 80 ++++++++
.../groovy/example/ManufacturersPage.groovy | 21 ++
.../groovy/example/NewVehiclePage.groovy | 20 ++
.../groovy/example/ShowVehiclePage.groovy | 16 ++
.../groovy/example/TenantSelectionFuncSpec.groovy | 93 +++++++++
.../groovy/example/VehiclesPage.groovy | 21 ++
.../groovy/example/VehicleControllerSpec.groovy | 146 ++++++++++++++
guides/database-per-tenant/v4/toc.yml | 26 +++
.../grails-codenarc/v4/guide/addingCodenarc.adoc | 144 ++++++++++++++
guides/grails-codenarc/v4/guide/checkingRule.adoc | 28 +++
guides/grails-codenarc/v4/guide/customRule.adoc | 77 ++++++++
.../v4/guide/finalConfiguration.adoc | 25 +++
.../grails-codenarc/v4/guide/gettingStarted.adoc | 7 +
.../grails-codenarc/v4/guide/helpWithGrails.adoc | 1 +
guides/grails-codenarc/v4/guide/howto.adoc | 1 +
guides/grails-codenarc/v4/guide/multiproject.adoc | 6 +
guides/grails-codenarc/v4/guide/requirements.adoc | 1 +
guides/grails-codenarc/v4/guide/ruleTypes.adoc | 11 ++
guides/grails-codenarc/v4/guide/training.adoc | 1 +
.../v4/guide/writingCustomRule.adoc | 12 ++
guides/grails-codenarc/v4/guide/writingTheApp.adoc | 1 +
guides/grails-codenarc/v4/manifest.yml | 18 ++
guides/grails-codenarc/v4/snippets/MANIFEST.yml | 25 +++
.../grails-codenarc/v4/snippets/app/build.gradle | 84 ++++++++
.../grails-app/controllers/demo/UrlMappings.groovy | 20 ++
.../grails-app/services/demo/DemoService.groovy | 11 ++
.../v4/snippets/codenarc-rule/build.gradle | 12 ++
.../rule/grails/GrailsTransactionalRule.groovy | 49 +++++
.../main/resources/codenarc-messages.properties | 2 +
.../src/main/resources/rulesets/grails-extra.xml | 7 +
.../rule/grails/GrailsTransactionalRuleTest.groovy | 131 +++++++++++++
.../v4/snippets/gradle/codenarc.gradle | 18 ++
guides/grails-codenarc/v4/toc.yml | 18 ++
.../v4/guide/docker.adoc | 13 ++
.../v4/guide/domainClass.adoc | 8 +
.../v4/guide/gettingStarted.adoc | 9 +
.../v4/guide/gradle.adoc | 15 ++
.../v4/guide/gradleDockerTasks.adoc | 24 +++
.../v4/guide/helpWithGrails.adoc | 1 +
.../v4/guide/howto.adoc | 1 +
.../v4/guide/postgresql.adoc | 15 ++
.../v4/guide/running.adoc | 24 +++
.../v4/guide/training.adoc | 1 +
.../v4/guide/usingOnlyDocker.adoc | 79 ++++++++
.../v4/guide/writing.adoc | 0
.../v4/manifest.yml | 18 ++
.../v4/snippets/MANIFEST.yml | 15 ++
.../v4/snippets/build.gradle | 188 ++++++++++++++++++
.../v4/snippets/grails-app/conf/application.yml | 139 +++++++++++++
.../v4/snippets/grails-app/domain/demo/Book.groovy | 8 +
.../v4/snippets/src/main/docker/setup.sh | 21 ++
guides/grails-docker-external-services/v4/toc.yml | 18 ++
.../grails-elasticbeanstalk/v4/guide/deploy.adoc | 56 ++++++
.../v4/guide/gettingStarted.adoc | 6 +
.../v4/guide/nextSteps.adoc | 3 +
.../v4/guide/requirements.adoc | 3 +
.../grails-elasticbeanstalk/v4/guide/solution.adoc | 1 +
.../v4/guide/writingTheApp.adoc | 45 +++++
guides/grails-elasticbeanstalk/v4/manifest.yml | 18 ++
.../v4/snippets/MANIFEST.yml | 13 ++
.../v4/snippets/build.gradle | 94 +++++++++
.../v4/snippets/grails-app/conf/application.yml | 129 +++++++++++++
.../groovy/example/grails/HealthSpec.groovy | 33 ++++
guides/grails-elasticbeanstalk/v4/toc.yml | 9 +
.../grails-elasticsearch/v4/guide/bootstrap.adoc | 7 +
.../grails-elasticsearch/v4/guide/controller.adoc | 17 ++
guides/grails-elasticsearch/v4/guide/docker.adoc | 58 ++++++
guides/grails-elasticsearch/v4/guide/domain.adoc | 11 ++
.../grails-elasticsearch/v4/guide/esfeatures.adoc | 7 +
.../v4/guide/functionalTest.adoc | 19 ++
.../v4/guide/gettingStarted.adoc | 5 +
.../v4/guide/gormDataService.adoc | 7 +
.../v4/guide/helpWithGrails.adoc | 1 +
guides/grails-elasticsearch/v4/guide/howto.adoc | 1 +
guides/grails-elasticsearch/v4/guide/install.adoc | 30 +++
guides/grails-elasticsearch/v4/guide/jsonview.adoc | 7 +
.../grails-elasticsearch/v4/guide/logchanges.adoc | 7 +
.../v4/guide/modifyUrlMappings.adoc | 15 ++
.../v4/guide/requirements.adoc | 6 +
.../grails-elasticsearch/v4/guide/searchable.adoc | 44 +++++
guides/grails-elasticsearch/v4/guide/service.adoc | 21 ++
guides/grails-elasticsearch/v4/guide/summary.adoc | 5 +
guides/grails-elasticsearch/v4/guide/training.adoc | 1 +
guides/grails-elasticsearch/v4/guide/writing.adoc | 0
guides/grails-elasticsearch/v4/manifest.yml | 16 ++
.../grails-elasticsearch/v4/snippets/MANIFEST.yml | 37 ++++
.../grails-elasticsearch/v4/snippets/build.gradle | 90 +++++++++
.../v4/snippets/grails-app/conf/application.yml | 123 ++++++++++++
.../v4/snippets/grails-app/conf/logback.groovy | 39 ++++
.../controllers/demo/BookController.groovy | 26 +++
.../grails-app/controllers/demo/UrlMappings.groovy | 22 +++
.../v4/snippets/grails-app/domain/demo/Book.groovy | 31 +++
.../snippets/grails-app/init/demo/BootStrap.groovy | 99 ++++++++++
.../services/demo/BookDataService.groovy | 11 ++
.../services/demo/BookSearchService.groovy | 13 ++
.../v4/snippets/grails-app/views/book/search.gson | 11 ++
.../demo/BookControllerFunctionalSpec.groovy | 24 +++
.../integration-test/groovy/demo/RestSpec.groovy | 15 ++
.../src/test/groovy/demo/BookControllerSpec.groovy | 32 +++
.../test/groovy/demo/BookSearchServiceSpec.groovy | 19 ++
.../src/test/groovy/demo/UrlMappingsSpec.groovy | 18 ++
guides/grails-elasticsearch/v4/toc.yml | 25 +++
.../guide/applicationDeploymentConfiguration.adoc | 1 +
.../grails-google-cloud/v4/guide/cleaningUp.adoc | 69 +++++++
guides/grails-google-cloud/v4/guide/cloudSDK.adoc | 15 ++
guides/grails-google-cloud/v4/guide/cloudSQL.adoc | 18 ++
.../grails-google-cloud/v4/guide/cloudStorage.adoc | 98 ++++++++++
guides/grails-google-cloud/v4/guide/costs.adoc | 2 +
.../v4/guide/createCloudSQLInstance.adoc | 24 +++
.../v4/guide/datasourceUsingCloudSQL.adoc | 39 ++++
.../v4/guide/deployingTheApp.adoc | 11 ++
.../grails-google-cloud/v4/guide/domainClass.adoc | 10 +
.../v4/guide/gettingStarted.adoc | 4 +
.../v4/guide/googleAppEngine.adoc | 12 ++
.../v4/guide/googleAppEngineGradlePlugin.adoc | 18 ++
.../v4/guide/helpWithGrails.adoc | 1 +
.../v4/guide/howToComplete.adoc | 40 ++++
guides/grails-google-cloud/v4/guide/learnMore.adoc | 11 ++
guides/grails-google-cloud/v4/guide/logging.adoc | 29 +++
guides/grails-google-cloud/v4/guide/seedData.adoc | 9 +
.../v4/guide/springBootJetty.adoc | 29 +++
guides/grails-google-cloud/v4/guide/training.adoc | 1 +
.../grails-google-cloud/v4/guide/urlMappings.adoc | 22 +++
.../v4/guide/whatYouWillNeed.adoc | 5 +
.../v4/guide/writingTheApp.adoc | 0
guides/grails-google-cloud/v4/manifest.yml | 20 ++
.../grails-google-cloud/v4/snippets/MANIFEST.yml | 31 +++
.../grails-google-cloud/v4/snippets/build.gradle | 92 +++++++++
.../v4/snippets/grails-app/conf/application.yml | 145 ++++++++++++++
.../controllers/demo/BookController.groovy | 214 +++++++++++++++++++++
.../controllers/demo/FeaturedImageCommand.groovy | 27 +++
.../controllers/demo/LegalController.groovy | 13 ++
.../v4/snippets/grails-app/domain/demo/Book.groovy | 16 ++
.../snippets/grails-app/init/demo/BootStrap.groovy | 19 ++
.../services/demo/BookGormService.groovy | 57 ++++++
.../services/demo/GoogleCloudStorageService.groovy | 56 ++++++
.../demo/UploadBookFeaturedImageService.groovy | 33 ++++
.../grails-app/views/book/editFeaturedImage.gsp | 39 ++++
.../v4/snippets/src/main/appengine/app.yaml | 16 ++
guides/grails-google-cloud/v4/toc.yml | 38 ++++
.../grails-javamelody/v4/guide/gettingStarted.adoc | 4 +
.../grails-javamelody/v4/guide/helpWithGrails.adoc | 1 +
guides/grails-javamelody/v4/guide/howto.adoc | 24 +++
guides/grails-javamelody/v4/guide/melody.adoc | 100 ++++++++++
guides/grails-javamelody/v4/guide/nextSteps.adoc | 3 +
.../v4/guide/originalAppGrails.adoc | 61 ++++++
.../grails-javamelody/v4/guide/requirements.adoc | 1 +
.../grails-javamelody/v4/guide/runningTheApp.adoc | 3 +
guides/grails-javamelody/v4/guide/training.adoc | 1 +
guides/grails-javamelody/v4/manifest.yml | 16 ++
guides/grails-javamelody/v4/snippets/MANIFEST.yml | 23 +++
guides/grails-javamelody/v4/snippets/build.gradle | 97 ++++++++++
.../v4/snippets/grails-app/conf/application.yml | 133 +++++++++++++
.../controllers/demo/BookController.groovy | 20 ++
.../grails-app/controllers/demo/UrlMappings.groovy | 16 ++
.../v4/snippets/grails-app/domain/demo/Book.groovy | 15 ++
.../snippets/grails-app/init/demo/BootStrap.groovy | 115 +++++++++++
.../services/demo/BookDataService.groovy | 31 +++
.../snippets/src/main/groovy/demo/BookImage.groovy | 9 +
guides/grails-javamelody/v4/toc.yml | 14 ++
.../v5/guide/declarativeClient.adoc | 39 ++++
.../v5/guide/gettingStarted.adoc | 3 +
.../v5/guide/helpWithGrails.adoc | 1 +
guides/grails-micronaut-http/v5/guide/howto.adoc | 1 +
.../v5/guide/lowLevelClient.adoc | 48 +++++
.../v5/guide/micronautHttpClient.adoc | 14 ++
.../v5/guide/requirements.adoc | 1 +
.../v5/guide/runningTheApp.adoc | 1 +
guides/grails-micronaut-http/v5/guide/test.adoc | 43 +++++
.../grails-micronaut-http/v5/guide/training.adoc | 1 +
.../v5/guide/writingTheApp.adoc | 12 ++
guides/grails-micronaut-http/v5/manifest.yml | 20 ++
.../grails-micronaut-http/v5/snippets/MANIFEST.yml | 29 +++
.../grails-micronaut-http/v5/snippets/build.gradle | 81 ++++++++
.../v5/snippets/grails-app/conf/application.yml | 124 ++++++++++++
.../example/grails/SearchController.groovy | 25 +++
.../domain/example/grails/RecordLabel.groovy | 8 +
.../init/example/grails/BootStrap.groovy | 16 ++
.../example/grails/ItunesSearchService.groovy | 46 +++++
.../example/grails/RecordLabelService.groovy | 8 +
.../grails/RecordLabelControllerSpec.groovy | 49 +++++
.../src/main/groovy/example/grails/Album.groovy | 10 +
.../main/groovy/example/grails/ItunesClient.groovy | 11 ++
.../main/groovy/example/grails/SearchResult.groovy | 9 +
guides/grails-micronaut-http/v5/toc.yml | 18 ++
.../v4/guide/buildingAnalytics.adoc | 69 +++++++
.../v4/guide/gettingStarted.adoc | 1 +
.../v4/guide/helpWithGrails.adoc | 1 +
guides/grails-micronaut-kafka/v4/guide/howto.adoc | 23 +++
.../v4/guide/kakfaDocker.adoc | 19 ++
.../grails-micronaut-kafka/v4/guide/nextSteps.adoc | 2 +
.../v4/guide/originalAppGrails.adoc | 88 +++++++++
.../v4/guide/requirements.adoc | 1 +
.../grails-micronaut-kafka/v4/guide/running.adoc | 41 ++++
.../v4/guide/runningTheApp.adoc | 4 +
.../grails-micronaut-kafka/v4/guide/training.adoc | 1 +
guides/grails-micronaut-kafka/v4/manifest.yml | 16 ++
.../v4/snippets/MANIFEST.yml | 43 +++++
.../v4/snippets/build.gradle | 99 ++++++++++
.../grails-app/conf/application.yml | 126 ++++++++++++
.../example/grails/AnalyticsController.groovy | 12 ++
.../domain/example/grails/BookAnalytics.groovy | 11 ++
.../example/grails/BookAnalyticsGormService.groovy | 20 ++
.../grails-app/views/analytics/_bookAnalytics.gson | 8 +
.../grails-app/views/analytics/index.gson | 5 +
.../groovy/example/grails/AnalyticsListener.groovy | 34 ++++
.../v4/snippets/docker/docker-compose.yml | 21 ++
.../v4/snippets/grails-app/conf/application.yml | 121 ++++++++++++
.../example/grails/BooksController.groovy | 32 +++
.../controllers/example/grails/UrlMappings.groovy | 23 +++
.../grails-app/domain/example/grails/Book.groovy | 11 ++
.../init/example/grails/BootStrap.groovy | 21 ++
.../services/example/grails/BookGormService.groovy | 12 ++
.../v4/snippets/grails-app/views/books/_book.gson | 9 +
.../v4/snippets/grails-app/views/books/index.gson | 5 +
.../groovy/example/grails/AnalyticsClient.groovy | 11 ++
guides/grails-micronaut-kafka/v4/toc.yml | 19 ++
.../grails-multi-project-build/v4/guide/code.adoc | 38 ++++
.../v4/guide/createprojects.adoc | 104 ++++++++++
.../v4/guide/dependencies.adoc | 37 ++++
.../v4/guide/featuresgradlefiles.adoc | 21 ++
.../v4/guide/gettingStarted.adoc | 2 +
.../v4/guide/helpWithGrails.adoc | 1 +
.../grails-multi-project-build/v4/guide/howto.adoc | 1 +
.../v4/guide/openide.adoc | 6 +
.../v4/guide/overview.adoc | 4 +
.../v4/guide/requirements.adoc | 1 +
.../v4/guide/rootgradle.adoc | 30 +++
.../v4/guide/runningTheApp.adoc | 13 ++
.../v4/guide/training.adoc | 1 +
.../v4/guide/writingTheApp.adoc | 5 +
guides/grails-multi-project-build/v4/manifest.yml | 18 ++
.../v4/snippets/MANIFEST.yml | 27 +++
.../v4/snippets/app/build.gradle | 25 +++
.../controllers/app/PersonController.groovy | 13 ++
.../groovy/app/PersonControllerSpec.groovy | 32 +++
.../v4/snippets/build.gradle | 142 ++++++++++++++
.../v4/snippets/gradle/geb.gradle | 12 ++
.../v4/snippets/groovylib/build.gradle | 11 ++
.../groovylib/src/main/groovy/demo/OCI.groovy | 15 ++
.../v4/snippets/plugin/build.gradle | 12 ++
.../services/demo/RandomPersonService.groovy | 14 ++
.../v4/snippets/settings.gradle | 3 +
guides/grails-multi-project-build/v4/toc.yml | 19 ++
guides/grails-oauth-google/v4/guide/appConfig.adoc | 6 +
.../v4/guide/authController.adoc | 28 +++
.../v4/guide/buildingTheApp.adoc | 2 +
.../v4/guide/configureGoogleOAuth.adoc | 66 +++++++
.../grails-oauth-google/v4/guide/controllers.adoc | 20 ++
guides/grails-oauth-google/v4/guide/data.adoc | 10 +
.../grails-oauth-google/v4/guide/dependencies.adoc | 7 +
guides/grails-oauth-google/v4/guide/domain.adoc | 14 ++
.../v4/guide/gettingStarted.adoc | 4 +
.../v4/guide/helpWithGrails.adoc | 1 +
guides/grails-oauth-google/v4/guide/howto.adoc | 6 +
guides/grails-oauth-google/v4/guide/logging.adoc | 10 +
guides/grails-oauth-google/v4/guide/logout.adoc | 24 +++
guides/grails-oauth-google/v4/guide/nextSteps.adoc | 1 +
guides/grails-oauth-google/v4/guide/oauth2.adoc | 4 +
.../grails-oauth-google/v4/guide/oauthConfig.adoc | 61 ++++++
.../grails-oauth-google/v4/guide/requirements.adoc | 1 +
.../v4/guide/runningTheCompleteApp.adoc | 30 +++
guides/grails-oauth-google/v4/guide/services.adoc | 16 ++
.../grails-oauth-google/v4/guide/tokenReader.adoc | 23 +++
guides/grails-oauth-google/v4/guide/views.adoc | 44 +++++
guides/grails-oauth-google/v4/manifest.yml | 17 ++
.../grails-oauth-google/v4/snippets/MANIFEST.yml | 43 +++++
.../grails-oauth-google/v4/snippets/build.gradle | 91 +++++++++
.../v4/snippets/grails-app/conf/application.groovy | 69 +++++++
.../grails-app/conf/spring/resources.groovy | 16 ++
.../controllers/demo/AuthController.groovy | 62 ++++++
.../controllers/demo/BookController.groovy | 22 +++
.../demo/BookFavouriteController.groovy | 38 ++++
.../v4/snippets/grails-app/domain/demo/Book.groovy | 20 ++
.../grails-app/domain/demo/BookFavourite.groovy | 14 ++
.../snippets/grails-app/init/demo/BootStrap.groovy | 115 +++++++++++
.../services/demo/BookDataService.groovy | 45 +++++
.../services/demo/BookFavouriteDataService.groovy | 13 ++
.../grails-app/views/auth/_loginWithGoogle.gsp | 4 +
.../v4/snippets/grails-app/views/auth/success.gsp | 6 +
.../v4/snippets/grails-app/views/book/index.gsp | 17 ++
.../v4/snippets/grails-app/views/book/show.gsp | 24 +++
.../v4/snippets/grails-app/views/layouts/main.gsp | 73 +++++++
.../v4/snippets/grails-app/views/login/auth.gsp | 17 ++
.../main/groovy/demo/JwtCookieTokenReader.groovy | 34 ++++
guides/grails-oauth-google/v4/toc.yml | 28 +++
.../grails-oauth-twitter/v4/guide/appConfig.adoc | 6 +
.../v4/guide/authController.adoc | 28 +++
.../v4/guide/buildingTheApp.adoc | 2 +
.../grails-oauth-twitter/v4/guide/controllers.adoc | 20 ++
guides/grails-oauth-twitter/v4/guide/data.adoc | 10 +
.../v4/guide/dependencies.adoc | 7 +
guides/grails-oauth-twitter/v4/guide/domain.adoc | 14 ++
.../v4/guide/gettingStarted.adoc | 2 +
.../v4/guide/helpWithGrails.adoc | 1 +
guides/grails-oauth-twitter/v4/guide/howto.adoc | 6 +
guides/grails-oauth-twitter/v4/guide/logging.adoc | 10 +
guides/grails-oauth-twitter/v4/guide/logout.adoc | 24 +++
.../grails-oauth-twitter/v4/guide/nextSteps.adoc | 1 +
guides/grails-oauth-twitter/v4/guide/oauth2.adoc | 4 +
.../v4/guide/oauth2/configureOAuth.adoc | 36 ++++
.../grails-oauth-twitter/v4/guide/oauthConfig.adoc | 55 ++++++
.../v4/guide/requirements.adoc | 1 +
.../v4/guide/runningTheCompleteApp.adoc | 30 +++
guides/grails-oauth-twitter/v4/guide/services.adoc | 18 ++
.../grails-oauth-twitter/v4/guide/tokenReader.adoc | 23 +++
guides/grails-oauth-twitter/v4/guide/views.adoc | 44 +++++
guides/grails-oauth-twitter/v4/manifest.yml | 17 ++
.../grails-oauth-twitter/v4/snippets/MANIFEST.yml | 43 +++++
.../grails-oauth-twitter/v4/snippets/build.gradle | 92 +++++++++
.../v4/snippets/grails-app/conf/application.groovy | 68 +++++++
.../grails-app/conf/spring/resources.groovy | 16 ++
.../controllers/demo/AuthController.groovy | 62 ++++++
.../controllers/demo/BookController.groovy | 36 ++++
.../demo/BookFavouriteController.groovy | 46 +++++
.../v4/snippets/grails-app/domain/demo/Book.groovy | 20 ++
.../grails-app/domain/demo/BookFavourite.groovy | 14 ++
.../snippets/grails-app/init/demo/BootStrap.groovy | 115 +++++++++++
.../services/demo/BookDataService.groovy | 45 +++++
.../services/demo/BookFavouriteDataService.groovy | 17 ++
.../grails-app/views/auth/_loginWithTwitter.gsp | 4 +
.../v4/snippets/grails-app/views/auth/success.gsp | 6 +
.../v4/snippets/grails-app/views/book/index.gsp | 17 ++
.../v4/snippets/grails-app/views/book/show.gsp | 30 +++
.../v4/snippets/grails-app/views/layouts/main.gsp | 73 +++++++
.../v4/snippets/grails-app/views/login/auth.gsp | 17 ++
.../main/groovy/demo/JwtCookieTokenReader.groovy | 34 ++++
guides/grails-oauth-twitter/v4/toc.yml | 28 +++
.../v4/guide/createCircleConfig.adoc | 24 +++
.../v4/guide/createGitHubRepo.adoc | 17 ++
.../v4/guide/gettingStarted.adoc | 17 ++
.../v4/guide/helpWithGrails.adoc | 1 +
.../grails-on-circleci-basics/v4/guide/howto.adoc | 1 +
.../v4/guide/integrateCircle.adoc | 14 ++
.../v4/guide/integrationTest.adoc | 10 +
.../v4/guide/requirements.adoc | 1 +
.../v4/guide/runTests.adoc | 4 +
.../v4/guide/testLogging.adoc | 21 ++
.../v4/guide/training.adoc | 1 +
.../v4/guide/unitTest.adoc | 7 +
.../v4/guide/wheretoGoFromHere.adoc | 3 +
.../v4/guide/writingTheApp.adoc | 48 +++++
guides/grails-on-circleci-basics/v4/manifest.yml | 22 +++
.../v4/snippets/.circleci/config.yml | 26 +++
.../v4/snippets/MANIFEST.yml | 17 ++
.../v4/snippets/build.gradle | 118 ++++++++++++
.../v4/snippets/gradle.properties | 7 +
.../example/grails/DefaultHomePageSpec.groovy | 18 ++
.../groovy/example/grails/UrlMappingsSpec.groovy | 12 ++
guides/grails-on-circleci-basics/v4/toc.yml | 21 ++
.../v4/guide/createGitHubRepo.adoc | 1 +
.../v4/guide/gettingStarted.adoc | 12 ++
.../v4/guide/helpWithGrails.adoc | 1 +
.../grails-on-github-actions/v4/guide/howto.adoc | 1 +
.../v4/guide/integrateGithubActions.adoc | 19 ++
.../v4/guide/integrationTest.adoc | 14 ++
.../v4/guide/requirements.adoc | 1 +
.../v4/guide/runTests.adoc | 3 +
.../v4/guide/testLogging.adoc | 21 ++
.../v4/guide/training.adoc | 1 +
.../v4/guide/unitTest.adoc | 7 +
.../v4/guide/wheretoGoFromHere.adoc | 1 +
.../v4/guide/writingTheApp.adoc | 49 +++++
guides/grails-on-github-actions/v4/manifest.yml | 23 +++
.../v4/snippets/.github/workflows/gradle.yml | 31 +++
.../v4/snippets/MANIFEST.yml | 19 ++
.../v4/snippets/build.gradle | 118 ++++++++++++
.../v4/snippets/gradle.properties | 7 +
.../example/grails/DefaultHomePageSpec.groovy | 17 ++
.../groovy/example/grails/HomePage.groovy | 16 ++
.../groovy/example/grails/UrlMappingsSpec.groovy | 12 ++
guides/grails-on-github-actions/v4/toc.yml | 20 ++
.../v4/guide/gettingStarted.adoc | 3 +
.../v4/guide/helpWithGrails.adoc | 1 +
.../v4/guide/training.adoc | 1 +
guides/grails-quickcast-logging/v4/manifest.yml | 16 ++
.../v4/snippets/MANIFEST.yml | 8 +
guides/grails-quickcast-logging/v4/toc.yml | 6 +
.../v4/guide/gettingStarted.adoc | 1 +
.../v4/guide/helpWithGrails.adoc | 1 +
.../v4/guide/training.adoc | 1 +
.../v4/guide/webinar.adoc | 3 +
.../v4/manifest.yml | 17 ++
.../v4/snippets/MANIFEST.yml | 8 +
.../v4/toc.yml | 6 +
.../v4/guide/gettingStarted.adoc | 1 +
.../v4/guide/helpWithGrails.adoc | 1 +
.../v4/guide/training.adoc | 1 +
.../grails-quickcasts-interceptors/v4/manifest.yml | 16 ++
.../v4/snippets/MANIFEST.yml | 8 +
guides/grails-quickcasts-interceptors/v4/toc.yml | 6 +
.../v4/guide/gettingStarted.adoc | 1 +
.../v4/guide/helpWithGrails.adoc | 1 +
.../v4/guide/training.adoc | 1 +
.../grails-quickcasts-json-views/v4/manifest.yml | 16 ++
.../v4/snippets/MANIFEST.yml | 8 +
guides/grails-quickcasts-json-views/v4/toc.yml | 6 +
.../v4/guide/gettingStarted.adoc | 1 +
.../v4/guide/helpWithGrails.adoc | 1 +
.../v4/guide/training.adoc | 1 +
.../v4/manifest.yml | 16 ++
.../v4/snippets/MANIFEST.yml | 8 +
.../v4/toc.yml | 6 +
.../v4/guide/gettingStarted.adoc | 1 +
.../v4/guide/helpWithGrails.adoc | 1 +
.../v4/guide/training.adoc | 1 +
.../v4/manifest.yml | 16 ++
.../v4/snippets/MANIFEST.yml | 8 +
.../v4/toc.yml | 6 +
.../v4/guide/bookAnalyticsRabbit.adoc | 25 +++
.../v4/guide/bookApplicationRabbit.adoc | 36 ++++
.../v4/guide/buildingAnalytics.adoc | 42 ++++
.../grails-rabbitmq/v4/guide/gettingStarted.adoc | 2 +
.../grails-rabbitmq/v4/guide/helpWithGrails.adoc | 1 +
guides/grails-rabbitmq/v4/guide/howto.adoc | 24 +++
guides/grails-rabbitmq/v4/guide/nextSteps.adoc | 3 +
.../v4/guide/originalAppGrails.adoc | 62 ++++++
guides/grails-rabbitmq/v4/guide/rabbitMQ.adoc | 5 +
.../grails-rabbitmq/v4/guide/rabbitManagement.adoc | 29 +++
guides/grails-rabbitmq/v4/guide/requirements.adoc | 1 +
guides/grails-rabbitmq/v4/guide/running.adoc | 54 ++++++
guides/grails-rabbitmq/v4/guide/runningTheApp.adoc | 6 +
guides/grails-rabbitmq/v4/guide/setupRabbit.adoc | 49 +++++
guides/grails-rabbitmq/v4/guide/training.adoc | 1 +
guides/grails-rabbitmq/v4/manifest.yml | 16 ++
guides/grails-rabbitmq/v4/snippets/MANIFEST.yml | 35 ++++
guides/grails-rabbitmq/v4/snippets/build.gradle | 88 +++++++++
.../grails-app/conf/application.yml | 125 ++++++++++++
.../grails-app/domain/demo/BookPageView.groovy | 18 ++
.../demo/BookPageViewConsumer.groovy | 28 +++
.../services/demo/BookPageViewDataService.groovy | 35 ++++
.../groovy/demo/BookPageViewDataServiceSpec.groovy | 36 ++++
.../v4/snippets/grails-app/conf/application.yml | 143 ++++++++++++++
.../controllers/demo/BookController.groovy | 20 ++
.../controllers/demo/BookShowInterceptor.groovy | 23 +++
.../grails-app/controllers/demo/UrlMappings.groovy | 16 ++
.../v4/snippets/grails-app/domain/demo/Book.groovy | 20 ++
.../snippets/grails-app/init/demo/BootStrap.groovy | 115 +++++++++++
.../services/demo/BookDataService.groovy | 31 +++
.../snippets/src/main/groovy/demo/BookImage.groovy | 9 +
guides/grails-rabbitmq/v4/toc.yml | 24 +++
.../v4/guide/concurrentExecution.adoc | 22 +++
.../grails-schwartz/v4/guide/createSimpleJob.adoc | 71 +++++++
.../grails-schwartz/v4/guide/gettingStarted.adoc | 5 +
.../grails-schwartz/v4/guide/helpWithGrails.adoc | 1 +
guides/grails-schwartz/v4/guide/howto.adoc | 1 +
guides/grails-schwartz/v4/guide/install.adoc | 15 ++
guides/grails-schwartz/v4/guide/logchanges.adoc | 11 ++
.../grails-schwartz/v4/guide/logicInService.adoc | 30 +++
guides/grails-schwartz/v4/guide/summary.adoc | 3 +
guides/grails-schwartz/v4/guide/training.adoc | 1 +
.../grails-schwartz/v4/guide/triggerManually.adoc | 48 +++++
guides/grails-schwartz/v4/guide/writing.adoc | 0
guides/grails-schwartz/v4/manifest.yml | 18 ++
guides/grails-schwartz/v4/snippets/MANIFEST.yml | 29 +++
guides/grails-schwartz/v4/snippets/build.gradle | 93 +++++++++
.../v4/snippets/grails-app/conf/logback.groovy | 39 ++++
.../snippets/grails-app/init/demo/BootStrap.groovy | 17 ++
.../services/demo/DailyEmailJobService.groovy | 26 +++
.../grails-app/services/demo/EmailService.groovy | 11 ++
.../services/demo/FollowupEmailJobService.groovy | 26 +++
.../services/demo/GenerateInvoiceJobService.groovy | 42 ++++
.../services/demo/GenerateInvoiceService.groovy | 13 ++
.../services/demo/HelloWorldJobService.groovy | 35 ++++
.../services/demo/RegisterService.groovy | 47 +++++
.../demo/todayat/DailyEmailJobService.groovy | 43 +++++
guides/grails-schwartz/v4/toc.yml | 16 ++
.../grails-vs-nodejs/v4/guide/authentication.adoc | 75 ++++++++
guides/grails-vs-nodejs/v4/guide/datasource.adoc | 40 ++++
.../v4/guide/deleteFlavorsByUser.adoc | 39 ++++
guides/grails-vs-nodejs/v4/guide/deployment.adoc | 17 ++
.../grails-vs-nodejs/v4/guide/flavorsByUser.adoc | 54 ++++++
.../grails-vs-nodejs/v4/guide/gettingStarted.adoc | 25 +++
guides/grails-vs-nodejs/v4/guide/gorm.adoc | 164 ++++++++++++++++
guides/grails-vs-nodejs/v4/guide/grails.adoc | 32 +++
.../grails-vs-nodejs/v4/guide/grailsConsole.adoc | 74 +++++++
.../grails-vs-nodejs/v4/guide/helpWithGrails.adoc | 1 +
guides/grails-vs-nodejs/v4/guide/howto.adoc | 1 +
guides/grails-vs-nodejs/v4/guide/react.adoc | 109 +++++++++++
guides/grails-vs-nodejs/v4/guide/reactProfile.adoc | 81 ++++++++
guides/grails-vs-nodejs/v4/guide/requirements.adoc | 1 +
guides/grails-vs-nodejs/v4/guide/restServices.adoc | 31 +++
.../grails-vs-nodejs/v4/guide/runningTheApp.adoc | 33 ++++
.../v4/guide/saveFlavorsByUser.adoc | 39 ++++
guides/grails-vs-nodejs/v4/guide/seedData.adoc | 55 ++++++
guides/grails-vs-nodejs/v4/guide/signup.adoc | 66 +++++++
guides/grails-vs-nodejs/v4/guide/ssl.adoc | 41 ++++
guides/grails-vs-nodejs/v4/guide/summary.adoc | 14 ++
guides/grails-vs-nodejs/v4/guide/training.adoc | 1 +
guides/grails-vs-nodejs/v4/guide/websockets.adoc | 98 ++++++++++
.../grails-vs-nodejs/v4/guide/writingTheApp.adoc | 3 +
guides/grails-vs-nodejs/v4/manifest.yml | 20 ++
guides/grails-vs-nodejs/v4/snippets/MANIFEST.yml | 61 ++++++
.../v4/snippets/client/package.json | 24 +++
.../grails-vs-nodejs/v4/snippets/client/src/App.js | 125 ++++++++++++
.../v4/snippets/client/src/config.js | 5 +
.../v4/snippets/client/src/login.js | 135 +++++++++++++
.../v4/snippets/server/build.gradle | 82 ++++++++
.../server/grails-app/conf/application.yml | 189 ++++++++++++++++++
.../server/grails-app/conf/spring/resources.groovy | 12 ++
.../controllers/demo/IceCreamController.groovy | 74 +++++++
.../controllers/demo/SignupCommand.groovy | 13 ++
.../controllers/demo/SignupController.groovy | 46 +++++
.../grails-app/controllers/demo/UrlMappings.groovy | 33 ++++
.../server/grails-app/domain/demo/Role.groovy | 24 +++
.../server/grails-app/domain/demo/User.groovy | 36 ++++
.../server/grails-app/domain/demo/UserRole.groovy | 87 +++++++++
.../server/grails-app/init/demo/Application.groovy | 11 ++
.../server/grails-app/init/demo/BootStrap.groovy | 41 ++++
.../services/demo/IceCreamService.groovy | 87 +++++++++
.../grails-app/services/demo/RoleService.groovy | 42 ++++
.../services/demo/UserIceCreamService.groovy | 41 ++++
.../services/demo/UserRoleService.groovy | 27 +++
.../grails-app/services/demo/UserService.groovy | 47 +++++
.../grails-app/views/iceCream/_icecream.gson | 11 ++
.../server/grails-app/views/iceCream/index.gson | 7 +
.../main/groovy/demo/CustomWebSocketConfig.groovy | 23 +++
.../groovy/demo/SessionExpirationJobHolder.groovy | 41 ++++
.../groovy/demo/TokenCreationEventListener.groovy | 16 ++
.../groovy/demo/UserPasswordEncoderListener.groovy | 41 ++++
guides/grails-vs-nodejs/v4/toc.yml | 28 +++
.../v4/guide/conclusion.adoc | 6 +
.../v4/guide/evaluatingTheApp.adoc | 83 ++++++++
.../v4/guide/excessiveGarbageCollection.adoc | 53 +++++
.../v4/guide/excessiveHeapMemory.adoc | 57 ++++++
.../v4/guide/gettingStarted.adoc | 6 +
.../v4/guide/helpWithGrails.adoc | 1 +
.../grails-yourkit-profiling/v4/guide/howto.adoc | 1 +
.../v4/guide/inefficientDelete.adoc | 65 +++++++
.../v4/guide/insertStudents.adoc | 5 +
.../v4/guide/installYourKit.adoc | 8 +
.../v4/guide/requirements.adoc | 1 +
.../v4/guide/startProfiling.adoc | 23 +++
.../v4/guide/training.adoc | 1 +
.../v4/guide/yourKitBestFeatures.adoc | 10 +
guides/grails-yourkit-profiling/v4/manifest.yml | 22 +++
.../v4/snippets/MANIFEST.yml | 23 +++
.../v4/snippets/build.gradle | 85 ++++++++
.../controllers/demo/StudentController.groovy | 46 +++++
.../snippets/grails-app/domain/demo/Student.groovy | 13 ++
.../services/demo/StudentDataService.groovy | 18 ++
.../grails-app/services/demo/StudentService.groovy | 75 ++++++++
.../v4/snippets/grails-app/views/index.gsp | 83 ++++++++
.../demo/StudentServiceIntegrationSpec.groovy | 51 +++++
.../src/test/groovy/demo/StudentServiceSpec.groovy | 23 +++
guides/grails-yourkit-profiling/v4/toc.yml | 22 +++
.../grails_url_mappings/v4/guide/conclusion.adoc | 1 +
.../grails_url_mappings/v4/guide/controllers.adoc | 84 ++++++++
.../v4/guide/creatingTheApp.adoc | 23 +++
.../v4/guide/gettingStarted.adoc | 3 +
.../v4/guide/helpWithGrails.adoc | 1 +
guides/grails_url_mappings/v4/guide/howto.adoc | 1 +
.../grails_url_mappings/v4/guide/requirements.adoc | 1 +
.../v4/guide/splitUrlMappings.adoc | 50 +++++
guides/grails_url_mappings/v4/guide/testing.adoc | 15 ++
.../grails_url_mappings/v4/guide/urlMappings.adoc | 158 +++++++++++++++
guides/grails_url_mappings/v4/manifest.yml | 16 ++
.../grails_url_mappings/v4/snippets/MANIFEST.yml | 21 ++
.../controllers/demo/AgendaController.groovy | 24 +++
.../controllers/demo/ConferenceController.groovy | 25 +++
.../controllers/demo/ConferenceUrlMappings.groovy | 13 ++
.../controllers/demo/SpeakerController.groovy | 24 +++
.../controllers/demo/TalkController.groovy | 24 +++
.../grails-app/controllers/demo/UrlMappings.groovy | 16 ++
.../groovy/demo/ConferenceUrlMappingsSpec.groovy | 28 +++
guides/grails_url_mappings/v4/toc.yml | 18 ++
guides/neo4j-movies/v4/guide/byTitleEndpoint.adoc | 111 +++++++++++
guides/neo4j-movies/v4/guide/configuration.adoc | 26 +++
guides/neo4j-movies/v4/guide/domainModel.adoc | 49 +++++
guides/neo4j-movies/v4/guide/endpoints.adoc | 37 ++++
guides/neo4j-movies/v4/guide/gettingStarted.adoc | 5 +
guides/neo4j-movies/v4/guide/graphEndpoint.adoc | 30 +++
guides/neo4j-movies/v4/guide/howto.adoc | 1 +
guides/neo4j-movies/v4/guide/requirements.adoc | 26 +++
guides/neo4j-movies/v4/guide/runningTheApp.adoc | 7 +
guides/neo4j-movies/v4/guide/searchEndpoint.adoc | 61 ++++++
guides/neo4j-movies/v4/guide/setupData.adoc | 39 ++++
guides/neo4j-movies/v4/guide/training.adoc | 1 +
guides/neo4j-movies/v4/guide/ui.adoc | 25 +++
guides/neo4j-movies/v4/guide/writingTheApp.adoc | 10 +
guides/neo4j-movies/v4/manifest.yml | 19 ++
guides/neo4j-movies/v4/snippets/MANIFEST.yml | 31 +++
guides/neo4j-movies/v4/snippets/build.gradle | 75 ++++++++
guides/neo4j-movies/v4/snippets/gradle.properties | 4 +
.../v4/snippets/grails-app/conf/application.yml | 72 +++++++
.../neo4j/movies/MovieController.groovy | 32 +++
.../controllers/neo4j/movies/UrlMappings.groovy | 18 ++
.../domain/neo4j/movies/CastMember.groovy | 21 ++
.../grails-app/domain/neo4j/movies/Movie.groovy | 20 ++
.../grails-app/domain/neo4j/movies/Person.groovy | 19 ++
.../services/neo4j/movies/MovieService.groovy | 82 ++++++++
.../v4/snippets/grails-app/views/movie/_cast.gson | 10 +
.../v4/snippets/grails-app/views/movie/_movie.gson | 9 +
.../v4/snippets/grails-app/views/movie/search.gson | 10 +
guides/neo4j-movies/v4/toc.yml | 19 ++
guides/rest-mongodb/v4/guide/applyConstraints.adoc | 55 ++++++
guides/rest-mongodb/v4/guide/configure.adoc | 9 +
guides/rest-mongodb/v4/guide/controller.adoc | 22 +++
guides/rest-mongodb/v4/guide/createData.adoc | 24 +++
guides/rest-mongodb/v4/guide/deleteDate.adoc | 20 ++
guides/rest-mongodb/v4/guide/domainClass.adoc | 33 ++++
guides/rest-mongodb/v4/guide/gettingStarted.adoc | 1 +
guides/rest-mongodb/v4/guide/helpWithGrails.adoc | 1 +
guides/rest-mongodb/v4/guide/howto.adoc | 26 +++
guides/rest-mongodb/v4/guide/json.adoc | 62 ++++++
guides/rest-mongodb/v4/guide/mapController.adoc | 19 ++
guides/rest-mongodb/v4/guide/readData.adoc | 26 +++
guides/rest-mongodb/v4/guide/requirements.adoc | 2 +
guides/rest-mongodb/v4/guide/runningTheApp.adoc | 1 +
guides/rest-mongodb/v4/guide/searchEndpoint.adoc | 27 +++
guides/rest-mongodb/v4/guide/testing.adoc | 34 ++++
guides/rest-mongodb/v4/guide/training.adoc | 1 +
guides/rest-mongodb/v4/guide/updateData.adoc | 43 +++++
guides/rest-mongodb/v4/guide/writingTheApp.adoc | 1 +
guides/rest-mongodb/v4/manifest.yml | 20 ++
guides/rest-mongodb/v4/snippets/MANIFEST.yml | 25 +++
guides/rest-mongodb/v4/snippets/build.gradle | 82 ++++++++
.../v4/snippets/grails-app/conf/application.yml | 87 +++++++++
.../controllers/demo/ProductController.groovy | 31 +++
.../grails-app/controllers/demo/UrlMappings.groovy | 27 +++
.../snippets/grails-app/domain/demo/Product.groovy | 17 ++
.../snippets/grails-app/views/object/_object.gson | 5 +
.../grails-app/views/product/_product.gson | 12 ++
.../test/groovy/demo/ProductControllerSpec.groovy | 38 ++++
.../src/test/groovy/demo/ProductSpec.groovy | 50 +++++
guides/rest-mongodb/v4/toc.yml | 24 +++
660 files changed, 18901 insertions(+), 56 deletions(-)