This is an automated email from the ASF dual-hosted git repository.

jamesfredley pushed a change to branch fix/binddata-mass-assignment
in repository https://gitbox.apache.org/repos/asf/grails-core.git


    from 08bf7818e2 Drop the bindable constraints added to the renderer spec 
models
     add b7ceb5375d Grant native access in CLI and wrapper start scripts
     add 0a726c6500 Replace local StringBuffer usage with StringBuilder
     add ba15d890b5 correcting old javadoc problem
     add 0c63c26a3a Merge pull request #15990 from 
apache/refactor/legacy-jdk-types
     add d1a3f69dc7 Declare processResources ReplaceTokens values as task inputs
     add eed1e36d0d Merge pull request #16006 from 
codeconsole/processresources-token-inputs
     add 52bf74ee81 Merge branch '8.0.x' into fix/forge-cli-native-access
     add 76d9f18659 Merge pull request #15989 from 
codeconsole/fix/forge-cli-native-access
     add 36ad682bdf Split CLI dependencies from the runtime classpath
     add 6fdfaf8675 Remove explicit console dependency
     add e1bac4aa61 Adjust test configuration
     add 237cf03945 Move grailsCli related gradle configuration to a single 
gradle plugin
     add 01ddd85d57 Cleanup code style
     add b4c8828cfa Functional test app was missing functional dependency 
substitution
     add 45632e28f5 Ensure hibernate5 bom is used consistently for hibernate5 
projects
     add 8043852418 Merge branch '8.0.x' into fix/split-cli-dependencies
     add ea3064a5d9 Fix cli gradle capabilities from being published
     add 329cc6a703 CommandFactoriesTransformation should be able to register 
commands compiled from src/cli sources.
     add c6739f408e Replace ambgious commands
     add 1fd7f7d405 Merge branch '8.0.x' into fix/split-cli-dependencies
     add 42ef1ac1c6 Wire same-build CLI companions via project capability + 
cover discovery
     add a441ac3132 Fix factories dedup, BOM companion constraints, and 
companion build identity
     add 82532d4ee8 Support customized cli companion coordinates end to end
     add 773152144d Document the upgrade impact of the CLI split
     add d6d49e85f3 Fix the command arguments example in the custom-commands 
guide
     add d1e4af1162 Merge pull request #15948 from 
apache/fix/split-cli-dependencies
     add e64bd9d80e Enforce HTTPS for wrapper remote repositories
     add fecd1172b3 Address wrapper redirect review feedback
     add ac9bbc91e0 Address wrapper repository review feedback
     add 6689ebf5eb Align wrapper and Forge repository HTTPS validation
     add 2ee817429e Merge remote-tracking branch 'origin/8.0.x' into 
fix/wrapper-https-enforcement
     add e8ce969643 Harden wrapper HTTPS enforcement per review feedback
     add d42672802c Reject malformed remote wrapper repository overrides
     add a1ea4c8e9f Preserve repository fallback and drive-relative local repos
     add 8be73fd71f Align Forge Windows repository path handling with the 
wrapper
     add 6704c1d56b Fix OperatorWrap style in GrailsWrapperRepo
     add 6723a29349 feedback - simplify wrapper windows handling, support 
alises, adding tests, and making sure all implementations work the same
     add 26d1c1036b Merge pull request #15809 from 
apache/fix/wrapper-https-enforcement
     add 38902374f6 Convert remaining plugin descriptors from doWithSpring() to 
beanRegistrar()
     add 373528b3b7 Fix functional-test regressions in the bean-registrar 
conversions
     add f80b1cf8fe Address review feedback on the bean-registrar conversions
     add 3dc84a7b17 Auto-configure the controllers exceptionHandler default
     add 285a4f31d1 Auto-configure the cache plugin's default cache manager and 
key generator
     add 6cf1eacf9e Merge branch '8.0.x' into refactor/bean-registrars
     add fc6ac88995 Address review feedback: mirror boot order in defineBeans, 
gate cache auto-config, guard redis definitions
     add 7977c93ed7 Merge branch '8.0.x' into refactor/bean-registrars
     add 76bdd8c079 Address matrei review feedback
     add 3a1a6f82d8 Merge pull request #15994 from 
codeconsole/refactor/bean-registrars
     add bee4a4b1b0 Bump managed jQuery webjar to 4.0.0 in the BOM
     add ae8fcdcfb0 Add show-by-id and navbar controller filter to the 
create-app welcome page
     add ea78cf8bb9 Document the jQuery 4.0.0 webjar upgrade in the Grails 8 
upgrade guide
     add 0e28a4d59f Fix welcome-page spinner ajax binding and touch autofocus
     add 638e9871dc Sort the welcome-page language selector by autonym
     add bdcb488a36 Use a fixed ROOT collator for the language selector ordering
     add f1cfb19bf4 Sort available locales with a ROOT collator in 
AvailableLocaleResolver
     add 18268189fe Add render modes and a body form to g:localeSelect
     add 485ff7a452 Use the g:localeSelect body form in the create-app welcome 
page
     add 3af80d727e Simplify the jQuery pin-back note in the 8.0.x upgrade guide
     add 81a9f3f4e0 Make the create-app welcome page artefact list switchable
     add 4174b63ebe Surface runtime internals on the create-app welcome page
     add cb95eb5f59 Show the request filter pipeline on the create-app welcome 
page
     add d18ca672f8 Stack the welcome-page cards in two columns to remove dead 
space
     add 0223d138a0 Restyle the spring-security login and denied pages with 
Bootstrap
     add cc06c5dca7 Bring spring-security i18n to locale parity with create-app
     add d7b4932afa Add Traditional Chinese (zh_TW) create-app welcome 
translations
     add a056c21434 Rewrite the spring-security-ui plugin on jQuery 4 and 
Bootstrap 5
     add a350e53822 Convert the remaining spring-security views and templates 
to Bootstrap
     add b506a5b067 Integrate the spring-security-ui screens into the host 
application layout
     add a1d5f25f4c Respect allowedMethods on the create-app controller listings
     add dce86c62d0 Show POST-only controllers disabled in the navbar dropdown
     add dbedd0108d Invoke POST-only controllers through a form in the listings
     add 1fa628162f Document the spring-security-ui Bootstrap rewrite in the 
upgrade guide
     add ebcf71697e Update the spring-security test apps and fixtures for the 
Bootstrap rewrite
     add c312e5e9df Fix spring-security-ui functional tests after Bootstrap 
rewrite
     add 7750a3c81a Remove legacy main.css from spring-security-ui test apps
     add 94993c8701 Fix locale selection, active matching, zh_TW forge wiring 
and missing i18n keys
     add ae336d9aab Add a URL Mappings panel with an interactive resolver to 
the welcome page
     add 80f26ff334 Merge branch '8.0.x' into feat/create-app-ui
     add 94e3f4bc18 Link framework tag libraries to their groovydoc on the 
welcome page
     add 041c889826 Group welcome-page domains by plugin with opt-in row counts
     add e99e27139b Merge branch '8.0.x' into feat/create-app-ui
     add 47e8ebe933 Address review feedback on localeSelect, welcome 
diagnostics and s2ui buttons
     add 88814b4c5d Merge remote-tracking branch 'upstream/8.0.x' into 
feat/create-app-ui
     add 8a8d5c114f Add a dual-mode sign-in affordance to the create-app navbar
     add 4e348c3949 Add a Spring Boot Starter Security feature to Grails Forge
     add cbfce2fc93 Show full values as tooltips on the welcome status cards
     add 47da75f9fa Add Grails Spring Security plugin and UI plugin features to 
Grails Forge
     add e2d83f7ba2 Align the Grails Spring Security plugin feature with the UI 
flavor's domain model
     add 9aca8df30f Harden the security features' generated runtime after live 
verification
     add 97df5387b8 Make the Spring Security UI feature supplemental to the 
core plugin feature
     add b21c25d753 Replace the login password-toggle emoji with Bootstrap icon 
toggles on every login UI
     add f648df7b53 Render navActions after language and theme in the navbar
     add d98fe6573b Expose feature relationship metadata through the Forge API
     add 89338b9227 Merge pull request #15987 from 
codeconsole/feat/create-app-ui
     add 7f5c8675bb Fix afterEvaluate race between applyGrailsBom and 
GrailsCliGradlePlugin
     add 9f751d16be Fix review feedback: preserve plugin identity/idempotency, 
add regression test
     add 7804f4b011 Merge pull request #16009 from 
codeconsole/fix/bom-cli-afterEvaluate-ordering
     add 2a32b9661e Simplify forge deployments to speed up release times
     add 2a9adf8619 Remove TestLens setup from forge deploy workflows since 
they run no tests
     add 5c285ef03a Merge pull request #15984 from 
apache/ci/faster-forge-deploys
     add fced1db76c Update the grails-gradle-publish plugin to the staged 
1.0.0-M2 version
     add ce1884f8f7 Merge pull request #16012 from 
apache/chore/update-publish-plugin
     add abdd44767d fix grails-core-cli artifact checksums
     add 6b60b72e13 Rewrite the sbom plugin to handle both the cli + main 
artifacts lazily
     add a98e197add Add tests
     add dfebb9a261 Add sbom verification to verify
     add a162ebb524 build: change logger level from lifecycle to info for 
sourcesJar task creation
     add 0e16a24661 Merge pull request #16022 from apache/cleanup-build-log
     add fa30af085b Fix sbom exemptions for cli split
     add bfd17896e9 Fix task resolution in grails wrapper cli
     add e53459c0b5 build: update checkstyle and codenarc versions
     add 5cea1fbc95 style: codenarc issues after update
     add 4d3107d841 Merge pull request #16013 from apache/update-codestyle-libs
     add 6d1acaddb6 Fix help resolution & speed up dependency resolution
     add 15938592c7 Document Spring HTTP interface clients
     add e7bad9c74a Merge pull request #15996 from 
apache/docs/http-exchange-clients
     add 136f16d7d1 Document Spring Boot structured logging
     add 0430ed2d37 Potential fix for pull request finding
     add e2ee9746ee Potential fix for pull request finding
     add f3da7a2312 Merge pull request #15997 from 
apache/docs/structured-logging
     add c10e485773 Document continuous test mode
     add 0cd61e1cdd Potential fix for pull request finding
     add 2d08123daf Merge pull request #15999 from 
apache/docs/continuous-testing
     add 75f02aaff8 Enable CodeNarc empty catch checks
     add a082291aa9 Rename intentional empty-catch parameters in 
grails-gradle-model
     add 33efc93093 Merge remote-tracking branch 'origin/8.0.x' into 
build/empty-catch-codenarc
     add 4e7cd8762f Address review feedback on EmptyCatchBlock PR
     add 1817a7d7b4 Merge pull request #15991 from 
apache/build/empty-catch-codenarc
     add 44d5cfafe0 Characterize plugin registry load order and lookup contract
     add 0b53a85ae4 Use find/count for null-safe plugin lookup in registry 
contract spec
     add c6ce3fe8bd Merge pull request #16004 from 
apache/test/plugin-registry-contract
     add cb35496301 [skip ci] Release v8.0.0-M4
     add b11fa75cb2 [skip ci] Bump version to 8.0.0-SNAPSHOT
     add 743730dc3b Merge pull request #16049 from apache/merge-back-8.0.0-M4
     add 7388284e4f [skip ci] Release v7.2.1
     add f9e4572136 [skip ci] Bump version to 7.2.2-SNAPSHOT
     add e72c56bccf Merge pull request #15982 from apache/merge-back-7.2.1
     add bc80c60f7f [skip ci] Release v7.1.4
     add ca1def5974 [skip ci] Bump version to 7.1.5-SNAPSHOT
     add 0496370184 Merge pull request #15981 from apache/merge-back-7.1.4
     add c9c3be92a8 [skip ci] Release v7.0.14
     add c63d23e428 [skip ci] Bump version to 7.0.15-SNAPSHOT
     add dba8810e50 Merge pull request #15980 from apache/merge-back-7.0.14
     add 876db2e1a5 Prevent multiple publishing from running at the same time
     add 7eb9a5e98d Merge pull request #15988 from 
apache/ci/document-publishing-limit
     add ee4d85d65f Bump org.testcontainers:postgresql in /grails-forge
     add 8f2f6cf1e6 Merge pull request #15639 from 
apache/dependabot/gradle/grails-forge/7.0.x/org.testcontainers-postgresql-1.21.4
     add 23c2c586af Update Log4j to 2.25.5 and document unfixed Jansi CVE
     add ac08770cff Merge pull request #16043 from 
apache/deps/cve-log4j-jansi-7.0.x
     add b8df2131e9 Remove push trigger due to api limits
     add 6e463ae14b Merge branch '7.0.x' into 7.1.x
     add 95c0db6d4a Merge branch '7.1.x' into 7.2.x
     add 63048d463e Merge branch '7.2.x' into 8.0.x
     add 87ce649d52 build: try to fix dependency resolution after merge-up
     add 17d78a74e4 Merge pull request #16056 from apache/try-fix-dependencies
     add b2b92f34cd localeSelect: add type="dropdown" and a menu-cased name, 
and titlecase autonyms
     add 7e0316c71c localeSelect: keep the current query string when switching 
language
     add 3c5b1b9045 Merge pull request #16053 from 
codeconsole/locale-autonym-titlecase
     add 4aa9a0b51d Add compile-time check for GORM query strings flattened 
from GString
     add 46c4ba2486 Track GString origin through variable aliasing, not just 
literal coercion
     add cceff551fb Extend query safety check with branch-sensitivity fix and 
two new warnings
     add d3e1ea8485 Add protectSqlInjectionAttacks opt-out for the global query 
safety check
     add 6e0a8bafe0 Adopt @RestoreSystemProperties in 
GlobalGormQuerySafetyASTTransformationSpec
     add cb3a5753c7 Detect inline .toString()/cast flattening at the GORM query 
call site
     add f1fbe86956 Merge pull request #15971 from 
apache/feat/gorm-query-safety-ast-check
     add e0e7dd3f2a Added ternary operator formatting in the groovy-developer 
skill
     add 2bf0cf01f8 Merge pull request #16055 from 
gsartori/groovy-developer-ternary-operator
     add 09c42aebe4 Bump testlens-app/setup-testlens from 1.9.2 to 1.9.3
     add 2781979e92 Merge pull request #16062 from 
apache/dependabot/github_actions/testlens-app/setup-testlens-1.9.3
     add 52b27dfdc3 GrailsUtil: honor stackTraceFiltererClass and 
logFullStackTraceOnFilter
     add 55a45f5871 fix checkstyle ImportOrder: separate spring.beans import 
group
     add 5577618630 GrailsUtil: bootstrap-hook init via GrailsExceptionResolver
     add a23e03d961 Address review feedback from matrei
     add c6610c1567 Move stack filterer init to bootstrap phase, address 
jdaugherty review
     add c2db0eddb0 Trigger GitHub mergeability recompute (no content change)
     add 0702d7bb88 Merge branch '8.0.x' into 
7.1.x-grailsutil-honor-filterer-config
     add cbfe2fc8e9 Address review: Class-valued filterer config, ClassLoader, 
defensiveness
     add 4000654c8e Address borinquenkid review: log the wrong-type filterer 
fallback
     add 87d9eb40e6 Merge pull request #15666 from 
codeconsole/7.1.x-grailsutil-honor-filterer-config
     add 5db496701c refactor: clean up GlobalGrailsClassInjectorTransformation
     add 5e9ce015d9 Add tests closing codecov gaps in 
GlobalGrailsClassInjectorTransformation
     add 4db83b3436 test: remove redundant javadoc
     add 31875ec0a1 another iteration after review feedback
     add 7860ec1d19 test: add more coverage for 
`GlobalGrailsClassInjectorTransformation`
     add b32e9d1907 Merge branch '8.0.x' into refactor-global-injector-trans
     add 4267e77b2f test: reset static collections in cleanup()
     add 8ec2dad08d Merge branch '8.0.x' into refactor-global-injector-trans
     add eb90eb5c77 test: verify log warning on existing malformed plugin xml 
file
     add 7b35c0f4b0 fix: do not use `getClass()` in static method
     add 722040412b refactor: minor
     add 300b01f885 test: align on using log appender in tests and some cleanup
     add 43366f1f73 test: existing resource when testing `grails-plugin.xml` 
update
     add c4bbf11593 build: whitespace
     add 8fe145514c refactor: enhance plugin XML generation and improve error 
handling
     add cdad075730 refactor: make pending lists an internal instance concern
     add 4fe23d49c0 refactor: another iteration after feedback
     add 48e38bb1a0 refactor: extract test log capturing to reusable class
     add c3b60c8c01 test: add more coverage
     add 7bcab161f3 fix: logic to handle plugin excludes over source units
     add bad541ba13 fix: correct error generation in ast transform
     add d86a6957e9 fix: defer resources when malformed plugin descriptor lacks 
metadata
     add fbc9c6ee81 fix: omit unavailable Grails version from plugin metadata
     add a55d2ad186 refactor: move LogCapture to textFixtures source set
     add aba16ce46a fix: LogCapture improvements
     add d1c8d0e439 test: add deterministic test logging configuration
     add fd87c31e28 fix: clarify nullable contracts
     add 7587013983 refactor: clarify plugin XML update helper names
     add b341dc5b75 fix: make Grails version fallback coverage deterministic
     add 945b185a17 chore: clarify logback-classic dependency in test fixtures
     add a72fa18d3e style: re-order methods more logically
     add f924d0c9d7 docs: clarify plugin XML update failure handling
     add b5a15be028 test: improve test isolation and clarity by resetting trait 
injectors in setup and cleanup
     add ec9a530c7d fix: skip plugin XML generation after validation failure
     add c083ad1844 fix: refresh plugin metadata without new artefacts
     add f55731a748 Merge pull request #16042 from 
apache/refactor-global-injector-trans
     add d5335f4a9e Merge branch '8.0.x' into fix/binddata-mass-assignment

No new revisions were added by this update.

Summary of changes:
 .agents/skills/groovy-developer/SKILL.md           |   10 +
 .github/workflows/forge-deploy-next.yml            |   45 +-
 .github/workflows/forge-deploy-prev-snapshot.yml   |   45 +-
 .github/workflows/forge-deploy-prev.yml            |   45 +-
 .github/workflows/forge-deploy-release.yml         |   65 +-
 .github/workflows/forge-deploy-snapshot.yml        |   45 +-
 .github/workflows/gradle.yml                       |   30 +-
 .github/workflows/groovy-joint-workflow.yml        |    4 +-
 .github/workflows/rat.yml                          |    2 +-
 .github/workflows/release.yml                      |    6 +
 .github/workflows/sitemesh2.yml                    |    4 +-
 .github/workflows/vulnerability-scan.yml           |    5 -
 INSTALL                                            |    3 +-
 .../apache/grails/buildsrc/PublishPlugin.groovy    |   42 +-
 .../org/apache/grails/buildsrc/SbomPlugin.groovy   |  142 ++-
 .../grails/buildsrc/VulnerabilityScanPlugin.groovy |    5 +
 .../codenarc/codenarc.groovy                       |    4 +
 .../grails/buildsrc/PublishPluginSpec.groovy       |  113 ++
 .../apache/grails/buildsrc/SbomPluginSpec.groovy   |  100 ++
 build.gradle                                       |    7 +
 dependencies.gradle                                |   15 +-
 etc/bin/verify-jar-artifacts.sh                    |   14 +
 gradle.properties                                  |    4 +-
 gradle/cli-companion-bom-constraints.gradle        |   41 +
 gradle/functional-test-config.gradle               |   11 +
 .../web/async/ControllersAsyncGrailsPlugin.groovy  |   19 +-
 .../async/ControllersAsyncGrailsPluginSpec.groovy} |   34 +-
 grails-bom/base/build.gradle                       |   20 +
 grails-bom/default/build.gradle                    |    4 +
 grails-bom/hibernate5-micronaut/build.gradle       |    4 +
 grails-bom/hibernate5/build.gradle                 |    4 +
 grails-bom/hibernate7-micronaut/build.gradle       |    4 +
 grails-bom/hibernate7/build.gradle                 |    4 +
 grails-bom/micronaut/build.gradle                  |    4 +
 .../grails/plugin/cache/CacheGrailsPlugin.groovy   |   28 +-
 .../cache/GrailsCacheAutoConfiguration.groovy      |   69 ++
 ...rk.boot.autoconfigure.AutoConfiguration.imports |    1 +
 .../plugin/cache/CacheGrailsPluginSpec.groovy      |   73 ++
 .../cache/GrailsCacheAutoConfigurationSpec.groovy  |  108 ++
 .../common/compiler/GroovyTransformOrder.groovy    |   15 +-
 grails-console/build.gradle                        |   10 +
 .../GrailsApplicationContextCommandRunner.groovy   |    8 +-
 .../ui/script/GrailsApplicationScriptRunner.groovy |    3 +-
 .../controller/support/ResponseRenderer.groovy     |    3 +-
 .../ControllerBeanDefinitionsPostProcessor.groovy  |  100 ++
 .../controllers/ControllersAutoConfiguration.java  |   14 +
 .../web/controllers/ControllersGrailsPlugin.groovy |   51 +-
 ...ntrollerBeanDefinitionsPostProcessorSpec.groovy |   99 ++
 .../ControllersAutoConfigurationSpec.groovy        |   80 +-
 .../controllers/ControllersGrailsPluginSpec.groovy |   61 ++
 .../converters/ConvertersGrailsPlugin.groovy       |   37 +-
 .../converters/ConvertersGrailsPluginSpec.groovy   |   65 ++
 grails-core/build.gradle                           |   29 +-
 .../grails/core/cli}/ApplicationCommand.groovy     |    3 +-
 .../cli}/ApplicationContextCommandRegistry.groovy  |   11 +-
 .../grails/core/cli}/ConfigReportCommand.groovy    |    2 +-
 .../grails/core/cli}/ExecutionContext.groovy       |    3 +-
 .../core/cli}/GrailsApplicationCommand.groovy      |   10 +-
 .../compiler/CommandFactoriesTransformation.groovy |  105 ++
 .../core/cli}/io/FileSystemInteraction.groovy      |    3 +-
 .../core/cli}/io/FileSystemInteractionImpl.groovy  |    3 +-
 .../core/cli}/template/TemplateException.groovy    |    2 +-
 .../core/cli}/template/TemplateRenderer.groovy     |    2 +-
 .../core/cli}/template/TemplateRendererImpl.groovy |    9 +-
 .../cli/resources/META-INF/grails-cli.factories    |   18 +
 ...org.codehaus.groovy.transform.ASTTransformation |    1 +
 .../boot/config/GrailsAutoConfiguration.groovy     |    4 +-
 .../boot/config/tools/ClassPathScanner.groovy      |    2 +-
 .../PersistenceContextInterceptorExecutor.groovy   |    3 +-
 .../src/main/groovy/grails/util/GrailsUtil.java    |   42 +-
 .../core/GrailsBootstrapRegistryInitializer.java   |  139 +++
 .../compiler/injection/FactoriesFileWriter.groovy  |  140 +++
 .../GlobalGrailsClassInjectorTransformation.groovy |  745 ++++++++-----
 .../core/exceptions/DefaultErrorsPrinter.groovy    |    9 +-
 .../core/io/support/GrailsFactoriesLoader.groovy   |   29 +-
 .../org/grails/plugins/support/WatchPattern.groovy |    3 +-
 ...tGrailsPluginManagerRegistryContractSpec.groovy |  152 +++
 .../plugins/DefaultGrailsPluginManagerSpec.groovy  |  140 +--
 .../grails/util/GrailsUtilStackFiltererSpec.groovy |  168 +++
 .../GrailsBootstrapRegistryInitializerSpec.groovy  |  300 ++++++
 .../core/cli}/ConfigReportCommandSpec.groovy       |    2 +-
 .../CommandFactoriesTransformationSpec.groovy      |   45 +
 .../grails/core/plugins/PluginDiscoverySpec.groovy |   98 +-
 .../injection/FactoriesFileWriterSpec.groovy       |  124 +++
 ...balGrailsClassInjectorTransformationSpec.groovy |  749 +++++++++++--
 .../reporting/StackTraceFiltererSpec.groovy        |   95 +-
 grails-core/src/test/resources/logback-test.xml    |   22 +
 .../grails/core/testing/support/LogCapture.groovy  |   99 ++
 .../grails/gorm/graphql/GraphQLEntityHelper.groovy |    4 +-
 .../property/impl/PersistentGraphQLProperty.groovy |    2 +-
 .../DefaultGraphQLDomainPropertyManager.groovy     |    2 +-
 .../graphql/plugin/GormGraphqlGrailsPlugin.groovy  |  138 ++-
 .../plugin/GormGraphqlGrailsPluginSpec.groovy      |   82 ++
 .../AbstractHibernateGormInstanceApi.groovy        |    4 +-
 .../HibernateConnectionSourceSettings.groovy       |    2 +-
 .../hibernate/support/HibernateRuntimeUtils.groovy |    3 +-
 grails-data-hibernate5/dbmigration/build.gradle    |   37 +-
 ...plicationContextDatabaseMigrationCommand.groovy |    4 +-
 .../cli}/DatabaseMigrationCommand.groovy           |    2 +-
 .../cli}/DbmChangelogSyncCommand.groovy            |    4 +-
 .../cli}/DbmChangelogSyncSqlCommand.groovy         |    4 +-
 .../dbmigration/cli}/DbmChangelogToGroovy.groovy   |    2 +-
 .../cli}/DbmClearChecksumsCommand.groovy           |    4 +-
 .../dbmigration/cli}/DbmCreateChangelog.groovy     |    2 +-
 .../dbmigration/cli}/DbmDbDocCommand.groovy        |    4 +-
 .../dbmigration/cli}/DbmDiffCommand.groovy         |    4 +-
 .../dbmigration/cli}/DbmDropAllCommand.groovy      |    4 +-
 .../cli}/DbmFutureRollbackCountSqlCommand.groovy   |    4 +-
 .../cli}/DbmFutureRollbackSqlCommand.groovy        |    4 +-
 .../cli}/DbmGenerateChangelogCommand.groovy        |    4 +-
 .../cli}/DbmGenerateGormChangelogCommand.groovy    |    4 +-
 .../dbmigration/cli}/DbmGormDiffCommand.groovy     |    4 +-
 .../dbmigration/cli}/DbmListLocksCommand.groovy    |    4 +-
 .../cli}/DbmMarkNextChangesetRanCommand.groovy     |    4 +-
 .../cli}/DbmMarkNextChangesetRanSqlCommand.groovy  |    4 +-
 .../cli}/DbmPreviousChangesetSqlCommand.groovy     |    4 +-
 .../dbmigration/cli}/DbmReleaseLocksCommand.groovy |    4 +-
 .../dbmigration/cli}/DbmRollbackCommand.groovy     |    4 +-
 .../cli}/DbmRollbackCountCommand.groovy            |    4 +-
 .../cli}/DbmRollbackCountSqlCommand.groovy         |    4 +-
 .../dbmigration/cli}/DbmRollbackSqlCommand.groovy  |    4 +-
 .../cli}/DbmRollbackToDateCommand.groovy           |    4 +-
 .../cli}/DbmRollbackToDateSqlCommand.groovy        |    4 +-
 .../dbmigration/cli}/DbmStatusCommand.groovy       |    4 +-
 .../dbmigration/cli}/DbmTagCommand.groovy          |    4 +-
 .../dbmigration/cli}/DbmUpdateCommand.groovy       |    4 +-
 .../dbmigration/cli}/DbmUpdateCountCommand.groovy  |    4 +-
 .../cli}/DbmUpdateCountSqlCommand.groovy           |    4 +-
 .../dbmigration/cli}/DbmUpdateSqlCommand.groovy    |    4 +-
 .../dbmigration/cli}/DbmValidateCommand.groovy     |    4 +-
 .../cli}/ScriptDatabaseMigrationCommand.groovy     |    2 +-
 .../commands}/dbm-changelog-to-groovy.groovy       |    2 +-
 .../META-INF/commands}/dbm-create-changelog.groovy |    2 +-
 .../databasemigration/DbUpdateCommandSpec.groovy   |    6 +-
 .../DatabaseMigrationGrailsPlugin.groovy           |   17 +-
 ...ationContextDatabaseMigrationCommandSpec.groovy |    6 +-
 .../cli}/DatabaseMigrationCommandConfigSpec.groovy |    2 +-
 .../cli}/DatabaseMigrationCommandSpec.groovy       |    2 +-
 .../cli}/DbmChangelogSyncCommandSpec.groovy        |    4 +-
 .../cli}/DbmChangelogSyncCommandSqlSpec.groovy     |    4 +-
 .../cli}/DbmClearChecksumsCommandSpec.groovy       |    4 +-
 .../dbmigration/cli}/DbmDiffCommandSpec.groovy     |    4 +-
 .../dbmigration/cli}/DbmDropAllCommandSpec.groovy  |    4 +-
 .../DbmFutureRollbackCountSqlCommandSpec.groovy    |    4 +-
 .../cli}/DbmFutureRollbackSqlCommandSpec.groovy    |    4 +-
 .../cli}/DbmGenerateChangelogCommandSpec.groovy    |    4 +-
 .../DbmGenerateGormChangelogCommandSpec.groovy     |    4 +-
 .../dbmigration/cli}/DbmGormDiffCommandSpec.groovy |    4 +-
 .../cli}/DbmListLocksCommandSpec.groovy            |    4 +-
 .../cli}/DbmMarkNextChangesetRanCommandSpec.groovy |    4 +-
 .../DbmMarkNextChangesetRanSqlCommandSpec.groovy   |    4 +-
 .../cli}/DbmPreviousChangesetSqlCommandSpec.groovy |    4 +-
 .../cli}/DbmReleaseLocksCommandSpec.groovy         |    4 +-
 .../dbmigration/cli}/DbmRollbackCommandSpec.groovy |    4 +-
 .../cli}/DbmRollbackCountCommandSpec.groovy        |    4 +-
 .../cli}/DbmRollbackCountSqlCommandSpec.groovy     |    4 +-
 .../cli}/DbmRollbackSqlCommandSpec.groovy          |    4 +-
 .../cli}/DbmRollbackToDateCommandSpec.groovy       |    4 +-
 .../cli}/DbmRollbackToDateSqlCommandSpec.groovy    |    4 +-
 .../dbmigration/cli}/DbmStatusCommandSpec.groovy   |    4 +-
 .../dbmigration/cli}/DbmUpdateCommandSpec.groovy   |    4 +-
 .../cli}/DbmUpdateCountCommandSpec.groovy          |    4 +-
 .../cli}/DbmUpdateCountSqlCommandSpec.groovy       |    4 +-
 .../cli}/DbmUpdateSqlCommandSpec.groovy            |    4 +-
 .../dbmigration/cli}/DbmValidateCommandSpec.groovy |    4 +-
 .../cli}/ScriptDatabaseMigrationCommandSpec.groovy |    2 +-
 .../DatabaseMigrationGrailsPluginSpec.groovy       |   48 +-
 .../liquibase/GroovyChangeLogSpec.groovy           |   12 +-
 .../liquibase/GroovyPreconditionSpec.groovy        |    4 +-
 grails-data-hibernate5/grails-plugin/build.gradle  |   18 +-
 .../hibernate5/cli}/SchemaExportCommand.groovy     |    6 +-
 grails-data-hibernate7/dbmigration/build.gradle    |   24 +-
 ...plicationContextDatabaseMigrationCommand.groovy |    4 +-
 .../cli}/DatabaseMigrationCommand.groovy           |    2 +-
 .../cli}/DbmChangelogSyncCommand.groovy            |    4 +-
 .../cli}/DbmChangelogSyncSqlCommand.groovy         |    4 +-
 .../dbmigration/cli}/DbmChangelogToGroovy.groovy   |    2 +-
 .../cli}/DbmClearChecksumsCommand.groovy           |    4 +-
 .../dbmigration/cli}/DbmCreateChangelog.groovy     |    2 +-
 .../dbmigration/cli}/DbmDbDocCommand.groovy        |    4 +-
 .../dbmigration/cli}/DbmDiffCommand.groovy         |    4 +-
 .../dbmigration/cli}/DbmDropAllCommand.groovy      |    4 +-
 .../cli}/DbmFutureRollbackCountSqlCommand.groovy   |    4 +-
 .../cli}/DbmFutureRollbackSqlCommand.groovy        |    4 +-
 .../cli}/DbmGenerateChangelogCommand.groovy        |    4 +-
 .../cli}/DbmGenerateGormChangelogCommand.groovy    |    4 +-
 .../dbmigration/cli}/DbmGormDiffCommand.groovy     |    4 +-
 .../dbmigration/cli}/DbmListLocksCommand.groovy    |    4 +-
 .../cli}/DbmMarkNextChangesetRanCommand.groovy     |    4 +-
 .../cli}/DbmMarkNextChangesetRanSqlCommand.groovy  |    4 +-
 .../cli}/DbmPreviousChangesetSqlCommand.groovy     |    4 +-
 .../dbmigration/cli}/DbmReleaseLocksCommand.groovy |    4 +-
 .../dbmigration/cli}/DbmRollbackCommand.groovy     |    4 +-
 .../cli}/DbmRollbackCountCommand.groovy            |    4 +-
 .../cli}/DbmRollbackCountSqlCommand.groovy         |    4 +-
 .../dbmigration/cli}/DbmRollbackSqlCommand.groovy  |    4 +-
 .../cli}/DbmRollbackToDateCommand.groovy           |    4 +-
 .../cli}/DbmRollbackToDateSqlCommand.groovy        |    4 +-
 .../dbmigration/cli}/DbmStatusCommand.groovy       |    4 +-
 .../dbmigration/cli}/DbmTagCommand.groovy          |    4 +-
 .../dbmigration/cli}/DbmUpdateCommand.groovy       |    4 +-
 .../dbmigration/cli}/DbmUpdateCountCommand.groovy  |    4 +-
 .../cli}/DbmUpdateCountSqlCommand.groovy           |    4 +-
 .../dbmigration/cli}/DbmUpdateSqlCommand.groovy    |    4 +-
 .../dbmigration/cli}/DbmValidateCommand.groovy     |    4 +-
 .../cli}/ScriptDatabaseMigrationCommand.groovy     |    2 +-
 .../commands}/dbm-changelog-to-groovy.groovy       |    2 +-
 .../META-INF/commands}/dbm-create-changelog.groovy |    2 +-
 .../databasemigration/DbUpdateCommandSpec.groovy   |    6 +-
 .../DatabaseMigrationGrailsPlugin.groovy           |   17 +-
 ...ationContextDatabaseMigrationCommandSpec.groovy |    6 +-
 .../cli}/DatabaseMigrationCommandConfigSpec.groovy |    2 +-
 .../cli}/DatabaseMigrationCommandSpec.groovy       |    2 +-
 .../cli}/DbmChangelogSyncCommandSpec.groovy        |    4 +-
 .../cli}/DbmChangelogSyncCommandSqlSpec.groovy     |    4 +-
 .../cli}/DbmClearChecksumsCommandSpec.groovy       |    4 +-
 .../dbmigration/cli}/DbmDiffCommandSpec.groovy     |    4 +-
 .../dbmigration/cli}/DbmDropAllCommandSpec.groovy  |    4 +-
 .../DbmFutureRollbackCountSqlCommandSpec.groovy    |    4 +-
 .../cli}/DbmFutureRollbackSqlCommandSpec.groovy    |    4 +-
 .../cli}/DbmGenerateChangelogCommandSpec.groovy    |    4 +-
 .../DbmGenerateGormChangelogCommandSpec.groovy     |    4 +-
 .../dbmigration/cli}/DbmGormDiffCommandSpec.groovy |    4 +-
 .../cli}/DbmListLocksCommandSpec.groovy            |    4 +-
 .../cli}/DbmMarkNextChangesetRanCommandSpec.groovy |    4 +-
 .../DbmMarkNextChangesetRanSqlCommandSpec.groovy   |    4 +-
 .../cli}/DbmPreviousChangesetSqlCommandSpec.groovy |    4 +-
 .../cli}/DbmReleaseLocksCommandSpec.groovy         |    4 +-
 .../dbmigration/cli}/DbmRollbackCommandSpec.groovy |    4 +-
 .../cli}/DbmRollbackCountCommandSpec.groovy        |    4 +-
 .../cli}/DbmRollbackCountSqlCommandSpec.groovy     |    4 +-
 .../cli}/DbmRollbackSqlCommandSpec.groovy          |    4 +-
 .../cli}/DbmRollbackToDateCommandSpec.groovy       |    4 +-
 .../cli}/DbmRollbackToDateSqlCommandSpec.groovy    |    4 +-
 .../dbmigration/cli}/DbmStatusCommandSpec.groovy   |    4 +-
 .../dbmigration/cli}/DbmUpdateCommandSpec.groovy   |    4 +-
 .../cli}/DbmUpdateCountCommandSpec.groovy          |    4 +-
 .../cli}/DbmUpdateCountSqlCommandSpec.groovy       |    4 +-
 .../cli}/DbmUpdateSqlCommandSpec.groovy            |    4 +-
 .../dbmigration/cli}/DbmValidateCommandSpec.groovy |    4 +-
 .../cli}/ScriptDatabaseMigrationCommandSpec.groovy |    2 +-
 .../DatabaseMigrationGrailsPluginSpec.groovy       |   48 +-
 .../liquibase/GroovyChangeLogSpec.groovy           |   12 +-
 .../liquibase/GroovyPreconditionSpec.groovy        |    4 +-
 grails-data-hibernate7/grails-plugin/build.gradle  |   18 +
 .../hibernate7/cli}/SchemaExportCommand.groovy     |    7 +-
 .../datastore/gorm/mongo/simple/EnumType.groovy    |    3 +-
 .../mapping/simple/query/SimpleMapQuery.groovy     |   28 +-
 .../grails/databinding/SimpleDataBinder.groovy     |    6 +-
 .../compiler/gorm/GormEntityTransformation.groovy  |    2 +-
 .../bootstrap/AbstractDatastoreInitializer.groovy  |    3 +-
 .../grails/datastore/gorm/jdbc/RelaxedNames.java   |    4 +-
 .../GlobalGormQuerySafetyASTTransformation.java    |   76 ++
 .../transform/GormQuerySafetyTransformer.java      |  690 ++++++++++++
 ...org.codehaus.groovy.transform.ASTTransformation |    1 +
 ...obalGormQuerySafetyASTTransformationSpec.groovy |   78 ++
 .../GormQuerySafetyTransformerSpec.groovy          |  543 ++++++++++
 .../data/testing/tck/tests/DomainEventsSpec.groovy |    2 +-
 .../DataSourceBeanDefinitionsPostProcessor.groovy  |   83 ++
 .../datasource/DataSourceGrailsPlugin.groovy       |   69 +-
 .../datasource/EmbeddedDatabaseShutdownHook.groovy |    2 +-
 .../datasource/DataSourceGrailsPluginSpec.groovy   |   92 +-
 .../datastore/mapping/reflect/AstUtils.groovy      |    3 +-
 .../src/en/guide/REST/callingRestServices.adoc     |   64 ++
 .../guide/commandLine/creatingCustomCommands.adoc  |  178 +++-
 .../gradleBuild/gradleDependencies.adoc            |    1 -
 .../commandLine/gradleBuild/gradlePlugins.adoc     |    2 +
 grails-doc/src/en/guide/conf/config/logging.adoc   |   70 ++
 .../config/logging/loggingFullStackTraces.adoc     |    9 +
 grails-doc/src/en/guide/i18n/changingLocales.adoc  |   14 +-
 grails-doc/src/en/guide/introduction/whatsNew.adoc |   52 +
 .../plugins/creatingAndInstallingPlugins.adoc      |    4 +-
 .../en/guide/plugins/providingBasicArtefacts.adoc  |   46 +-
 .../en/guide/security/securingAgainstAttacks.adoc  |   56 +
 .../guide/testing/runningTests/withGrailsCli.adoc  |   21 +-
 .../src/en/guide/upgrading/upgrading80x.adoc       |  206 ++++
 .../src/en/ref/Command Line/create-command.adoc    |   19 +-
 grails-doc/src/en/ref/Command Line/test-app.adoc   |   13 +-
 grails-doc/src/en/ref/Tags - GSP/localeSelect.adoc |   33 +-
 .../plugins/domain/DomainClassGrailsPlugin.groovy  |   18 +-
 .../domain/DomainClassGrailsPluginSpec.groovy      |   65 ++
 grails-events/plugin/build.gradle                  |    1 +
 .../plugins/events/EventBusGrailsPlugin.groovy     |   32 +-
 .../plugins/events/EventBusGrailsPluginSpec.groovy |   81 ++
 .../plugin/formfields/FieldsGrailsPlugin.groovy    |   43 +-
 .../model/DomainModelServiceImpl.groovy            |    2 +-
 .../formfields/FieldsGrailsPluginSpec.groovy       |   75 ++
 grails-forge/grails-cli/build.gradle               |    7 +
 .../main/java/org/grails/forge/api/FeatureDTO.java |   26 +
 .../command/CreateDomainClassCommandSpec.groovy    |    2 +-
 .../forge/build/gradle/GradleRepository.java       |   78 +-
 .../forge/build/gradle/MavenLocalRepository.java   |   20 +-
 .../java/org/grails/forge/feature/Category.java    |    1 +
 .../java/org/grails/forge/feature/Feature.java     |   15 +
 .../grails/forge/feature/grails/GrailsConsole.java |   66 --
 .../forge/feature/grails/GrailsDefaultPlugins.java |    1 +
 .../feature/lang/groovy/GrailsApplication.java     |    2 +-
 .../feature/lang/groovy/application.rocker.raw     |    7 +
 .../forge/feature/lang/groovy/bootStrap.rocker.raw |   27 +-
 .../feature/migration/DatabaseMigrationPlugin.java |   12 +-
 .../feature/security/GrailsSpringSecurity.java     |   91 ++
 .../feature/security/GrailsSpringSecurityUi.java   |   98 ++
 .../feature/security/PrimarySecurityFeature.java   |   21 +-
 .../forge/feature/security/SecurityFeature.java    |   87 ++
 .../security/SpringBootStarterSecurity.java        |   90 ++
 .../template/role.rocker.raw}                      |   25 +-
 .../template/securityApplicationGroovy.rocker.raw  |   52 +
 .../security/template/securityConfig.rocker.raw    |   51 +
 .../template/user.rocker.raw}                      |   30 +-
 .../security/template/userClassic.rocker.raw       |   64 ++
 .../template/userClassicService.rocker.raw}        |   14 +-
 .../template/userClassicSpec.rocker.raw}           |   26 +-
 .../template/userController.rocker.raw}            |   15 +-
 .../feature/security/template/userRole.rocker.raw  |  116 +++
 .../template/userService.rocker.raw}               |   20 +-
 .../template/userSpec.rocker.raw}                  |   19 +-
 .../resources/assets/javascripts/application.js    |   53 +-
 .../main/resources/assets/javascripts/welcome.js   |  120 ++-
 .../main/resources/assets/stylesheets/welcome.css  |   85 +-
 .../src/main/resources/gsp/index.gsp               | 1099 +++++++++++++++++++-
 .../src/main/resources/gsp/main.gsp                |  134 ++-
 .../src/main/resources/i18n/messages.properties    |   50 +
 .../src/main/resources/i18n/messages_cs.properties |   50 +
 .../src/main/resources/i18n/messages_da.properties |   50 +
 .../src/main/resources/i18n/messages_de.properties |   50 +
 .../src/main/resources/i18n/messages_es.properties |   50 +
 .../src/main/resources/i18n/messages_fr.properties |   50 +
 .../src/main/resources/i18n/messages_it.properties |   50 +
 .../src/main/resources/i18n/messages_ja.properties |   50 +
 .../src/main/resources/i18n/messages_nb.properties |   50 +
 .../src/main/resources/i18n/messages_nl.properties |   50 +
 .../src/main/resources/i18n/messages_pl.properties |   50 +
 .../main/resources/i18n/messages_pt_BR.properties  |   50 +
 .../main/resources/i18n/messages_pt_PT.properties  |   50 +
 .../src/main/resources/i18n/messages_ru.properties |   50 +
 .../src/main/resources/i18n/messages_sk.properties |   50 +
 .../src/main/resources/i18n/messages_sv.properties |   50 +
 .../src/main/resources/i18n/messages_th.properties |   50 +
 .../main/resources/i18n/messages_zh_CN.properties  |   50 +
 .../main/resources/i18n/messages_zh_TW.properties  |  153 +++
 .../forge/build/gradle/GradleRepositorySpec.groovy |  102 ++
 .../feature/grails/GrailsDefaultPluginsSpec.groovy |   13 +-
 .../migration/DatabaseMigrationPluginSpec.groovy   |   13 +-
 .../security/GrailsSpringSecuritySpec.groovy       |  114 ++
 .../security/GrailsSpringSecurityUiSpec.groovy     |  107 ++
 .../security/SpringBootStarterSecuritySpec.groovy  |  112 ++
 .../grails/forge/feature/view/GrailsGspSpec.groovy |  196 +++-
 .../org/grails/forge/create/CreateAppSpec.groovy   |    2 +-
 .../model/src/main/groovy/grails/io/IOUtils.groovy |    6 +-
 .../src/main/groovy/grails/util/Environment.groovy |    8 +-
 .../io/support/FactoriesLoaderSupport.groovy       |   23 +-
 .../org/grails/io/support/SpringIOUtils.java       |    4 +-
 grails-gradle/plugins/build.gradle                 |   18 +
 .../plugin/commands/CliArtifactExtension.groovy    |   53 +
 .../plugin/commands/CliPublishingSupport.groovy    |  166 +++
 .../commands/GrailsCliArtifactGradlePlugin.groovy  |  229 ++++
 .../plugin/commands/GrailsCliGradlePlugin.groovy   |  507 +++++++++
 .../commands/GrailsCliLibraryGradlePlugin.groovy   |   50 +
 .../gradle/plugin/core/GrailsExtension.groovy      |   18 +-
 .../gradle/plugin/core/GrailsGradlePlugin.groovy   |  239 +----
 .../plugin/core/GrailsPluginGradlePlugin.groovy    |    2 +-
 .../gradle/plugin/util/ClasspathUtils.groovy       |   60 ++
 .../gradle/plugin/web/GrailsWebGradlePlugin.groovy |    6 +-
 .../plugin/commands/CliAutoDiscoverySpec.groovy    |   95 ++
 .../commands/CliCompanionPublishingSpec.groovy     |   93 ++
 .../BomCliMultiprojectRaceFunctionalSpec.groovy    |   65 ++
 .../plugin/core/BomOptOutFunctionalSpec.groovy     |   17 +-
 .../auto-apply-bom-disabled/build.gradle           |    8 +-
 .../consumer/build.gradle                          |   16 +
 .../grails/race-bom/1.0-race/race-bom-1.0-race.pom |   24 +
 .../producer/build.gradle                          |   27 +
 .../bom-cli-multiproject-race/settings.gradle      |    4 +
 .../cli-companion-autodiscovery/app/build.gradle   |   57 +
 .../cli-companion-autodiscovery/gradle.properties  |    2 +
 .../my-plugin/build.gradle                         |   12 +
 .../cli/java/com/example/HelloWorldCommand.java    |    6 +
 .../cli/resources/META-INF/grails-cli.factories    |    1 +
 .../renamed-plugin/build.gradle                    |   13 +
 .../src/cli/java/com/acme/AcmeCommand.java         |    5 +
 .../cli-companion-autodiscovery/settings.gradle    |    3 +
 .../console-lib/build.gradle                       |   28 +
 .../custom-owner/build.gradle                      |   30 +
 .../cli-companion-publishing/gradle.properties     |    1 +
 .../cli-companion-publishing/owner/build.gradle    |   27 +
 .../cli-companion-publishing/plugin-a/build.gradle |   32 +
 .../cli-companion-publishing/plugin-b/build.gradle |   34 +
 .../cli-companion-publishing/resolver/build.gradle |   27 +
 .../cli-companion-publishing/settings.gradle       |    3 +
 .../org/grails/gsp/ModelRecordingGroovyPage.groovy |    3 +-
 .../gsp/compiler/GrailsLayoutPreprocessor.java     |   14 +-
 .../grails/web/layout/LayoutGrailsPlugin.groovy    |   44 +-
 .../web/layout/LayoutGrailsPluginSpec.groovy       |   80 ++
 .../grails/plugins/web/taglib/FormTagLib.groovy    |  286 ++++-
 .../LocaleSelectConfiguredDefaultSpec.groovy       |   51 +
 .../taglib/LocaleSelectPinnedVariantSpec.groovy    |   53 +
 .../web/taglib/LocaleSelectRenderingSpec.groovy    |  349 +++++++
 .../plugins/i18n/AvailableLocaleResolver.java      |    9 +-
 .../i18n/AvailableLocaleResolverSpec.groovy        |   20 +-
 .../src/test/resources/messages_cs.properties      |    1 +
 .../InterceptorBeanDefinitionsPostProcessor.groovy |  104 ++
 .../interceptors/InterceptorsGrailsPlugin.groovy   |   30 +-
 .../InterceptorsGrailsPluginSpec.groovy            |  136 +++
 grails-profiles/base/profile.yml                   |    2 -
 .../skeleton/grails-app/i18n/messages.properties   |   50 +
 .../grails-app/i18n/messages_cs.properties         |   50 +
 .../grails-app/i18n/messages_da.properties         |   50 +
 .../grails-app/i18n/messages_de.properties         |   50 +
 .../grails-app/i18n/messages_es.properties         |   50 +
 .../grails-app/i18n/messages_fr.properties         |   50 +
 .../grails-app/i18n/messages_it.properties         |   50 +
 .../grails-app/i18n/messages_ja.properties         |   50 +
 .../grails-app/i18n/messages_nb.properties         |   50 +
 .../grails-app/i18n/messages_nl.properties         |   50 +
 .../grails-app/i18n/messages_pl.properties         |   50 +
 .../grails-app/i18n/messages_pt_BR.properties      |   50 +
 .../grails-app/i18n/messages_pt_PT.properties      |   50 +
 .../grails-app/i18n/messages_ru.properties         |   50 +
 .../grails-app/i18n/messages_sk.properties         |   50 +
 .../grails-app/i18n/messages_sv.properties         |   50 +
 .../grails-app/i18n/messages_th.properties         |   50 +
 .../grails-app/i18n/messages_zh_CN.properties      |   50 +
 .../grails-app/i18n/messages_zh_TW.properties      |  153 +++
 .../base/templates/artifacts/Command.groovy        |    2 +-
 [email protected] |   11 +-
 [email protected] |   11 +-
 .../grails-app/assets/javascripts/application.js   |   53 +-
 .../grails-app/assets/javascripts/welcome.js       |  120 ++-
 .../grails-app/assets/stylesheets/welcome.css      |   85 +-
 .../web/skeleton/grails-app/views/index.gsp        | 1099 +++++++++++++++++++-
 .../web/skeleton/grails-app/views/layouts/main.gsp |  134 ++-
 grails-redis/build.gradle                          |    6 +
 .../redis/RedisBeanDefinitionsPostProcessor.groovy |   66 ++
 .../redis/util/RedisConfigurationUtil.groovy       |  120 ++-
 .../src/main/groovy/redis/RedisGrailsPlugin.groovy |   30 +-
 .../RedisBeanDefinitionsPostProcessorSpec.groovy   |  107 ++
 .../rest/plugin/RestResponderGrailsPlugin.groovy   |   24 +-
 .../plugin/RestResponderGrailsPluginSpec.groovy    |   65 ++
 grails-scaffolding/build.gradle                    |   20 +
 .../scaffolding/cli}/CommandLineHelper.groovy      |    4 +-
 .../cli}/CreateScaffoldControllerCommand.groovy    |    6 +-
 .../cli}/CreateScaffoldServiceCommand.groovy       |    6 +-
 .../scaffolding/cli}/GenerateAllCommand.groovy     |    6 +-
 .../cli}/GenerateAsyncControllerCommand.groovy     |    6 +-
 .../cli}/GenerateControllerCommand.groovy          |    6 +-
 .../cli}/GenerateScaffoldAllCommand.groovy         |    6 +-
 .../scaffolding/cli}/GenerateServiceCommand.groovy |    6 +-
 .../scaffolding/cli}/GenerateViewsCommand.groovy   |    6 +-
 .../cli}/InstallTemplatesCommand.groovy            |    6 +-
 .../grails/scaffolding/cli}/SkipBootstrap.groovy   |    2 +-
 grails-services/build.gradle                       |    1 +
 .../ServiceBeanDefinitionsPostProcessor.groovy     |   99 ++
 .../plugins/services/ServicesGrailsPlugin.groovy   |   46 +-
 .../services/ServicesGrailsPluginSpec.groovy       |  140 +++
 .../main/groovy/org/grails/cli/GrailsCli.groovy    |   52 +-
 ...ltRepositorySystemSessionAutoConfiguration.java |   55 +
 .../grails/cli/gradle/GradleAsyncInvoker.groovy    |    3 +-
 .../cli/gradle/cache/CachedGradleOperation.groovy  |    3 +-
 .../completers/ClassNameCompleter.groovy           |    3 +-
 .../cli/profile/GrailsRepositoryOverrides.groovy   |  128 +++
 .../grails/cli/profile/ProfileRepoConfig.groovy    |   20 +-
 .../cli/profile/commands/CreateAppCommand.groovy   |   38 +-
 .../commands/DefaultMultiStepCommand.groovy        |    3 +-
 .../ApplicationContextCommandFactory.groovy        |    4 +-
 .../commands/templates/TemplateRendererImpl.groovy |    3 +-
 .../repository/MavenProfileRepository.groovy       |   35 +-
 .../cli/GrailsCliProjectDetectionSpec.groovy       |   57 +
 ...sitorySystemSessionAutoConfigurationSpec.groovy |   97 ++
 .../profile/GrailsRepositoryOverridesSpec.groovy   |  123 +++
 .../profile/commands/CreateAppCommandSpec.groovy   |   61 ++
 .../MavenProfileRepositorySnapshotSpec.groovy      |   53 +
 grails-spring-security/oauth2/plugin/build.gradle  |   20 +
 .../plugin/grails-app/i18n/messages.properties     |    3 +-
 .../grails-app/views/springSecurityOAuth2/ask.gsp  |  192 ++--
 .../security/oauth2/cli}/CommandLineHelper.groovy  |    2 +-
 .../security/oauth2/cli}/InitOAuth2Command.groovy  |    5 +-
 grails-spring-security/plugin/build.gradle         |   20 +
 .../plugin/springsecurity/LoginController.groovy   |    2 +-
 .../plugin/springsecurity/LogoutController.groovy  |   11 +
 .../i18n/spring-security-core.properties           |    1 +
 .../i18n/spring-security-core_cs.properties        |   39 +
 .../i18n/spring-security-core_da.properties        |   39 +
 .../i18n/spring-security-core_de.properties        |    6 +-
 .../i18n/spring-security-core_es.properties        |    2 +
 .../i18n/spring-security-core_fr.properties        |    4 +-
 .../i18n/spring-security-core_it.properties        |    2 +
 .../i18n/spring-security-core_ja.properties        |    2 +
 .../i18n/spring-security-core_nb.properties        |    2 +
 .../i18n/spring-security-core_nl.properties        |   39 +
 .../i18n/spring-security-core_pl.properties        |   39 +
 .../i18n/spring-security-core_pt_BR.properties     |    3 +-
 .../i18n/spring-security-core_pt_PT.properties     |   39 +
 .../i18n/spring-security-core_ru.properties        |    2 +
 .../i18n/spring-security-core_sk.properties        |   39 +
 .../i18n/spring-security-core_sv.properties        |    2 +
 .../i18n/spring-security-core_th.properties        |   39 +
 .../i18n/spring-security-core_zh_CN.properties     |   39 +
 .../i18n/spring-security-core_zh_TW.properties     |    1 +
 .../plugin/grails-app/views/login/auth.gsp         |  199 ++--
 .../plugin/grails-app/views/login/denied.gsp       |   17 +-
 .../grails/security/cli}/CommandLineHelper.groovy  |    4 +-
 .../cli}/S2CreatePersistentTokenCommand.groovy     |    5 +-
 .../cli}/S2CreateRoleHierarchyEntryCommand.groovy  |    5 +-
 .../security/cli}/S2QuickstartCommand.groovy       |    5 +-
 .../grails/security/cli}/SkipBootstrap.groovy      |    2 +-
 .../springsecurity/LogoutControllerSpec.groovy     |   23 +-
 grails-spring-security/ui/plugin/build.gradle      |   19 +-
 .../grails-app/assets/images/icons/error.svg       |    5 -
 .../plugin/grails-app/assets/images/icons/info.svg |    5 -
 .../plugin/grails-app/assets/images/icons/role.svg |    6 -
 .../plugin/grails-app/assets/images/icons/user.svg |    4 -
 .../grails-app/assets/images/icons/users.svg       |    6 -
 .../plugin/grails-app/assets/images/sort_asc.png   |  Bin 160 -> 0 bytes
 .../grails-app/assets/images/sort_asc_disabled.png |  Bin 148 -> 0 bytes
 .../plugin/grails-app/assets/images/sort_both.png  |  Bin 201 -> 0 bytes
 .../plugin/grails-app/assets/images/sort_desc.png  |  Bin 158 -> 0 bytes
 .../assets/images/sort_desc_disabled.png           |  Bin 146 -> 0 bytes
 .../assets/javascripts/jquery/jquery.jdMenu.js     |  171 ---
 .../assets/javascripts/jquery/jquery.positionBy.js |  306 ------
 .../javascripts/spring-security-ui-ajaxLogin.js    |   78 +-
 .../javascripts/spring-security-ui-register.js     |   22 -
 .../assets/javascripts/spring-security-ui.js       |   20 +-
 .../assets/stylesheets/elements/btn_left.gif       |  Bin 221 -> 0 bytes
 .../assets/stylesheets/elements/btn_right.gif      |  Bin 108 -> 0 bytes
 .../assets/stylesheets/elements/checkbox.gif       |  Bin 627 -> 0 bytes
 .../assets/stylesheets/elements/input.gif          |  Bin 606 -> 0 bytes
 .../assets/stylesheets/elements/input_left.gif     |  Bin 305 -> 0 bytes
 .../assets/stylesheets/elements/input_right.gif    |  Bin 183 -> 0 bytes
 .../assets/stylesheets/elements/radio.gif          |  Bin 762 -> 0 bytes
 .../assets/stylesheets/elements/select_right.gif   |  Bin 260 -> 0 bytes
 .../grails-app/assets/stylesheets/gradient-alt.png |  Bin 392 -> 0 bytes
 .../assets/stylesheets/gradient-vertical.png       |  Bin 700 -> 0 bytes
 .../grails-app/assets/stylesheets/gradient.png     |  Bin 392 -> 0 bytes
 .../grails-app/assets/stylesheets/jquery-ui.css    |   22 -
 .../assets/stylesheets/jquery.dataTables.css       |   22 -
 .../assets/stylesheets/jquery.jdMenu.css           |   90 --
 .../assets/stylesheets/jquery.jdMenu.slate.css     |   83 --
 .../plugin/grails-app/assets/stylesheets/reset.css |   69 --
 .../assets/stylesheets/spring-security-ui-auth.css |   43 -
 .../stylesheets/spring-security-ui-common.css      |  304 ------
 .../stylesheets/spring-security-ui-register.css    |   25 -
 .../assets/stylesheets/spring-security-ui.css      |   27 -
 .../springsecurity/ui/SecurityUiTagLib.groovy      |  345 +++---
 .../ui/plugin/grails-app/views/aclClass/create.gsp |   28 +-
 .../ui/plugin/grails-app/views/aclClass/edit.gsp   |   41 +-
 .../ui/plugin/grails-app/views/aclClass/search.gsp |   50 +-
 .../ui/plugin/grails-app/views/aclEntry/create.gsp |   33 +-
 .../ui/plugin/grails-app/views/aclEntry/edit.gsp   |   41 +-
 .../ui/plugin/grails-app/views/aclEntry/search.gsp |  165 +--
 .../grails-app/views/aclObjectIdentity/create.gsp  |   30 +-
 .../grails-app/views/aclObjectIdentity/edit.gsp    |   43 +-
 .../grails-app/views/aclObjectIdentity/search.gsp  |  139 ++-
 .../ui/plugin/grails-app/views/aclSid/create.gsp   |   24 +-
 .../ui/plugin/grails-app/views/aclSid/edit.gsp     |   47 +-
 .../ui/plugin/grails-app/views/aclSid/search.gsp   |   77 +-
 .../grails-app/views/includes/_ajaxLogin.gsp       |  102 +-
 .../plugin/grails-app/views/layouts/register.gsp   |   23 +-
 .../grails-app/views/layouts/springSecurityUI.gsp  |  109 +-
 .../ui/plugin/grails-app/views/login/auth.gsp      |   69 +-
 .../grails-app/views/persistentLogin/edit.gsp      |   51 +-
 .../grails-app/views/persistentLogin/search.gsp    |   80 +-
 .../grails-app/views/register/forgotPassword.gsp   |   12 +-
 .../plugin/grails-app/views/register/register.gsp  |   18 +-
 .../grails-app/views/register/resetPassword.gsp    |   15 +-
 .../views/register/securityQuestions.gsp           |    9 +-
 .../grails-app/views/registrationCode/edit.gsp     |   41 +-
 .../grails-app/views/registrationCode/search.gsp   |   68 +-
 .../plugin/grails-app/views/requestmap/create.gsp  |   32 +-
 .../ui/plugin/grails-app/views/requestmap/edit.gsp |   43 +-
 .../plugin/grails-app/views/requestmap/search.gsp  |   80 +-
 .../ui/plugin/grails-app/views/role/create.gsp     |   22 +-
 .../ui/plugin/grails-app/views/role/edit.gsp       |   22 +-
 .../ui/plugin/grails-app/views/role/search.gsp     |   50 +-
 .../grails-app/views/securityInfo/config.gsp       |   15 +-
 .../grails-app/views/securityInfo/currentAuth.gsp  |    8 +-
 .../grails-app/views/securityInfo/mappings.gsp     |    3 +-
 .../views/securityInfo/secureChannel.gsp           |    2 +-
 .../grails-app/views/securityInfo/usercache.gsp    |    9 +-
 .../ui/plugin/grails-app/views/user/create.gsp     |   36 +-
 .../ui/plugin/grails-app/views/user/edit.gsp       |   49 +-
 .../ui/plugin/grails-app/views/user/search.gsp     |  112 +-
 .../ui/plugin/src/main/resources/META-INF/LICENSE  |   14 -
 .../ui/plugin/src/main/resources/META-INF/NOTICE   |   14 -
 .../ChallengeQuestionsCreate.gsp.template          |   41 +-
 .../templates/ChallengeQuestionsEdit.gsp.template  |   37 +-
 .../templates/ChallengeQuestionsIndex.gsp.template |   54 +-
 .../springsecurity/ui/SecurityUiTagLibSpec.groovy  |   57 +
 grails-test-examples/app1/build.gradle             |    1 -
 grails-test-examples/app2/build.gradle             |    1 -
 .../controllers/app2/TestController.groovy         |    8 +
 .../GrailsUtilStackFiltererIntegrationSpec.groovy  |   59 ++
 .../groovy/app2/RecordingStackTraceFilterer.groovy |   57 +
 grails-test-examples/app3/build.gradle             |    1 -
 grails-test-examples/cache/build.gradle            |    1 -
 .../ConfigReportCommandIntegrationSpec.groovy      |    4 +-
 grails-test-examples/datasources/build.gradle      |    1 -
 grails-test-examples/exploded/build.gradle         |    1 -
 grails-test-examples/gorm/build.gradle             |    1 -
 .../graphql/grails-docs-app/build.gradle           |    1 -
 .../grails-multi-datastore-app/build.gradle        |    1 -
 .../graphql/grails-tenant-app/build.gradle         |    1 -
 .../graphql/grails-test-app/build.gradle           |    1 -
 grails-test-examples/hibernate7/app1/build.gradle  |    1 -
 .../hibernate7/datasources/build.gradle            |    1 -
 grails-test-examples/hibernate7/gorm/build.gradle  |    1 -
 .../issue-698-domain-save-npe/build.gradle         |    1 -
 .../hibernate7/scaffolding-fields/build.gradle     |    1 -
 grails-test-examples/hyphenated/build.gradle       |    1 -
 grails-test-examples/issue-11102/build.gradle      |    1 -
 .../issue-698-domain-save-npe/build.gradle         |    1 -
 grails-test-examples/issue-views-182/build.gradle  |    1 -
 grails-test-examples/namespaces/build.gradle       |    1 -
 grails-test-examples/plugins/exploded/build.gradle |    1 -
 .../plugins/issue11005/build.gradle                |    1 -
 .../plugins/loadafter/build.gradle                 |    1 -
 .../plugins/loadfirst/build.gradle                 |    1 -
 .../plugins/loadsecond/build.gradle                |    1 -
 .../plugins/micronaut-singleton/build.gradle       |    1 +
 .../scaffolding-fields/build.gradle                |    1 -
 grails-test-examples/scaffolding/build.gradle      |    1 -
 .../integration-test/groovy/pages/LoginPage.groovy |    2 +-
 .../integration-test/groovy/pages/LoginPage.groovy |    2 +-
 .../groovy/specs/InheritanceSecuritySpec.groovy    |   12 +-
 .../groovy/specs/NamespaceSecuritySpec.groovy      |    8 +-
 .../integration-test/groovy/pages/LoginPage.groovy |    2 +-
 .../integration-test/groovy/pages/LoginPage.groovy |    2 +-
 .../integration-test/groovy/pages/LoginPage.groovy |    2 +-
 .../integration-test/groovy/pages/LoginPage.groovy |    2 +-
 .../src/testFixtures/groovy/module/RolesTab.groovy |    4 +-
 .../src/testFixtures/groovy/page/CreatePage.groovy |    2 +-
 .../src/testFixtures/groovy/page/EditPage.groovy   |    6 +-
 .../src/testFixtures/groovy/page/SearchPage.groovy |    4 +-
 .../groovy/page/register/ForgotPasswordPage.groovy |    2 +-
 .../groovy/page/register/RegisterPage.groovy       |    2 +-
 .../groovy/page/register/ResetPasswordPage.groovy  |    2 +-
 .../page/register/SecurityQuestionsPage.groovy     |    2 +-
 .../grails-app/assets/javascripts/application.js   |    2 +
 .../grails-app/assets/stylesheets/application.css  |   26 +-
 .../grails-app/assets/stylesheets/main.css         |  615 -----------
 .../grails-app/views/includes/_ajaxLogin.gsp       |   69 --
 .../ui/extended/grails-app/views/layouts/email.gsp |   31 -
 .../ui/extended/grails-app/views/layouts/main.gsp  |   28 +-
 .../extended/grails-app/views/layouts/register.gsp |   36 -
 .../grails-app/views/layouts/springSecurityUI.gsp  |   81 --
 .../ui/extended/grails-app/views/login/auth.gsp    |   63 +-
 .../extended/grails-app/views/profile/create.gsp   |   30 +-
 .../ui/extended/grails-app/views/profile/edit.gsp  |   24 +-
 .../views/register/_forgotPasswordMail.gsp         |   25 -
 .../views/register/_verifyRegistrationMail.gsp     |   23 -
 .../grails-app/views/register/forgotPassword.gsp   |   42 -
 .../grails-app/views/register/register.gsp         |   46 -
 .../grails-app/views/register/resetPassword.gsp    |   40 -
 .../views/register/securityQuestions.gsp           |   35 -
 .../ui/extended/grails-app/views/role/create.gsp   |   42 -
 .../ui/extended/grails-app/views/role/edit.gsp     |   49 -
 .../ui/extended/grails-app/views/role/search.gsp   |   56 -
 .../ui/extended/grails-app/views/user/create.gsp   |   55 -
 .../ui/extended/grails-app/views/user/edit.gsp     |   76 --
 .../ui/extended/grails-app/views/user/search.gsp   |   94 --
 .../extended/page/profile/ProfileEditPage.groovy   |    6 +-
 .../extended/spec/ExtendedSecurityInfoSpec.groovy  |    7 +-
 .../grails-app/assets/javascripts/application.js   |    2 +
 .../grails-app/assets/stylesheets/application.css  |   26 +-
 .../simple/grails-app/assets/stylesheets/main.css  |  615 -----------
 .../grails-app/views/includes/_ajaxLogin.gsp       |   69 --
 .../ui/simple/grails-app/views/layouts/email.gsp   |   31 -
 .../ui/simple/grails-app/views/layouts/main.gsp    |   28 +-
 .../simple/grails-app/views/layouts/register.gsp   |   36 -
 .../grails-app/views/layouts/springSecurityUI.gsp  |   81 --
 .../grails-app/views/persistentLogin/edit.gsp      |   58 --
 .../grails-app/views/persistentLogin/search.gsp    |   73 --
 .../views/register/_forgotPasswordMail.gsp         |   25 -
 .../views/register/_verifyRegistrationMail.gsp     |   23 -
 .../grails-app/views/register/forgotPassword.gsp   |   42 -
 .../simple/grails-app/views/register/register.gsp  |   46 -
 .../grails-app/views/register/resetPassword.gsp    |   40 -
 .../views/register/securityQuestions.gsp           |   35 -
 .../grails-app/views/registrationCode/edit.gsp     |   53 -
 .../grails-app/views/registrationCode/search.gsp   |   66 --
 .../simple/grails-app/views/requestmap/create.gsp  |   47 -
 .../ui/simple/grails-app/views/requestmap/edit.gsp |   54 -
 .../simple/grails-app/views/requestmap/search.gsp  |   73 --
 .../ui/simple/grails-app/views/role/create.gsp     |   42 -
 .../ui/simple/grails-app/views/role/edit.gsp       |   49 -
 .../ui/simple/grails-app/views/role/search.gsp     |   56 -
 .../grails-app/views/securityInfo/config.gsp       |   61 --
 .../grails-app/views/securityInfo/currentAuth.gsp  |   44 -
 .../grails-app/views/securityInfo/filterChains.gsp |   41 -
 .../views/securityInfo/logoutHandlers.gsp          |   29 -
 .../grails-app/views/securityInfo/mappings.gsp     |   34 -
 .../grails-app/views/securityInfo/providers.gsp    |   29 -
 .../views/securityInfo/secureChannel.gsp           |   35 -
 .../grails-app/views/securityInfo/usercache.gsp    |   87 --
 .../grails-app/views/securityInfo/voters.gsp       |   29 -
 .../ui/simple/grails-app/views/user/create.gsp     |   55 -
 .../ui/simple/grails-app/views/user/edit.gsp       |   76 --
 .../ui/simple/grails-app/views/user/search.gsp     |   94 --
 .../simple/spec/DefaultSecurityInfoSpec.groovy     |    7 +-
 grails-testing-support-core/build.gradle           |    2 +
 .../grails/testing/services/ServiceUnitTest.groovy |    2 +-
 .../IntegrationTestAstTransformation.groovy        |    3 +-
 .../org/grails/testing/GrailsUnitTest.groovy       |   43 +-
 .../testing/DefineBeansPluginHooksSpec.groovy      |   57 +
 .../testing/spock/WebSetupSpecInterceptor.groovy   |    2 +-
 .../UrlMappingsBeanDefinitionsPostProcessor.groovy |  111 ++
 .../web/mapping/UrlMappingsGrailsPlugin.groovy     |   56 +-
 .../web/mapping/UrlMappingsGrailsPluginSpec.groovy |  111 ++
 .../resolve/GenericGroovyTemplateResolver.groovy   |    2 +-
 .../plugin/json/view/JsonViewGrailsPlugin.groovy   |   44 +-
 .../json/view/JsonViewGrailsPluginSpec.groovy      |   69 ++
 .../markup/view/MarkupViewGrailsPlugin.groovy      |   42 +-
 .../markup/view/MarkupViewGrailsPluginSpec.groovy  |   68 ++
 .../groovy/org/grails/web/json/JSONTokener.java    |    2 +-
 .../web/databinding/GrailsWebDataBinder.groovy     |    4 +-
 .../grails/web/errors/GrailsExceptionResolver.java |   39 +
 .../web/errors/GrailsExceptionResolverSpec.groovy  |   88 ++
 grails-web-url-mappings/build.gradle               |   16 +
 .../mapping/cli}/UrlMappingsReportCommand.groovy   |    7 +-
 .../grails/web/mapping/DefaultLinkGenerator.groovy |    4 +-
 .../org/grails/web/mapping/RegexUrlMapping.java    |    2 +-
 grails-wrapper/build.gradle                        |    9 +-
 .../src/main/java/grails/init/GrailsUpdater.java   |  125 ++-
 .../main/java/grails/init/GrailsWrapperRepo.java   |   86 +-
 .../groovy/grails/init/GrailsUpdaterSpec.groovy    |  254 +++++
 .../grails/init/GrailsWrapperRepoSpec.groovy       |  150 +++
 724 files changed, 21447 insertions(+), 9029 deletions(-)
 create mode 100644 
build-logic/plugins/src/test/groovy/org/apache/grails/buildsrc/PublishPluginSpec.groovy
 create mode 100644 
build-logic/plugins/src/test/groovy/org/apache/grails/buildsrc/SbomPluginSpec.groovy
 create mode 100644 gradle/cli-companion-bom-constraints.gradle
 copy 
grails-async/plugin/src/{main/groovy/org/grails/plugins/web/async/ControllersAsyncGrailsPlugin.groovy
 => 
test/groovy/org/grails/plugins/web/async/ControllersAsyncGrailsPluginSpec.groovy}
 (52%)
 create mode 100644 
grails-cache/src/main/groovy/grails/plugin/cache/GrailsCacheAutoConfiguration.groovy
 create mode 100644 
grails-cache/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
 create mode 100644 
grails-cache/src/test/groovy/grails/plugin/cache/CacheGrailsPluginSpec.groovy
 create mode 100644 
grails-cache/src/test/groovy/grails/plugin/cache/GrailsCacheAutoConfigurationSpec.groovy
 create mode 100644 
grails-controllers/src/main/groovy/org/grails/plugins/web/controllers/ControllerBeanDefinitionsPostProcessor.groovy
 create mode 100644 
grails-controllers/src/test/groovy/org/grails/plugins/web/controllers/ControllerBeanDefinitionsPostProcessorSpec.groovy
 create mode 100644 
grails-controllers/src/test/groovy/org/grails/plugins/web/controllers/ControllersGrailsPluginSpec.groovy
 create mode 100644 
grails-converters/src/test/groovy/org/grails/plugins/converters/ConvertersGrailsPluginSpec.groovy
 rename grails-core/src/{main/groovy/grails/dev/commands => 
cli/groovy/org/apache/grails/core/cli}/ApplicationCommand.groovy (97%)
 rename grails-core/src/{main/groovy/grails/dev/commands => 
cli/groovy/org/apache/grails/core/cli}/ApplicationContextCommandRegistry.groovy 
(78%)
 rename grails-core/src/{main/groovy/grails/dev/commands => 
cli/groovy/org/apache/grails/core/cli}/ConfigReportCommand.groovy (99%)
 rename grails-core/src/{main/groovy/grails/dev/commands => 
cli/groovy/org/apache/grails/core/cli}/ExecutionContext.groovy (96%)
 rename grails-core/src/{main/groovy/grails/dev/commands => 
cli/groovy/org/apache/grails/core/cli}/GrailsApplicationCommand.groovy (84%)
 create mode 100644 
grails-core/src/cli/groovy/org/apache/grails/core/cli/compiler/CommandFactoriesTransformation.groovy
 rename grails-core/src/{main/groovy/grails/dev/commands => 
cli/groovy/org/apache/grails/core/cli}/io/FileSystemInteraction.groovy (98%)
 rename grails-core/src/{main/groovy/grails/dev/commands => 
cli/groovy/org/apache/grails/core/cli}/io/FileSystemInteractionImpl.groovy (99%)
 rename grails-core/src/{main/groovy/grails/dev/commands => 
cli/groovy/org/apache/grails/core/cli}/template/TemplateException.groovy (95%)
 rename grails-core/src/{main/groovy/grails/dev/commands => 
cli/groovy/org/apache/grails/core/cli}/template/TemplateRenderer.groovy (99%)
 rename grails-core/src/{main/groovy/grails/dev/commands => 
cli/groovy/org/apache/grails/core/cli}/template/TemplateRendererImpl.groovy 
(97%)
 create mode 100644 grails-core/src/cli/resources/META-INF/grails-cli.factories
 create mode 100644 
grails-core/src/cli/resources/META-INF/services/org.codehaus.groovy.transform.ASTTransformation
 create mode 100644 
grails-core/src/main/groovy/org/grails/compiler/injection/FactoriesFileWriter.groovy
 create mode 100644 
grails-core/src/test/groovy/grails/plugins/DefaultGrailsPluginManagerRegistryContractSpec.groovy
 create mode 100644 
grails-core/src/test/groovy/grails/util/GrailsUtilStackFiltererSpec.groovy
 create mode 100644 
grails-core/src/test/groovy/org/apache/grails/core/GrailsBootstrapRegistryInitializerSpec.groovy
 rename grails-core/src/test/groovy/{grails/dev/commands => 
org/apache/grails/core/cli}/ConfigReportCommandSpec.groovy (99%)
 create mode 100644 
grails-core/src/test/groovy/org/apache/grails/core/cli/compiler/CommandFactoriesTransformationSpec.groovy
 create mode 100644 
grails-core/src/test/groovy/org/grails/compiler/injection/FactoriesFileWriterSpec.groovy
 create mode 100644 grails-core/src/test/resources/logback-test.xml
 create mode 100644 
grails-core/src/testFixtures/groovy/org/apache/grails/core/testing/support/LogCapture.groovy
 create mode 100644 
grails-data-graphql/plugin/src/test/groovy/org/grails/gorm/graphql/plugin/GormGraphqlGrailsPluginSpec.groovy
 rename 
grails-data-hibernate5/dbmigration/src/{main/groovy/org/grails/plugins/databasemigration/command
 => 
cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/ApplicationContextDatabaseMigrationCommand.groovy
 (97%)
 rename 
grails-data-hibernate5/dbmigration/src/{main/groovy/org/grails/plugins/databasemigration/command
 => 
cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DatabaseMigrationCommand.groovy
 (99%)
 rename 
grails-data-hibernate5/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmChangelogSyncCommand.groovy
 (91%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmChangelogSyncSqlCommand.groovy
 (92%)
 rename 
grails-data-hibernate5/dbmigration/src/{main/groovy/org/grails/plugins/databasemigration/command
 => 
cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmChangelogToGroovy.groovy
 (98%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmClearChecksumsCommand.groovy
 (91%)
 rename 
grails-data-hibernate5/dbmigration/src/{main/groovy/org/grails/plugins/databasemigration/command
 => 
cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmCreateChangelog.groovy
 (97%)
 rename 
grails-data-hibernate5/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmDbDocCommand.groovy
 (92%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmDiffCommand.groovy
 (96%)
 rename 
grails-data-hibernate5/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmDropAllCommand.groovy
 (93%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmFutureRollbackCountSqlCommand.groovy
 (94%)
 rename 
grails-data-hibernate5/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmFutureRollbackSqlCommand.groovy
 (92%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmGenerateChangelogCommand.groovy
 (94%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmGenerateGormChangelogCommand.groovy
 (95%)
 rename 
grails-data-hibernate5/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmGormDiffCommand.groovy
 (95%)
 rename 
grails-data-hibernate5/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmListLocksCommand.groovy
 (94%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmMarkNextChangesetRanCommand.groovy
 (91%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmMarkNextChangesetRanSqlCommand.groovy
 (92%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmPreviousChangesetSqlCommand.groovy
 (95%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmReleaseLocksCommand.groovy
 (91%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmRollbackCommand.groovy
 (93%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmRollbackCountCommand.groovy
 (93%)
 rename 
grails-data-hibernate5/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmRollbackCountSqlCommand.groovy
 (94%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmRollbackSqlCommand.groovy
 (93%)
 rename 
grails-data-hibernate5/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmRollbackToDateCommand.groovy
 (94%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmRollbackToDateSqlCommand.groovy
 (95%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmStatusCommand.groovy
 (93%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmTagCommand.groovy
 (92%)
 rename 
grails-data-hibernate5/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmUpdateCommand.groovy
 (91%)
 rename 
grails-data-hibernate5/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmUpdateCountCommand.groovy
 (93%)
 rename 
grails-data-hibernate5/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmUpdateCountSqlCommand.groovy
 (94%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmUpdateSqlCommand.groovy
 (92%)
 rename 
{grails-data-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmValidateCommand.groovy
 (91%)
 rename 
{grails-data-hibernate7/dbmigration/src/main/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/ScriptDatabaseMigrationCommand.groovy
 (97%)
 rename grails-data-hibernate5/dbmigration/src/{main/scripts => 
cli/resources/META-INF/commands}/dbm-changelog-to-groovy.groovy (95%)
 rename grails-data-hibernate5/dbmigration/src/{main/scripts => 
cli/resources/META-INF/commands}/dbm-create-changelog.groovy (95%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate5/dbmigration/cli}/ApplicationContextDatabaseMigrationCommandSpec.groovy
 (96%)
 rename 
{grails-data-hibernate7/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/test/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DatabaseMigrationCommandConfigSpec.groovy
 (98%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate5/dbmigration/cli}/DatabaseMigrationCommandSpec.groovy
 (96%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate5/dbmigration/cli}/DbmChangelogSyncCommandSpec.groovy
 (93%)
 rename 
{grails-data-hibernate7/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/test/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmChangelogSyncCommandSqlSpec.groovy
 (95%)
 rename 
{grails-data-hibernate7/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/test/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmClearChecksumsCommandSpec.groovy
 (95%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => apache/grails/data/hibernate5/dbmigration/cli}/DbmDiffCommandSpec.groovy 
(97%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => apache/grails/data/hibernate5/dbmigration/cli}/DbmDropAllCommandSpec.groovy 
(93%)
 rename 
{grails-data-hibernate7/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/test/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmFutureRollbackCountSqlCommandSpec.groovy
 (97%)
 rename 
{grails-data-hibernate7/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/test/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmFutureRollbackSqlCommandSpec.groovy
 (97%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate5/dbmigration/cli}/DbmGenerateChangelogCommandSpec.groovy
 (97%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate5/dbmigration/cli}/DbmGenerateGormChangelogCommandSpec.groovy
 (98%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate5/dbmigration/cli}/DbmGormDiffCommandSpec.groovy 
(97%)
 rename 
{grails-data-hibernate7/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/test/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmListLocksCommandSpec.groovy
 (95%)
 rename 
{grails-data-hibernate7/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/test/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmMarkNextChangesetRanCommandSpec.groovy
 (93%)
 rename 
{grails-data-hibernate7/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/test/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmMarkNextChangesetRanSqlCommandSpec.groovy
 (95%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate5/dbmigration/cli}/DbmPreviousChangesetSqlCommandSpec.groovy
 (97%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate5/dbmigration/cli}/DbmReleaseLocksCommandSpec.groovy
 (93%)
 rename 
{grails-data-hibernate7/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/test/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmRollbackCommandSpec.groovy
 (97%)
 rename 
{grails-data-hibernate7/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/test/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmRollbackCountCommandSpec.groovy
 (97%)
 rename 
{grails-data-hibernate7/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/test/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmRollbackCountSqlCommandSpec.groovy
 (97%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate5/dbmigration/cli}/DbmRollbackSqlCommandSpec.groovy 
(97%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate5/dbmigration/cli}/DbmRollbackToDateCommandSpec.groovy
 (97%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate5/dbmigration/cli}/DbmRollbackToDateSqlCommandSpec.groovy
 (97%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => apache/grails/data/hibernate5/dbmigration/cli}/DbmStatusCommandSpec.groovy 
(94%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => apache/grails/data/hibernate5/dbmigration/cli}/DbmUpdateCommandSpec.groovy 
(97%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate5/dbmigration/cli}/DbmUpdateCountCommandSpec.groovy 
(96%)
 rename 
{grails-data-hibernate7/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/test/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmUpdateCountSqlCommandSpec.groovy
 (97%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate5/dbmigration/cli}/DbmUpdateSqlCommandSpec.groovy 
(98%)
 rename 
grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate5/dbmigration/cli}/DbmValidateCommandSpec.groovy 
(96%)
 rename 
{grails-data-hibernate7/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate5/dbmigration/src/test/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/ScriptDatabaseMigrationCommandSpec.groovy
 (97%)
 copy {grails-data-hibernate7 => 
grails-data-hibernate5}/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/DatabaseMigrationGrailsPluginSpec.groovy
 (80%)
 rename 
{grails-data-hibernate7/grails-plugin/src/main/groovy/grails/plugin/hibernate/commands
 => 
grails-data-hibernate5/grails-plugin/src/cli/groovy/org/apache/grails/data/hibernate5/cli}/SchemaExportCommand.groovy
 (96%)
 rename 
grails-data-hibernate7/dbmigration/src/{main/groovy/org/grails/plugins/databasemigration/command
 => 
cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/ApplicationContextDatabaseMigrationCommand.groovy
 (97%)
 rename 
grails-data-hibernate7/dbmigration/src/{main/groovy/org/grails/plugins/databasemigration/command
 => 
cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DatabaseMigrationCommand.groovy
 (99%)
 rename 
grails-data-hibernate7/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmChangelogSyncCommand.groovy
 (91%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmChangelogSyncSqlCommand.groovy
 (92%)
 rename 
grails-data-hibernate7/dbmigration/src/{main/groovy/org/grails/plugins/databasemigration/command
 => 
cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmChangelogToGroovy.groovy
 (98%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmClearChecksumsCommand.groovy
 (91%)
 rename 
grails-data-hibernate7/dbmigration/src/{main/groovy/org/grails/plugins/databasemigration/command
 => 
cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmCreateChangelog.groovy
 (97%)
 rename 
grails-data-hibernate7/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmDbDocCommand.groovy
 (92%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmDiffCommand.groovy
 (96%)
 rename 
grails-data-hibernate7/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmDropAllCommand.groovy
 (93%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmFutureRollbackCountSqlCommand.groovy
 (94%)
 rename 
grails-data-hibernate7/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmFutureRollbackSqlCommand.groovy
 (92%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmGenerateChangelogCommand.groovy
 (94%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmGenerateGormChangelogCommand.groovy
 (95%)
 rename 
grails-data-hibernate7/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmGormDiffCommand.groovy
 (95%)
 rename 
grails-data-hibernate7/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmListLocksCommand.groovy
 (94%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmMarkNextChangesetRanCommand.groovy
 (91%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmMarkNextChangesetRanSqlCommand.groovy
 (92%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmPreviousChangesetSqlCommand.groovy
 (95%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmReleaseLocksCommand.groovy
 (91%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmRollbackCommand.groovy
 (93%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmRollbackCountCommand.groovy
 (93%)
 rename 
grails-data-hibernate7/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmRollbackCountSqlCommand.groovy
 (94%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmRollbackSqlCommand.groovy
 (93%)
 rename 
grails-data-hibernate7/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmRollbackToDateCommand.groovy
 (94%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmRollbackToDateSqlCommand.groovy
 (95%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmStatusCommand.groovy
 (93%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmTagCommand.groovy
 (92%)
 rename 
grails-data-hibernate7/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmUpdateCommand.groovy
 (91%)
 rename 
grails-data-hibernate7/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmUpdateCountCommand.groovy
 (93%)
 rename 
grails-data-hibernate7/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command
 => 
src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmUpdateCountSqlCommand.groovy
 (94%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmUpdateSqlCommand.groovy
 (92%)
 rename 
{grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmValidateCommand.groovy
 (91%)
 rename 
{grails-data-hibernate5/dbmigration/src/main/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/ScriptDatabaseMigrationCommand.groovy
 (97%)
 rename grails-data-hibernate7/dbmigration/src/{main/scripts => 
cli/resources/META-INF/commands}/dbm-changelog-to-groovy.groovy (95%)
 rename grails-data-hibernate7/dbmigration/src/{main/scripts => 
cli/resources/META-INF/commands}/dbm-create-changelog.groovy (95%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate7/dbmigration/cli}/ApplicationContextDatabaseMigrationCommandSpec.groovy
 (96%)
 rename 
{grails-data-hibernate5/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/test/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DatabaseMigrationCommandConfigSpec.groovy
 (98%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate7/dbmigration/cli}/DatabaseMigrationCommandSpec.groovy
 (97%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate7/dbmigration/cli}/DbmChangelogSyncCommandSpec.groovy
 (93%)
 rename 
{grails-data-hibernate5/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/test/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmChangelogSyncCommandSqlSpec.groovy
 (95%)
 rename 
{grails-data-hibernate5/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/test/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmClearChecksumsCommandSpec.groovy
 (95%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => apache/grails/data/hibernate7/dbmigration/cli}/DbmDiffCommandSpec.groovy 
(97%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => apache/grails/data/hibernate7/dbmigration/cli}/DbmDropAllCommandSpec.groovy 
(93%)
 rename 
{grails-data-hibernate5/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/test/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmFutureRollbackCountSqlCommandSpec.groovy
 (97%)
 rename 
{grails-data-hibernate5/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/test/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmFutureRollbackSqlCommandSpec.groovy
 (97%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate7/dbmigration/cli}/DbmGenerateChangelogCommandSpec.groovy
 (97%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate7/dbmigration/cli}/DbmGenerateGormChangelogCommandSpec.groovy
 (98%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate7/dbmigration/cli}/DbmGormDiffCommandSpec.groovy 
(97%)
 rename 
{grails-data-hibernate5/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/test/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmListLocksCommandSpec.groovy
 (95%)
 rename 
{grails-data-hibernate5/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/test/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmMarkNextChangesetRanCommandSpec.groovy
 (93%)
 rename 
{grails-data-hibernate5/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/test/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmMarkNextChangesetRanSqlCommandSpec.groovy
 (95%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate7/dbmigration/cli}/DbmPreviousChangesetSqlCommandSpec.groovy
 (97%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate7/dbmigration/cli}/DbmReleaseLocksCommandSpec.groovy
 (93%)
 rename 
{grails-data-hibernate5/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/test/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmRollbackCommandSpec.groovy
 (97%)
 rename 
{grails-data-hibernate5/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/test/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmRollbackCountCommandSpec.groovy
 (97%)
 rename 
{grails-data-hibernate5/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/test/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmRollbackCountSqlCommandSpec.groovy
 (97%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate7/dbmigration/cli}/DbmRollbackSqlCommandSpec.groovy 
(97%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate7/dbmigration/cli}/DbmRollbackToDateCommandSpec.groovy
 (97%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate7/dbmigration/cli}/DbmRollbackToDateSqlCommandSpec.groovy
 (97%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => apache/grails/data/hibernate7/dbmigration/cli}/DbmStatusCommandSpec.groovy 
(94%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => apache/grails/data/hibernate7/dbmigration/cli}/DbmUpdateCommandSpec.groovy 
(97%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate7/dbmigration/cli}/DbmUpdateCountCommandSpec.groovy 
(96%)
 rename 
{grails-data-hibernate5/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/test/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmUpdateCountSqlCommandSpec.groovy
 (97%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate7/dbmigration/cli}/DbmUpdateSqlCommandSpec.groovy 
(98%)
 rename 
grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command
 => 
apache/grails/data/hibernate7/dbmigration/cli}/DbmValidateCommandSpec.groovy 
(96%)
 rename 
{grails-data-hibernate5/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command
 => 
grails-data-hibernate7/dbmigration/src/test/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/ScriptDatabaseMigrationCommandSpec.groovy
 (97%)
 rename 
{grails-data-hibernate5/grails-plugin/src/main/groovy/grails/plugin/hibernate/commands
 => 
grails-data-hibernate7/grails-plugin/src/cli/groovy/org/apache/grails/data/hibernate7/cli}/SchemaExportCommand.groovy
 (95%)
 create mode 100644 
grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/query/transform/GlobalGormQuerySafetyASTTransformation.java
 create mode 100644 
grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/query/transform/GormQuerySafetyTransformer.java
 create mode 100644 
grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/query/transform/GlobalGormQuerySafetyASTTransformationSpec.groovy
 create mode 100644 
grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/query/transform/GormQuerySafetyTransformerSpec.groovy
 create mode 100644 
grails-datasource/src/main/groovy/org/grails/plugins/datasource/DataSourceBeanDefinitionsPostProcessor.groovy
 create mode 100644 
grails-domain-class/src/test/groovy/org/grails/plugins/domain/DomainClassGrailsPluginSpec.groovy
 create mode 100644 
grails-events/plugin/src/test/groovy/org/grails/plugins/events/EventBusGrailsPluginSpec.groovy
 create mode 100644 
grails-fields/src/test/groovy/grails/plugin/formfields/FieldsGrailsPluginSpec.groovy
 copy 
grails-test-examples/app2/grails-app/controllers/app2/TestController.groovy => 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/build/gradle/MavenLocalRepository.java
 (66%)
 delete mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/grails/GrailsConsole.java
 create mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/security/GrailsSpringSecurity.java
 create mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/security/GrailsSpringSecurityUi.java
 rename 
grails-spring-security/ui/plugin/src/main/groovy/grails/plugin/springsecurity/ui/Constants.groovy
 => 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/security/PrimarySecurityFeature.java
 (58%)
 create mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/security/SecurityFeature.java
 create mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/security/SpringBootStarterSecurity.java
 copy 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/{lang/groovy/bootStrap.rocker.raw
 => security/template/role.rocker.raw} (61%)
 create mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/security/template/securityApplicationGroovy.rocker.raw
 create mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/security/template/securityConfig.rocker.raw
 copy 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/{lang/groovy/bootStrap.rocker.raw
 => security/template/user.rocker.raw} (53%)
 create mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/security/template/userClassic.rocker.raw
 copy 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/{lang/groovy/bootStrap.rocker.raw
 => security/template/userClassicService.rocker.raw} (87%)
 copy 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/{lang/groovy/bootStrap.rocker.raw
 => security/template/userClassicSpec.rocker.raw} (54%)
 copy 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/{lang/groovy/bootStrap.rocker.raw
 => security/template/userController.rocker.raw} (80%)
 create mode 100644 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/security/template/userRole.rocker.raw
 copy 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/{lang/groovy/bootStrap.rocker.raw
 => security/template/userService.rocker.raw} (56%)
 copy 
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/{lang/groovy/bootStrap.rocker.raw
 => security/template/userSpec.rocker.raw} (60%)
 create mode 100644 
grails-forge/grails-forge-core/src/main/resources/i18n/messages_zh_TW.properties
 create mode 100644 
grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/build/gradle/GradleRepositorySpec.groovy
 create mode 100644 
grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/security/GrailsSpringSecuritySpec.groovy
 create mode 100644 
grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/security/GrailsSpringSecurityUiSpec.groovy
 create mode 100644 
grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/security/SpringBootStarterSecuritySpec.groovy
 create mode 100644 
grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/commands/CliArtifactExtension.groovy
 create mode 100644 
grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/commands/CliPublishingSupport.groovy
 create mode 100644 
grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/commands/GrailsCliArtifactGradlePlugin.groovy
 create mode 100644 
grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/commands/GrailsCliGradlePlugin.groovy
 create mode 100644 
grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/commands/GrailsCliLibraryGradlePlugin.groovy
 create mode 100644 
grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/util/ClasspathUtils.groovy
 create mode 100644 
grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/commands/CliAutoDiscoverySpec.groovy
 create mode 100644 
grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/commands/CliCompanionPublishingSpec.groovy
 create mode 100644 
grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/core/BomCliMultiprojectRaceFunctionalSpec.groovy
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/bom-cli-multiproject-race/consumer/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/bom-cli-multiproject-race/maven-repo/org/apache/grails/race-bom/1.0-race/race-bom-1.0-race.pom
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/bom-cli-multiproject-race/producer/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/bom-cli-multiproject-race/settings.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-autodiscovery/app/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-autodiscovery/gradle.properties
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-autodiscovery/my-plugin/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-autodiscovery/my-plugin/src/cli/java/com/example/HelloWorldCommand.java
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-autodiscovery/my-plugin/src/cli/resources/META-INF/grails-cli.factories
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-autodiscovery/renamed-plugin/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-autodiscovery/renamed-plugin/src/cli/java/com/acme/AcmeCommand.java
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-autodiscovery/settings.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-publishing/console-lib/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-publishing/custom-owner/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-publishing/gradle.properties
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-publishing/owner/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-publishing/plugin-a/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-publishing/plugin-b/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-publishing/resolver/build.gradle
 create mode 100644 
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-publishing/settings.gradle
 create mode 100644 
grails-gsp/grails-layout/src/test/groovy/org/apache/grails/web/layout/LayoutGrailsPluginSpec.groovy
 create mode 100644 
grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/LocaleSelectConfiguredDefaultSpec.groovy
 create mode 100644 
grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/LocaleSelectPinnedVariantSpec.groovy
 create mode 100644 
grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/LocaleSelectRenderingSpec.groovy
 create mode 100644 grails-i18n/src/test/resources/messages_cs.properties
 create mode 100644 
grails-interceptors/src/main/groovy/org/grails/plugins/web/interceptors/InterceptorBeanDefinitionsPostProcessor.groovy
 create mode 100644 
grails-interceptors/src/test/groovy/org/grails/plugins/web/interceptors/InterceptorsGrailsPluginSpec.groovy
 create mode 100644 
grails-profiles/base/skeleton/grails-app/i18n/messages_zh_TW.properties
 create mode 100644 
grails-redis/src/main/groovy/grails/plugins/redis/RedisBeanDefinitionsPostProcessor.groovy
 create mode 100644 
grails-redis/src/test/groovy/grails/plugins/redis/RedisBeanDefinitionsPostProcessorSpec.groovy
 create mode 100644 
grails-rest-transforms/src/test/groovy/org/grails/plugins/web/rest/plugin/RestResponderGrailsPluginSpec.groovy
 rename grails-scaffolding/src/{main/groovy/grails/plugin/scaffolding => 
cli/groovy/org/apache/grails/scaffolding/cli}/CommandLineHelper.groovy (94%)
 rename grails-scaffolding/{grails-app/commands/scaffolding => 
src/cli/groovy/org/apache/grails/scaffolding/cli}/CreateScaffoldControllerCommand.groovy
 (94%)
 rename grails-scaffolding/{grails-app/commands/scaffolding => 
src/cli/groovy/org/apache/grails/scaffolding/cli}/CreateScaffoldServiceCommand.groovy
 (93%)
 rename grails-scaffolding/{grails-app/commands/scaffolding => 
src/cli/groovy/org/apache/grails/scaffolding/cli}/GenerateAllCommand.groovy 
(91%)
 rename grails-scaffolding/{grails-app/commands/scaffolding => 
src/cli/groovy/org/apache/grails/scaffolding/cli}/GenerateAsyncControllerCommand.groovy
 (94%)
 rename grails-scaffolding/{grails-app/commands/scaffolding => 
src/cli/groovy/org/apache/grails/scaffolding/cli}/GenerateControllerCommand.groovy
 (95%)
 rename grails-scaffolding/{grails-app/commands/scaffolding => 
src/cli/groovy/org/apache/grails/scaffolding/cli}/GenerateScaffoldAllCommand.groovy
 (95%)
 rename grails-scaffolding/{grails-app/commands/scaffolding => 
src/cli/groovy/org/apache/grails/scaffolding/cli}/GenerateServiceCommand.groovy 
(93%)
 rename grails-scaffolding/{grails-app/commands/scaffolding => 
src/cli/groovy/org/apache/grails/scaffolding/cli}/GenerateViewsCommand.groovy 
(94%)
 rename grails-scaffolding/{grails-app/commands/scaffolding => 
src/cli/groovy/org/apache/grails/scaffolding/cli}/InstallTemplatesCommand.groovy
 (93%)
 rename 
{grails-spring-security/plugin/grails-app/commands/grails.plugin.springsecurity 
=> 
grails-scaffolding/src/cli/groovy/org/apache/grails/scaffolding/cli}/SkipBootstrap.groovy
 (95%)
 create mode 100644 
grails-services/src/main/groovy/org/grails/plugins/services/ServiceBeanDefinitionsPostProcessor.groovy
 create mode 100644 
grails-services/src/test/groovy/org/grails/plugins/services/ServicesGrailsPluginSpec.groovy
 create mode 100644 
grails-shell-cli/src/main/groovy/org/grails/cli/profile/GrailsRepositoryOverrides.groovy
 create mode 100644 
grails-shell-cli/src/test/groovy/org/grails/cli/GrailsCliProjectDetectionSpec.groovy
 create mode 100644 
grails-shell-cli/src/test/groovy/org/grails/cli/compiler/grape/DefaultRepositorySystemSessionAutoConfigurationSpec.groovy
 create mode 100644 
grails-shell-cli/src/test/groovy/org/grails/cli/profile/GrailsRepositoryOverridesSpec.groovy
 create mode 100644 
grails-shell-cli/src/test/groovy/org/grails/cli/profile/repository/MavenProfileRepositorySnapshotSpec.groovy
 rename 
grails-spring-security/oauth2/plugin/{grails-app/commands/grails/plugin/springsecurity/oauth2
 => 
src/cli/groovy/org/apache/grails/security/oauth2/cli}/CommandLineHelper.groovy 
(95%)
 rename 
grails-spring-security/oauth2/plugin/{grails-app/commands/grails/plugin/springsecurity/oauth2
 => 
src/cli/groovy/org/apache/grails/security/oauth2/cli}/InitOAuth2Command.groovy 
(97%)
 create mode 100644 
grails-spring-security/plugin/grails-app/i18n/spring-security-core_cs.properties
 create mode 100644 
grails-spring-security/plugin/grails-app/i18n/spring-security-core_da.properties
 create mode 100644 
grails-spring-security/plugin/grails-app/i18n/spring-security-core_nl.properties
 create mode 100644 
grails-spring-security/plugin/grails-app/i18n/spring-security-core_pl.properties
 create mode 100644 
grails-spring-security/plugin/grails-app/i18n/spring-security-core_pt_PT.properties
 create mode 100644 
grails-spring-security/plugin/grails-app/i18n/spring-security-core_sk.properties
 create mode 100644 
grails-spring-security/plugin/grails-app/i18n/spring-security-core_th.properties
 create mode 100644 
grails-spring-security/plugin/grails-app/i18n/spring-security-core_zh_CN.properties
 rename 
grails-spring-security/plugin/{grails-app/commands/grails.plugin.springsecurity 
=> src/cli/groovy/org/apache/grails/security/cli}/CommandLineHelper.groovy (95%)
 rename 
grails-spring-security/plugin/{grails-app/commands/grails.plugin.springsecurity 
=> 
src/cli/groovy/org/apache/grails/security/cli}/S2CreatePersistentTokenCommand.groovy
 (95%)
 rename 
grails-spring-security/plugin/{grails-app/commands/grails.plugin.springsecurity 
=> 
src/cli/groovy/org/apache/grails/security/cli}/S2CreateRoleHierarchyEntryCommand.groovy
 (95%)
 rename 
grails-spring-security/plugin/{grails-app/commands/grails.plugin.springsecurity 
=> src/cli/groovy/org/apache/grails/security/cli}/S2QuickstartCommand.groovy 
(99%)
 rename {grails-scaffolding/src/main/groovy/grails/plugin/scaffolding => 
grails-spring-security/plugin/src/cli/groovy/org/apache/grails/security/cli}/SkipBootstrap.groovy
 (95%)
 rename 
grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsConsoleSpec.groovy
 => 
grails-spring-security/plugin/src/test/groovy/grails/plugin/springsecurity/LogoutControllerSpec.groovy
 (56%)
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/images/icons/error.svg
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/images/icons/info.svg
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/images/icons/role.svg
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/images/icons/user.svg
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/images/icons/users.svg
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/images/sort_asc.png
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/images/sort_asc_disabled.png
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/images/sort_both.png
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/images/sort_desc.png
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/images/sort_desc_disabled.png
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/javascripts/jquery/jquery.jdMenu.js
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/javascripts/jquery/jquery.positionBy.js
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/javascripts/spring-security-ui-register.js
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/elements/btn_left.gif
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/elements/btn_right.gif
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/elements/checkbox.gif
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/elements/input.gif
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/elements/input_left.gif
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/elements/input_right.gif
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/elements/radio.gif
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/elements/select_right.gif
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/gradient-alt.png
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/gradient-vertical.png
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/gradient.png
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/jquery-ui.css
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/jquery.dataTables.css
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/jquery.jdMenu.css
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/jquery.jdMenu.slate.css
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/reset.css
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/spring-security-ui-auth.css
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/spring-security-ui-common.css
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/spring-security-ui-register.css
 delete mode 100644 
grails-spring-security/ui/plugin/grails-app/assets/stylesheets/spring-security-ui.css
 create mode 100644 
grails-spring-security/ui/plugin/src/test/groovy/grails/plugin/springsecurity/ui/SecurityUiTagLibSpec.groovy
 create mode 100644 
grails-test-examples/app2/src/integration-test/groovy/app2/GrailsUtilStackFiltererIntegrationSpec.groovy
 create mode 100644 
grails-test-examples/app2/src/main/groovy/app2/RecordingStackTraceFilterer.groovy
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/assets/stylesheets/main.css
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/includes/_ajaxLogin.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/layouts/email.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/layouts/register.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/layouts/springSecurityUI.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/register/_forgotPasswordMail.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/register/_verifyRegistrationMail.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/register/forgotPassword.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/register/register.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/register/resetPassword.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/register/securityQuestions.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/role/create.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/role/edit.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/role/search.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/user/create.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/user/edit.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/extended/grails-app/views/user/search.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/assets/stylesheets/main.css
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/includes/_ajaxLogin.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/layouts/email.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/layouts/register.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/layouts/springSecurityUI.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/persistentLogin/edit.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/persistentLogin/search.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/register/_forgotPasswordMail.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/register/_verifyRegistrationMail.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/register/forgotPassword.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/register/register.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/register/resetPassword.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/register/securityQuestions.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/registrationCode/edit.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/registrationCode/search.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/requestmap/create.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/requestmap/edit.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/requestmap/search.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/role/create.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/role/edit.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/role/search.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/securityInfo/config.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/securityInfo/currentAuth.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/securityInfo/filterChains.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/securityInfo/logoutHandlers.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/securityInfo/mappings.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/securityInfo/providers.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/securityInfo/secureChannel.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/securityInfo/usercache.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/securityInfo/voters.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/user/create.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/user/edit.gsp
 delete mode 100644 
grails-test-examples/spring-security/ui/simple/grails-app/views/user/search.gsp
 create mode 100644 
grails-testing-support-core/src/test/groovy/org/grails/testing/DefineBeansPluginHooksSpec.groovy
 create mode 100644 
grails-url-mappings/src/main/groovy/org/grails/plugins/web/mapping/UrlMappingsBeanDefinitionsPostProcessor.groovy
 create mode 100644 
grails-url-mappings/src/test/groovy/org/grails/plugins/web/mapping/UrlMappingsGrailsPluginSpec.groovy
 create mode 100644 
grails-views-gson/src/test/groovy/grails/plugin/json/view/JsonViewGrailsPluginSpec.groovy
 create mode 100644 
grails-views-markup/src/test/groovy/grails/plugin/markup/view/MarkupViewGrailsPluginSpec.groovy
 rename 
grails-web-url-mappings/src/{main/groovy/org/grails/web/mapping/reporting => 
cli/groovy/org/apache/grails/web/mapping/cli}/UrlMappingsReportCommand.groovy 
(89%)
 create mode 100644 
grails-wrapper/src/test/groovy/grails/init/GrailsUpdaterSpec.groovy
 create mode 100644 
grails-wrapper/src/test/groovy/grails/init/GrailsWrapperRepoSpec.groovy

Reply via email to