You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by bo...@apache.org on 2026/07/19 20:42:48 UTC
(grails-core) branch feat/neo4j-gorm-registry-migration updated (3e72281ac0 -> 761ee416c6)
This is an automated email from the ASF dual-hosted git repository.
borinquenkid pushed a change to branch feat/neo4j-gorm-registry-migration
in repository https://gitbox.apache.org/repos/asf/grails-core.git
discard 3e72281ac0 fix(grails-data-neo4j): scope neo4j-java-driver pin to a dedicated grails-neo4j-bom
discard 6f5975bf51 refactor(grails-data-neo4j): dedupe test/Jetty/driver build config, drop redundant BOM force
discard 059aad2f11 fix(grails-test-examples): drop stale grailsSpringSecurityVersion property in neo4j test-data-service
discard 1a42aaf1e6 Merge remote-tracking branch 'origin/feat/gorm-registry-core-impl' into feat/neo4j-gorm-registry-migration
discard dca3d09c6c fix(grails-data-neo4j): resolve all 270 CodeNarc violations in grails-data-neo4j-core
discard 7eedcb91cc refactor(grails-data-neo4j): rename example apps to base/hibernate5
discard 0163e87554 refactor(grails-data-neo4j): rename grails-datastore-gorm-neo4j to grails-data-neo4j-core
discard e2e4522931 feat(grails-forge): restore Neo4j GORM support
discard 3afc76ae58 feat(grails-data-neo4j): restore test-data-service example app
discard 0ca480de0d feat(grails-data-neo4j): restore neo4j-standalone example app
discard a6aa7bd8cd feat: add dedicated Neo4j functional-test CI job and publish gating
discard d580d61465 fix: rename gorm-neo4j-spring-boot to grails-data-neo4j-spring-boot
discard 40b7aa1bf1 fix: BOM-manage neo4j-java-driver with a strictly constraint, not exclude
discard 3be1f37632 fix: address jdaugherty's review feedback on consolidated Neo4j PR
discard 10baa7b993 fix: restore copyAnnotations dedup guard needed by ServiceTransformation
discard ba6fbb9515 Merge remote-tracking branch 'origin/feat/gorm-datastore-infra' into feat/gorm-registry-core-impl
discard 51157ac1af fix: guard getTenantId() DISCRIMINATOR mode and close review-flagged coverage gaps
discard 23f6b48cc7 fix: address review feedback on SessionResolver/AbstractDatastore architecture
omit 58e7597811 chore(grails-data-neo4j): clean up Checkstyle/CodeNarc violations in grails-datastore-gorm-neo4j
omit 8786d41e6d fix(grails-data-neo4j): declare intentional Jetty/neo4j-driver BOM overrides
omit 20c0f8f7b6 feat(grails-data-neo4j): re-add example apps and docs into monorepo (PR4)
omit 087b7bc109 feat: wire Neo4j adapter to GormRegistry's GormApiFactory mechanism
omit e59c4bfe9e fix: avoid Groovy MOP getProperty interception in Neo4jDataStoreSpringInitializerSpec
omit d97c869265 feat(grails-data-neo4j): fold standalone build into root settings.gradle
discard 656b2cf559 Merge branch '8.0.x' into feat/gorm-datastore-infra
omit c024658181 fix: resolve Neo4j regressions surfaced by rebasing onto Groovy 5
omit c30b21fcdd fix: address Copilot review findings on PR #15816
omit b5d3d7ae00 feat: migrate grails-data-neo4j to Groovy 4/Jakarta/GORM 8 baseline
omit 61acfed040 docs: add Neo4j GormRegistry migration plan (PR1 baseline + PR2 wiring)
omit 3914546f43 test: verify @Service+@CurrentTenant routing in DATABASE multi-tenancy mode
omit 4d31ebdf40 fix: address Copilot review findings on PR #15780
omit a78fe6ec42 chore: strip scope-creep config noise from the GormRegistry PR
omit 978a161ede fix: resolve GORM regressions surfaced by the registry refactor
omit d2999816bf test: @PendingFeature the pre-existing Mongo count-over-OR disjunction bug
omit 39b725bfc7 fix: @CurrentTenant data services resolve the primary datastore for tenant management
omit a2af31a55d test: isolate Mongo multi-tenancy specs from singleton GormRegistry pollution
omit c14288989e fix: MultiTenant.eachTenant must not force current-tenant resolution
omit 4d0b284291 fix: H7 disjunction/conjunction/negation operate on detachedCriteria
omit ce7353732d test: align H7 core tests with the GormRegistry rewrite
omit fa04725110 fix: H7 first/last(Map) inherit core's order-aware implementation
omit 7ae28ec978 fix: implement find/findAll-by-example via findWhere/findAllWhere delegation
omit 4643a360bc fix: apply pagination args before Query.list() in findAll-by-example
omit 974dac2db5 fix: register MongoGormApiFactory so Mongo entities resolve a MongoStaticApi
omit 5bf650c1d9 fix: honor getAll id order, null slots, and id conversion in Hibernate retrieveAll (H5 core 3→0)
omit d394976e9c fix: resolve multi-tenant dynamic finder dispatch and tenant session passing (H5 core 6→3)
omit 868db10ec8 fix: clear GormRegistry core-impl regressions (H5 core 42→6)
omit cbf6453146 fix: restore null-tolerant service/datastore contracts in GormRegistry core
omit 0b1f8e0c6c Fix MongoDB functional tests: fall back to enhancer API factory when no GormApiFactory registered
omit 3ac4bd6390 fix: remove redundant this.datastore assignment in HibernateGormStaticApi
omit f703035cb5 fix: resolve null datastore in H5/H7 validation and dynamic finder dispatch
omit bd2751c584 fix: restore deprecated setDatastore and persistentEntity for H7 adapter compat
omit d84e500734 fix: restore deprecated backward-compat API surface for adapter modules
omit 8563416bd6 fix: restore deprecated GormEnhancer extension points for backward compatibility
omit 0d10151426 style: remove unused ConnectionSource import and fix consecutive blank lines in HibernateGormEnhancer
omit 53480dab5c fix: register HibernateGormApiFactory in registerConstraints; update affected tests
omit 909bad4888 fix: mode-aware tenant lookup and bound DatastoreResolvers in GormRegistry
omit d9b5d91664 fix: distinguish datasource connection qualifier from tenant ID in AbstractGormApi.execute()
omit 702b21e05f fix: restore registerConstraints hook and fix MongoStaticApi fields dropped by scaling refactor
omit a959465ef4 fix: restore registerConstraints to GormEnhancer dropped in scaling refactor
omit a3adf3b71e feat: GORM O(M+N) scaling — GormRegistry, GormEnhancer, and core API refactor
omit 0f8e6c6572 fix: address Copilot review findings on PR #15779
omit f94a7727fd fix: widen MongoMappingContext.initialize visibility to public
omit 63612dad77 fix: restore concrete Service trait methods to fix @CompileStatic compilation
omit be356158f5 feat: add SessionResolver infrastructure and extend core datastore APIs
add d175d24533 Mask exception request parameters case-insensitively
add 55beb5e258 Address exception masking review feedback
add fef6e81876 Adjust exception masking tests for 7.0.x
add 0f4eae9959 Merge pull request #15810 from apache/fix/exception-masking-case-insensitive
add ba8156e51f Clarify exception resolver request logging metadata
add 642bcd5006 Merge pull request #15811 from apache/fix/request-logging-metadata-default
add 796d6b3d55 Merge branch '7.0.x' into 7.1.x
add af71689aa2 Merge branch '7.1.x' into 7.2.x
add bb5cecae76 Merge branch '7.2.x' into 8.0.x
add 7e4d087e57 Add Hibernate 7 Forge Feature
add 4d81ad43af updating command switches, renaming Gorm => Grails Data, & renaming Hibernate => Hibernate5
add 3b39d9c313 Add what's new
add d8b7b61d9e Merge remote-tracking branch 'upstream/8.0.x' into feat/addHibernate7ForgeFeature
add 3d10537b86 Address review feedback
add eb8fc5480c Update analytics spec for the GormImpl.HIBERNATE to HIBERNATE5 rename
add c68ab8410f Update command line docs for the gorm-hibernate7 feature and Grails Data terminology
add e738e8fe3f Move the datasource prefix constant to DatabaseDriverConfigurationFeature
add e5bd4d1b9c Reject invalid Grails Data implementation values on the create endpoints
add b668d64db4 Address review feedback: restore Hibernate 5 auto-add for SQL drivers with MongoDB, use ConversionContext#reject, remove unused imports
add 003f13890e Merge branch '8.0.x' into feat/addHibernate7ForgeFeature
add 3fcb6054a2 Merge pull request #15944 from apache/feat/addHibernate7ForgeFeature
add fa25f0a442 Merge remote-tracking branch 'upstream/8.0.x' into 8.0.x
add c3289a8722 Make AutoTimestampEventListener temporary disabling thread-safe
add 18e9fa3a8a docs, multi-thread documentation, and removing dead code
add d62ae0a41a Add available-locale discovery and a language selector to i18n
add b756b53538 Include plugin-contributed locales in available-locale discovery
add 081acf99e3 Merge remote-tracking branch 'upstream/8.0.x' into feat/i18n-available-locale-selector
add 8f9d7aa2bc Merge branch '8.0.x' into feat/i18n-available-locale-selector
add 170ae02d0f Cover available-locale wiring, plugin lifecycle and taglib branches
add 9d79f67d09 Address review: type-based resolver lookup, consistent default locale, stricter suffix validation
add 49ca3b9e6f Merge pull request #15940 from codeconsole/feat/i18n-available-locale-selector
add 40be754c68 Restore lenient config handling for Spring configuration
add 58b73a8bb8 Merge branch '7.0.x' into worktree-fix-15818-conversion-service
add c08999b0df feedback - update comment
add 105ab336fa Merge pull request #15949 from apache/worktree-fix-15818-conversion-service
add 7a0d91199b Merge branch '7.0.x' into 7.1.x
add 45f6722c13 Merge branch '7.1.x' into 7.2.x
add 60f10a6369 Merge branch '7.2.x' into 8.0.x
add d7b393ca72 Exclude the Spring DM example from reproducible (release) builds
add dcb0c95080 Add CI workflow for verification (must still verify locally)
add 3c68c8e374 Merge remote-tracking branch 'upstream/7.0.x' into 7.1.x
add 8f96086a0f Merge branch '7.1.x' into 7.2.x
add b00e83e6d7 Merge branch '7.2.x' into 8.0.x
add e18c874abd remove missed custom pomDevelopers
add 2d43860d11 Fix test app reproducibility
add 7ba62aa93e Fix ui plugin reproducibility
add 733d8ce85a Handle already generated profile.yml to support build reproducibility
add 4f4f5b8f9b Do not publish the testapp profile, its internal only
add 12ef4a9675 Merge branch '7.0.x' into 7.1.x
add 3a3d98aaa5 Merge branch '7.1.x' into 7.2.x
add c317eef8e9 Merge branch '7.2.x' into 8.0.x
add c841b4f932 Merge branch '8.0.x' into fix/autotimestamp-thread-safety-8.0.x
add 43e59b4593 Cover the codecov-flagged branches in AutoTimestampEventListener
add 81aa7c2c3b Merge pull request #15954 from codeconsole/fix/autotimestamp-thread-safety-8.0.x
add f2c1244436 Add workaround for GROOVY-12146
add 06f5567bf6 Merge pull request #15963 from jdaugherty/8.0.x
add 7d85988e8a Register the scaffolding view resolver without the bean DSL
add 2c69b675bd Convert the scaffolding definition post-processor to Java
add 85c05b4260 Rely on implicit SAM coercion for the bean registrar
add 23a83ed176 Derive the post-processor order from GroovyPagesPostProcessor.ORDER
add be023f8e42 Pin the pipeline ordering contract to the collaborators' constants
add f40b21bf4d Convert to groovy
add 10960ba19c Merge pull request #15966 from codeconsole/refactor/scaffolding-static-descriptor
add 440c26cd00 Apply SiteMesh 3 decoration at the bean-definition level
add 321033c3f8 Compile the SiteMesh 3 plugin descriptor statically
add 31a229e323 Tighten the SiteMesh 3 plugin description and registration site
add 84b5428237 Satisfy checkstyle operator-wrap rule
add db9d18f4f4 Rely on implicit SAM coercion for the bean registrar
add 6935b3e23a Merge branch '8.0.x' into fix/sitemesh3-viewresolver-definition-wrap
add 65b8710a29 Suppress the upstream zero-wrap warning when the definition wrap is in place
add ccbc50c6c7 Implement the definition wrap as upstream's bean-definition mode
add d1cda68bbf Fix GspAutoConfiguration's use of the relocated property defaults
add ba2c2ec223 Enforce mutual exclusion with grails-layout instead of accommodating it
add 32bb99760f Tolerate a combined SiteMesh 2/3 classpath with a loud warning
add eb50ef7f0c Simplify against SiteMesh 3.3.0-M2
add 9513a718a0 Groovy conversion & fix sitemesh 2 apps from transitively including sitemesh3
add d3d445da01 Merge pull request #15964 from codeconsole/fix/sitemesh3-viewresolver-definition-wrap
add f3e9baa5c7 Fix domainClass plugin being registered and loaded twice
add 856e5b2a09 Merge pull request #15970 from codeconsole/fix/duplicate-plugin-registration
add 8f75d23ad6 Add testing support option to introduce latency
add 75605d7db1 feedback: abandon request on interrupt, reject non-finite probability, deflake timing assertions, doc caveats
add 8a86bed606 Merge pull request #15937 from apache/feat/latency-testing
add 8f39bb74f2 Fix normalization script
add 1711851a16 Log plugin loaded successfully messages at DEBUG instead of INFO
add cd79d14ecc Add a single INFO summary listing loaded plugins in load order
add 1d5e58f990 Merge pull request #15969 from codeconsole/fix/plugin-loaded-log-level
add 33964e780e Make the spring security acl jar reproducible
add d090dedf08 Fix flaky tests
add a5ef5459d8 Fix generated logback-spring.xml hiding WARN and INFO messages
add f69ce63dea Merge pull request #15973 from codeconsole/fix/simplify-logback-spring-xml
add 08bd0bfbeb Use unique names so tests do not overlap
add 1c00628f90 Upgrade SiteMesh to 3.3.0-M3
add 221e4f61c3 Merge pull request #15975 from codeconsole/deps/sitemesh-3.3.0-M3
add aaf840c6b9 Fix embedded where queries
add c179aacdc0 Address flaky test
add acbf185125 Expand test coverage & fix scenarios found from expansion
add 8e7bab6b3c Move duplicated specs to the tck
add 385d24631d More fixes for where queries
add bc37a58337 Merge branch '8.0.x' into fix/where-queries-embedded
add c8bc797642 Expanding test coverage
add 6f4a112db5 Standardize on the tck properties to be in the same location (gradle)
add eaf194dfae Address review feedback on embedded where-query fix
add 7dd44ccf24 Merge pull request #15962 from apache/fix/where-queries-embedded
add ff450b503d Internationalize the default welcome page
add e4a74bbda8 Localize two labels flagged in translation review
add 6154a2f016 Backfill missing i18n keys and repair broken MessageFormat patterns
add 4d455f6013 Bring back the Grails cups on a redesigned welcome page
add 2a4a04ea85 Add a controllers dropdown to the default layout navbar
add 36811fde72 Internationalize the default layout chrome
add 4ea1109540 Add status, artefacts, actuators and plugins navigation; pin the default language
add bcc0e43a9a Keep the navbar minimal; list actuator endpoints on the welcome page
add ae1440e477 Report the Spring Security version when the dependency is present
add e83c0a5c1d Mirror the welcome templates into the profile skeleton
add dc98332ce4 Remove translator attribution headers from the message bundles
add e03e68c5ff Address review feedback on the welcome page templates
add c03073e51a Merge pull request #15974 from codeconsole/feat/forge-welcome-page-i18n
add 937f5b3bff Include the charset when DefaultHtmlRenderer sets the content type
add 814b384df6 Make the renderer encoding configurable via grails.converters.encoding
add bb78ee0197 Resolve grails.converters.encoding from the environment via @Value
add 0a45f47908 Deduplicate the grails.converters.encoding config metadata
add d12538cd18 Merge pull request #15976 from codeconsole/fix/html-renderer-charset
add 56d081a856 Fix normalization script
add 89ff899024 Improve the verification process
add e43a03e878 Fix command ordering in profile.yml
add 082f834c4d Merge pull request #15978 from apache/fix/profile-reproducibility
add 69139fa99e [skip ci] Release v8.0.0-M3
add c0ed9f6252 [skip ci] Bump version to 8.0.0-SNAPSHOT
add 9b81874e91 Merge pull request #15983 from apache/merge-back-8.0.0-M3
add 16c17edee5 Document Grails 8 API compatibility breaks
add 3793e0ad59 Address Copilot feedback on compatibility docs
add 00d0bc9359 Fix malformed guide anchor references
add d861fdf3ce Fix cross-page guide links
add d05d4d773d Remove stale Shiro guide metadata
add da2131c71c Preserve profile placeholder in command paths
add 2f58a2429e Address guide rendering review findings
add 90d4430b21 Merge branch '8.0.x' into docs/grails-8-api-compat-notes
add 075ee48b6a Merge branch '8.0.x' into docs/grails-8-api-compat-notes
add 71cad03519 Merge 8.0.x into docs/grails-8-api-compat-notes
add 47152e2e76 Merge pull request #15823 from apache/docs/grails-8-api-compat-notes
add 2acc785e57 Stabilize recurring CI flaky tests in functional/example apps
add 5eaf9edbcf fix: apply Page Object pattern to GreetingControllerFunctionalSpec
add 45eed86868 fix: drop redundant @Retry backstop from GreetingControllerFunctionalSpec
add 7e1fd8cf84 Merge branch '8.0.x' into fix/flaky-tests
add e500f19a9c fix: drop @Retry backstop from UserControllerSpec/UserCommunityControllerSpec
add 1b22095503 Merge branch '8.0.x' into fix/flaky-tests
add 0bed2fb34a Merge 8.0.x into fix/flaky-tests
add 21670d3d86 Use configured Geb wait timeout in scaffolding login/logout pages
add 0dad092042 Merge pull request #15793 from apache/fix/flaky-tests
add e27a4a0322 Add back undertow support
add 4ea125a1eb Repackage undertow classes for JPMS compatibility
add 3e40c9b104 Revert documentation changes
add 77723a6baf Update javadoc for class package changes
add 532f94c7d5 Merge pull request #15985 from apache/feature/undertow
add c1a579b2ad Fix forge reproducibility issues
add b980413820 Merge pull request #15986 from apache/fix/forge-groovy-reproducibility
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 ab50c393a5 feat: add SessionResolver infrastructure and extend core datastore APIs
add eea98724a3 fix: restore concrete Service trait methods to fix @CompileStatic compilation
add 9d11da0814 fix: widen MongoMappingContext.initialize visibility to public
add c382eed135 fix: address Copilot review findings on PR #15779
add 20966b0380 fix: address review feedback on SessionResolver/AbstractDatastore architecture
add 8374bc80e9 fix: guard getTenantId() DISCRIMINATOR mode and close review-flagged coverage gaps
add 36179ebc7d fix: address jdaugherty's follow-up review on SessionResolver/AbstractDatastore
add 7e50a21785 test(grails-datastore-core): close Codecov patch-coverage gap on getTenantId()'s lazy fallback
add a5d5d311e7 feat: GORM O(M+N) scaling — GormRegistry, GormEnhancer, and core API refactor
add ea2918717c fix: restore registerConstraints to GormEnhancer dropped in scaling refactor
add ab58259ece fix: restore registerConstraints hook and fix MongoStaticApi fields dropped by scaling refactor
add 30e08c99e3 fix: distinguish datasource connection qualifier from tenant ID in AbstractGormApi.execute()
add 974eb55700 fix: mode-aware tenant lookup and bound DatastoreResolvers in GormRegistry
add 6ac608bfe2 fix: register HibernateGormApiFactory in registerConstraints; update affected tests
add 93ffb0dee3 style: remove unused ConnectionSource import and fix consecutive blank lines in HibernateGormEnhancer
add 96d8e6f986 fix: restore deprecated GormEnhancer extension points for backward compatibility
add 7db88ca741 fix: restore deprecated backward-compat API surface for adapter modules
add 6c7fab8f4c fix: restore deprecated setDatastore and persistentEntity for H7 adapter compat
add 54e1b4d408 fix: resolve null datastore in H5/H7 validation and dynamic finder dispatch
add 76f800dcc4 fix: remove redundant this.datastore assignment in HibernateGormStaticApi
add 18133aa76f Fix MongoDB functional tests: fall back to enhancer API factory when no GormApiFactory registered
add 606ef97cae fix: restore null-tolerant service/datastore contracts in GormRegistry core
add a6b1691bd4 fix: clear GormRegistry core-impl regressions (H5 core 42→6)
add 0afca8b287 fix: resolve multi-tenant dynamic finder dispatch and tenant session passing (H5 core 6→3)
add 1937163907 fix: honor getAll id order, null slots, and id conversion in Hibernate retrieveAll (H5 core 3→0)
add 1da63f2e69 fix: register MongoGormApiFactory so Mongo entities resolve a MongoStaticApi
add 5d1df27928 fix: apply pagination args before Query.list() in findAll-by-example
add 3628b0d118 fix: implement find/findAll-by-example via findWhere/findAllWhere delegation
add 7acb40fae7 fix: H7 first/last(Map) inherit core's order-aware implementation
add 09b0a539cb test: align H7 core tests with the GormRegistry rewrite
add 76da056195 fix: H7 disjunction/conjunction/negation operate on detachedCriteria
add 0f78b71b1e fix: MultiTenant.eachTenant must not force current-tenant resolution
add efbf76cde3 test: isolate Mongo multi-tenancy specs from singleton GormRegistry pollution
add 325f167212 fix: @CurrentTenant data services resolve the primary datastore for tenant management
add ca3e87e7ba test: @PendingFeature the pre-existing Mongo count-over-OR disjunction bug
add 9b2ab9c06e fix: resolve GORM regressions surfaced by the registry refactor
add ca5d6e77db chore: strip scope-creep config noise from the GormRegistry PR
add a330c41ee7 fix: address Copilot review findings on PR #15780
add 41d533c51b test: verify @Service+@CurrentTenant routing in DATABASE multi-tenancy mode
add a8585dbfba fix: restore copyAnnotations dedup guard needed by ServiceTransformation
add 713b29290b test(grails-datamapping-core): add GormApiResolverSpec closing PR #15780 coverage gap
add 24c8518819 fix(grails-datamapping-core): restore saveAll's persisted-id return value; add GormStaticApiSpec
add 621efb88dc test(grails-datamapping-core): add GormRegistryCoverageSpec closing PR #15780 coverage gap
add b878c85a85 test(grails-datamapping-core): add GormEnhancerCoverageSpec closing PR #15780 coverage gap
add dbf1708317 test(grails-datamapping-core): add GormValidationApiCoverageSpec closing PR #15780 coverage gap
add 75ceaa4444 test(grails-datamapping-core): add GormInstanceApiSpec closing PR #15780 coverage gap
add 0e1cb948d5 test(grails-datamapping-core): add AbstractGormApiSpec closing PR #15780 coverage gap
add a0667f9316 test(grails-datamapping-core): add TenantsSpec closing PR #15780 coverage gap
add e5aec81dc0 test(grails-datamapping-core): add DynamicFinderCoverageSpec closing PR #15780 coverage gap
add 4e224360b2 test(grails-datamapping-core): add ServiceTransformationCoverageSpec closing PR #15780 coverage gap
add cbe8e1b9b4 test(grails-datamapping-core): add MultiTenantEventListenerSpec closing PR #15780 coverage gap
add e0e9c1fd93 test(grails-datamapping-core): add AbstractStringQueryImplementerCoverageSpec closing PR #15780 coverage gap
add 045740a725 test(grails-datamapping-core): add DefaultTenantServiceSpec closing PR #15780 coverage gap
add e8e15d7005 test(grails-datamapping-core): add CurrentTenantHolderSpec closing PR #15780 coverage gap
add d7efddc398 test(grails-datamapping-core): add TenantDelegatingGormOperationsSpec closing PR #15780 coverage gap
add 938bea4dc0 test(grails-datamapping-core): add GrailsTransactionTemplateSpec closing PR #15780 coverage gap
add 7d5809f0ca fix(grails-datamapping-core): guard CriteriaBuilder's cache/join/select against a null query
add 372604de53 test(grails-datamapping-core): add GormStaticApiRegistrySpec closing PR #15780 coverage gap
add 14ec1762f2 test(grails-datamapping-core): add ConnectionSourceNameResolverSpec closing PR #15780 coverage gap
add feeb017850 test(grails-datamapping-core): add GormValidationApiRegistrySpec and GormInstanceApiRegistrySpec closing PR #15780 coverage gap
add 9180ddec8a test(grails-datamapping-core): add AbstractFinderSpec closing PR #15780 coverage gap
add 2d05bf1e49 test(grails-datamapping-core): add FindAllByImplementerCoverageSpec closing PR #15780 coverage gap
add 163a9a5dd2 test(grails-datamapping-core): add FindOrSaveByFinderSpec closing PR #15780 coverage gap
add e71f238e24 test(grails-datamapping-core): add AbstractDatastoreApiSpec closing PR #15780 coverage gap
add 1ce31b5e94 test(grails-data-simple): add SimpleMapDatastoreSpec closing PR #15780 coverage gap
add 0c2816bfdc test(grails-datamapping-core): add AbstractServiceImplementerCoverageSpec closing PR #15780 coverage gap
add c5f3841388 test(grails-data-hibernate5-core): add GrailsDataTckManagerSpec closing PR #15780 coverage gap
add 13b03398d2 test(grails-datamapping-core): extend MappingContextTraversableResolverSpec closing PR #15780 coverage gap
add 560086aac6 test(grails-datamapping-core): add DefaultTransactionServiceSpec closing PR #15780 coverage gap
add 3e13f3a8bf test(grails-datamapping-core): add DefaultTransactionTemplateFactorySpec closing PR #15780 coverage gap
add 83ea657576 test(grails-datamapping-core): extend TransactionalTransformSpec closing PR #15780 coverage gap
add e049502377 test(grails-data-mongodb-core): add MongoStaticApiSpec closing PR #15780 coverage gap
add 6cf78291cb docs: add Neo4j GormRegistry migration plan (PR1 baseline + PR2 wiring)
add a1524e1ccd feat: migrate grails-data-neo4j to Groovy 4/Jakarta/GORM 8 baseline
add 7406988dcb fix: address Copilot review findings on PR #15816
add 958e6bcb64 fix: resolve Neo4j regressions surfaced by rebasing onto Groovy 5
add fe900b9a65 feat(grails-data-neo4j): fold standalone build into root settings.gradle
add acd751d57c fix: avoid Groovy MOP getProperty interception in Neo4jDataStoreSpringInitializerSpec
add 8d57c60593 feat: wire Neo4j adapter to GormRegistry's GormApiFactory mechanism
add ad91de2a02 feat(grails-data-neo4j): re-add example apps and docs into monorepo (PR4)
add 43a19a40ce fix(grails-data-neo4j): declare intentional Jetty/neo4j-driver BOM overrides
add d18ec53586 chore(grails-data-neo4j): clean up Checkstyle/CodeNarc violations in grails-datastore-gorm-neo4j
add ea51f1a12b fix: address jdaugherty's review feedback on consolidated Neo4j PR
add 4c34ff23a7 fix: BOM-manage neo4j-java-driver with a strictly constraint, not exclude
add 2faa32618e fix: rename gorm-neo4j-spring-boot to grails-data-neo4j-spring-boot
add 34f23c7bf9 feat: add dedicated Neo4j functional-test CI job and publish gating
add 827b9d7235 feat(grails-data-neo4j): restore neo4j-standalone example app
add bb14409b85 feat(grails-data-neo4j): restore test-data-service example app
add 43ba5bc4a7 feat(grails-forge): restore Neo4j GORM support
add 8052f234ed refactor(grails-data-neo4j): rename grails-datastore-gorm-neo4j to grails-data-neo4j-core
add 5a0ad030c6 refactor(grails-data-neo4j): rename example apps to base/hibernate5
add a780ce0f5d fix(grails-data-neo4j): resolve all 270 CodeNarc violations in grails-data-neo4j-core
add 4be6be5de6 fix(grails-test-examples): drop stale grailsSpringSecurityVersion property in neo4j test-data-service
add 5f7d8db1d7 refactor(grails-data-neo4j): dedupe test/Jetty/driver build config, drop redundant BOM force
add 8a70751ba9 fix(grails-data-neo4j): scope neo4j-java-driver pin to a dedicated grails-neo4j-bom
add 447d1b284e fix(grails-data-neo4j): remove dead GormEnhancer overrides in Neo4jDatastore
add 4ecf6d87cf fix(grails-data-neo4j): implement embedded-component support and fix basic-collection 'in' queries
add 960b59879b fix(grails-data-neo4j): add missing jakarta.servlet-api test dep; fix CodeNarc GString nit
add 761ee416c6 fix(grails-forge): update GormImplSpec's stale 'neo4j' expectation
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (3e72281ac0)
\
N -- N -- N refs/heads/feat/neo4j-gorm-registry-migration (761ee416c6)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
No new revisions were added by this update.
Summary of changes:
.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/release-verify.yml | 129 ++
INSTALL | 3 +-
NOTICE | 10 +
.../apache/grails/buildsrc/CompilePlugin.groovy | 7 +
build.gradle | 7 +
dependencies.gradle | 21 +-
etc/bin/normalize_annotations.groovy | 154 +++
etc/bin/verify-reproducible.sh | 6 +
etc/bin/verify.sh | 123 +-
gradle/cli-companion-bom-constraints.gradle | 41 +
gradle/functional-test-config.gradle | 29 +-
gradle/grails-data-tck-config.gradle | 8 +-
gradle/groovy-compile-configscript.groovy | 73 ++
gradle/hibernate5-test-config.gradle | 5 +-
gradle/hibernate7-test-config.gradle | 5 +-
gradle/publish-root-config.gradle | 4 +-
.../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 | 7 +
grails-console/build.gradle | 10 +
.../GrailsApplicationContextCommandRunner.groovy | 5 +-
.../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 | 13 +
.../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 | 6 +-
.../cli/resources/META-INF/grails-cli.factories | 18 +
...org.codehaus.groovy.transform.ASTTransformation | 1 +
.../src/main/groovy/grails/boot/GrailsApp.groovy | 9 +-
.../grails/plugins/DefaultGrailsPluginManager.java | 13 +-
.../core/plugins/DefaultPluginDiscovery.java | 22 +-
.../compiler/injection/FactoriesFileWriter.groovy | 140 +++
.../GlobalGrailsClassInjectorTransformation.groovy | 86 +-
.../core/io/support/GrailsFactoriesLoader.groovy | 29 +-
.../src/main/resources/META-INF/grails-plugin.xml | 1 -
.../boot/GrailsAppEnvironmentConversionSpec.groovy | 67 +
.../plugins/DefaultGrailsPluginManagerSpec.groovy | 53 +
.../core/cli}/ConfigReportCommandSpec.groovy | 2 +-
.../CommandFactoriesTransformationSpec.groovy | 45 +
.../grails/core/plugins/PluginDiscoverySpec.groovy | 72 ++
.../injection/FactoriesFileWriterSpec.groovy | 124 ++
...balGrailsClassInjectorTransformationSpec.groovy | 4 +-
.../graphql/plugin/GormGraphqlGrailsPlugin.groovy | 138 ++-
.../plugin/GormGraphqlGrailsPluginSpec.groovy | 82 ++
.../query/AbstractHibernateCriterionAdapter.java | 20 +
.../hibernate/query/AbstractHibernateQuery.java | 8 +-
.../grails/gorm/tests/DeleteAllWhereSpec.groovy | 57 -
.../grails/gorm/tests/WhereQueryBugFixSpec.groovy | 106 --
.../WhereQueryOldIssueVerificationSpec.groovy | 371 ------
.../core/GrailsDataHibernate5TckManager.groovy | 1 -
.../tck/base/GrailsDataTckManagerSpec.groovy | 70 ++
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 +-
.../eventsAutoTimestamping.adoc | 18 +
grails-data-hibernate5/grails-plugin/build.gradle | 18 +-
.../hibernate5/cli}/SchemaExportCommand.groovy | 6 +-
.../groovy/grails/orm/CriteriaMethodInvoker.java | 31 +-
.../grails/gorm/tests/DeleteAllWhereSpec.groovy | 57 -
.../grails/gorm/tests/WhereQueryBugFixSpec.groovy | 106 --
.../WhereQueryOldIssueVerificationSpec.groovy | 371 ------
.../core/GrailsDataHibernate7TckManager.groovy | 1 -
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 +-
.../eventsAutoTimestamping.adoc | 18 +
grails-data-hibernate7/grails-plugin/build.gradle | 18 +
.../hibernate7/cli}/SchemaExportCommand.groovy | 7 +-
grails-data-mongodb/core/build.gradle | 4 +
.../datastore/mapping/mongo/query/MongoQuery.java | 40 +-
.../gorm/mongo/EmbeddedAssociationSpec.groovy | 18 +
.../gorm/mongo/api/MongoStaticApiSpec.groovy | 55 +
.../datastore/gorm/neo4j/Neo4jDatastore.java | 47 +-
.../grails/datastore/gorm/neo4j/Neo4jSession.java | 41 +
.../engine/Neo4jAssociationQueryExecutor.groovy | 5 +-
.../gorm/neo4j/engine/Neo4jEntityPersister.java | 37 +
.../datastore/gorm/neo4j/engine/Neo4jQuery.groovy | 70 +-
grails-data-neo4j/grails-plugin/build.gradle | 6 +
.../Neo4jDataStoreSpringInitializer.groovy | 26 +
grails-data-simple/build.gradle | 2 +
.../mapping/simple/query/SimpleMapQuery.groovy | 9 +-
.../mapping/simple/SimpleMapDatastoreSpec.groovy | 66 +
grails-datamapping-core-test/build.gradle | 10 +
.../main/groovy/grails/gorm/CriteriaBuilder.java | 4 +
.../org/grails/datastore/gorm/GormStaticApi.groovy | 3 +-
.../gorm/events/AutoTimestampEventListener.java | 239 +++-
.../grails/datastore/gorm/jdbc/RelaxedNames.java | 4 +-
.../query/criteria/AbstractDetachedCriteria.groovy | 10 +-
.../transform/DetachedCriteriaTransformer.java | 28 +-
.../groovy/grails/gorm/CriteriaBuilderSpec.groovy | 133 ++
.../transactions/TransactionalTransformSpec.groovy | 32 +
.../multitenancy/CurrentTenantHolderSpec.groovy | 205 +++
.../grails/gorm/multitenancy/TenantsSpec.groovy | 558 +++++++++
.../AbstractServiceImplementerCoverageSpec.groovy | 57 +
...stractStringQueryImplementerCoverageSpec.groovy | 125 ++
.../FindAllByImplementerCoverageSpec.groovy | 84 ++
.../ServiceTransformationCoverageSpec.groovy | 101 ++
.../GrailsTransactionTemplateSpec.groovy | 75 ++
.../datastore/gorm/AbstractDatastoreApiSpec.groovy | 115 ++
.../datastore/gorm/AbstractGormApiSpec.groovy | 175 +++
.../gorm/ConnectionSourceNameResolverSpec.groovy | 54 +
.../datastore/gorm/GormApiResolverSpec.groovy | 967 +++++++++++++++
.../datastore/gorm/GormEnhancerCoverageSpec.groovy | 188 +++
.../gorm/GormInstanceApiRegistrySpec.groovy | 95 ++
.../datastore/gorm/GormInstanceApiSpec.groovy | 410 ++++++
.../datastore/gorm/GormRegistryCoverageSpec.groovy | 437 +++++++
.../gorm/GormStaticApiRegistrySpec.groovy | 95 ++
.../grails/datastore/gorm/GormStaticApiSpec.groovy | 705 +++++++++++
.../gorm/GormValidationApiCoverageSpec.groovy | 376 ++++++
.../gorm/GormValidationApiRegistrySpec.groovy | 94 ++
.../gorm/finders/AbstractFinderSpec.groovy | 100 ++
.../gorm/finders/DynamicFinderCoverageSpec.groovy | 235 ++++
.../gorm/finders/FindOrSaveByFinderSpec.groovy | 88 ++
.../MultiTenantEventListenerSpec.groovy | 321 +++++
.../TenantDelegatingGormOperationsSpec.groovy | 117 ++
.../transform/WhereQueryClosureCaptureSpec.groovy | 105 ++
.../WhereQueryEmbeddedBlockTransformSpec.groovy | 117 ++
.../gorm/services/DefaultTenantServiceSpec.groovy | 214 ++++
.../services/DefaultTransactionServiceSpec.groovy | 45 +
.../AutoTimestampEventListenerSpec.groovy | 735 ++++++++---
.../DefaultTransactionTemplateFactorySpec.groovy | 63 +
.../MappingContextTraversableResolverSpec.groovy | 28 +
.../data/testing/tck/domains/ExternalRef.groovy | 26 +
.../data/testing/tck/domains/SystemManaged.groovy | 29 +
.../data/testing/tck/domains/WorkItem.groovy | 30 +
.../data/testing/tck/domains/WorkItemGroup.groovy | 29 +
.../data/testing/tck/domains/WqAuthor.groovy | 30 +
.../data/testing/tck/domains/WqBiAuthor.groovy | 30 +
.../data/testing/tck/domains/WqBiBook.groovy | 31 +
.../data/testing/tck/domains/WqBookAuthor.groovy | 30 +
.../data/testing/tck/domains/WqBookItem.groovy | 30 +
.../grails/data/testing/tck/domains/WqFoo.groovy | 32 +
.../data/testing/tck/domains/WqGroupedItem.groovy | 34 +
.../data/testing/tck/domains/WqPhrase.groovy | 30 +
.../grails/data/testing/tck/domains/WqRole.groovy | 28 +
.../data/testing/tck/domains/WqRoleUser.groovy | 30 +
.../testing/tck/domains/WqScientificBook.groovy | 31 +
.../data/testing/tck/domains/WqSentence.groovy | 28 +
.../data/testing/tck/domains/WqStudent.groovy | 40 +
.../grails/data/testing/tck/domains/WqThing.groovy | 28 +
.../data/testing/tck/domains/WqUserRole.groovy | 36 +
.../grails/data/testing/tck/domains/WqWord.groovy | 30 +
.../data/testing/tck/tests/DeleteAllSpec.groovy | 21 +
.../tck/tests/WhereQueryEmbeddedSpec.groovy | 348 ++++++
.../tests/WhereQueryIssueVerificationSpec.groovy | 258 ++++
.../tck/tests/WhereQueryLeftJoinSpec.groovy | 89 ++
.../DataSourceBeanDefinitionsPostProcessor.groovy | 83 ++
.../datasource/DataSourceGrailsPlugin.groovy | 69 +-
.../datasource/DataSourceGrailsPluginSpec.groovy | 92 +-
.../datastore/mapping/core/AbstractDatastore.java | 12 +-
.../mapping/core/ThreadLocalSessionResolver.groovy | 18 +-
.../mapping/core/AbstractDatastoreSpec.groovy | 6 +-
.../core/ThreadLocalSessionResolverSpec.groovy | 20 +-
.../AbstractPersistentEntityGetTenantIdSpec.groovy | 50 +
grails-doc/src/en/guide/commandLine.adoc | 4 +-
.../guide/commandLine/creatingCustomCommands.adoc | 178 ++-
.../src/en/guide/commandLine/creatingProject.adoc | 28 +-
.../gradleBuild/gradleDependencies.adoc | 1 -
.../commandLine/gradleBuild/gradlePlugins.adoc | 4 +-
.../src/en/guide/commandLine/interactiveMode.adoc | 19 +-
.../src/en/guide/conf/config/builtInOptions.adoc | 1 +
...maskingRequestParametersFromStacktraceLogs.adoc | 1 +
grails-doc/src/en/guide/i18n/changingLocales.adoc | 26 +
grails-doc/src/en/guide/index.adoc | 6 -
grails-doc/src/en/guide/introduction/whatsNew.adoc | 77 +-
grails-doc/src/en/guide/links.yml | 9 +-
.../plugins/creatingAndInstallingPlugins.adoc | 4 +-
.../en/guide/plugins/providingBasicArtefacts.adoc | 46 +-
.../src/en/guide/security/authentication.adoc | 2 +-
.../src/en/guide/testing/functionalTesting.adoc | 73 ++
.../fields/customizingFieldRendering.adoc | 2 +-
.../src/en/guide/theWebLayer/gson/gsonHal.adoc | 2 +-
.../src/en/guide/upgrading/upgrading72x.adoc | 2 +-
.../src/en/guide/upgrading/upgrading80x.adoc | 264 +++-
grails-doc/src/en/ref/Command Line/create-app.adoc | 12 +-
.../src/en/ref/Command Line/create-command.adoc | 19 +-
.../src/en/ref/Command Line/create-plugin.adoc | 12 +-
.../src/en/ref/Command Line/create-restapi.adoc | 4 +-
.../src/en/ref/Command Line/create-web-plugin.adoc | 4 +-
grails-doc/src/en/ref/Command Line/help.adoc | 12 +-
.../src/en/ref/Command Line/list-features.adoc | 7 +-
grails-doc/src/en/ref/Command Line/run-app.adoc | 3 +
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 +-
.../formfields/FieldsGrailsPluginSpec.groovy | 75 ++
grails-forge/gradle.properties | 2 +
.../gradle/groovy-version-pin.gradle | 22 +-
grails-forge/grails-cli/build.gradle | 7 +
.../grails-forge-analytics-postgres/build.gradle | 1 +
.../postgres/StoreGeneratedProjectStatsSpec.groovy | 2 +-
grails-forge/grails-forge-api/build.gradle | 1 +
.../main/java/org/grails/forge/api/FeatureDTO.java | 26 +
.../java/org/grails/forge/api/GormImplDTO.java | 6 +-
.../org/grails/forge/api/SelectOptionsDTO.java | 2 +-
.../java/org/grails/forge/api/ServletImplDTO.java | 2 +-
.../grails/forge/api/FeatureControllerSpec.groovy | 28 +-
.../forge/api/ZipCreateControllerSpec.groovy | 31 +
.../github/GitHubCreateControllerSpec.groovy | 2 -
grails-forge/grails-forge-cli/build.gradle | 1 +
.../grails/forge/cli/command/CreateCommand.java | 2 +-
.../forge/cli/command/GormImplConverter.java | 12 +-
.../forge/cli/command/CreateAppCommandSpec.groovy | 84 +-
.../command/CreateDomainClassCommandSpec.groovy | 2 +-
grails-forge/grails-forge-core/build.gradle | 1 +
.../java/org/grails/forge/analytics/Generated.java | 2 +-
.../grails/forge/application/ContextFactory.java | 25 +-
.../forge/build/gradle/GradleRepository.java | 78 +-
.../forge/build/gradle/MavenLocalRepository.java | 23 +-
.../java/org/grails/forge/feature/Category.java | 1 +
.../java/org/grails/forge/feature/Feature.java | 15 +
.../templates/buildSrcBuildGradle.rocker.raw | 8 +
.../DatabaseDriverConfigurationFeature.java | 5 +-
.../feature/database/DatabaseDriverFeature.java | 12 +-
...ibernateGorm.java => GrailsDataHibernate5.java} | 23 +-
...ibernateGorm.java => GrailsDataHibernate7.java} | 29 +-
.../GrailsDataHibernateValidator.java} | 47 +-
.../{MongoGorm.java => GrailsDataMongoDB.java} | 10 +-
.../grails/forge/feature/database/GraphqlGorm.java | 16 +-
.../java/org/grails/forge/feature/database/H2.java | 3 +-
.../org/grails/forge/feature/database/MySQL.java | 4 +-
.../grails/forge/feature/database/PostgreSQL.java | 4 +-
.../grails/forge/feature/database/SQLServer.java | 4 +-
.../forge/feature/database/TestContainers.java | 2 +-
.../grails/forge/feature/grails/GrailsBase.java | 17 +-
.../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/logging/template/logback.rocker.raw | 32 +-
.../feature/migration/DatabaseMigrationPlugin.java | 18 +-
.../feature/security/GrailsSpringSecurity.java | 91 ++
.../feature/security/GrailsSpringSecurityUi.java | 98 ++
.../feature/security/PrimarySecurityFeature.java | 30 +-
.../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 +-
.../feature/spring/SpringBootUndertowFeature.java | 22 +-
.../java/org/grails/forge/options/GormImpl.java | 33 +-
.../forge/options/GormImplTypeConverter.java | 47 +
.../java/org/grails/forge/options/ServletImpl.java | 2 +-
.../resources/assets/javascripts/application.js | 53 +-
.../main/resources/assets/javascripts/welcome.js | 164 ++-
.../main/resources/assets/stylesheets/welcome.css | 145 +++
.../src/main/resources/gsp/index.gsp | 1299 ++++++++++++++++++--
.../src/main/resources/gsp/main.gsp | 170 ++-
.../src/main/resources/i18n/messages.properties | 97 ++
.../src/main/resources/i18n/messages_cs.properties | 98 ++
.../src/main/resources/i18n/messages_da.properties | 98 ++
.../src/main/resources/i18n/messages_de.properties | 98 ++
.../src/main/resources/i18n/messages_es.properties | 99 +-
.../src/main/resources/i18n/messages_fr.properties | 146 ++-
.../src/main/resources/i18n/messages_it.properties | 102 +-
.../src/main/resources/i18n/messages_ja.properties | 98 ++
.../src/main/resources/i18n/messages_nb.properties | 98 ++
.../src/main/resources/i18n/messages_nl.properties | 98 ++
.../src/main/resources/i18n/messages_pl.properties | 114 +-
.../main/resources/i18n/messages_pt_BR.properties | 102 +-
.../main/resources/i18n/messages_pt_PT.properties | 128 +-
.../src/main/resources/i18n/messages_ru.properties | 126 +-
.../src/main/resources/i18n/messages_sk.properties | 97 ++
.../src/main/resources/i18n/messages_sv.properties | 99 +-
.../src/main/resources/i18n/messages_th.properties | 116 +-
.../main/resources/i18n/messages_zh_CN.properties | 134 ++
.../main/resources/i18n/messages_zh_TW.properties | 153 +++
.../forge/build/gradle/GradleRepositorySpec.groovy | 102 ++
...Spec.groovy => GrailsDataHibernate5Spec.groovy} | 2 +-
.../database/GrailsDataHibernate7Spec.groovy | 220 ++++
...ormSpec.groovy => GrailsDataMongoDBSpec.groovy} | 38 +-
.../feature/grails/GrailsDefaultPluginsSpec.groovy | 73 +-
.../forge/feature/logging/LogbackSpec.groovy | 17 +-
.../migration/DatabaseMigrationPluginSpec.groovy | 13 +-
.../security/GrailsSpringSecuritySpec.groovy | 114 ++
.../security/GrailsSpringSecurityUiSpec.groovy | 107 ++
.../security/SpringBootStarterSecuritySpec.groovy | 112 ++
.../forge/feature/spring/SpringBootSpec.groovy | 23 +-
.../grails/forge/feature/view/GrailsGspSpec.groovy | 324 +++++
.../org/grails/forge/options/GormImplSpec.groovy} | 42 +-
grails-forge/grails-forge-web-netty/build.gradle | 1 +
grails-forge/test-core/build.gradle | 1 +
.../org/grails/forge/create/CreateAppSpec.groovy | 2 +-
.../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 | 490 ++++++++
.../commands/GrailsCliLibraryGradlePlugin.groovy | 50 +
.../gradle/plugin/core/GrailsExtension.groovy | 18 +-
.../gradle/plugin/core/GrailsGradlePlugin.groovy | 239 +---
.../profiles/GrailsProfileGradlePlugin.groovy | 6 +-
.../profiles/tasks/ProfileCompilerTask.groovy | 4 +-
.../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 +-
.../profiles/tasks/ProfileCompilerTaskSpec.groovy | 75 ++
.../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 +
.../gsp/compiler/GrailsLayoutPreprocessor.java | 14 +-
.../grails/web/layout/LayoutGrailsPlugin.groovy | 44 +-
.../web/layout/LayoutGrailsPluginSpec.groovy | 80 ++
...lsSiteMeshViewResolverBeanPostProcessor.groovy} | 60 +-
.../sitemesh3/Sitemesh3AutoConfiguration.groovy | 131 ++
.../Sitemesh3EnvironmentPostProcessor.groovy | 125 ++
.../plugins/sitemesh3/Sitemesh3GrailsPlugin.groovy | 75 +-
...mesh3ViewResolverDefinitionPostProcessor.groovy | 136 ++
.../sitemesh3/Sitemesh3AutoConfiguration.java | 105 --
.../src/main/resources/META-INF/spring.factories | 19 +
...iteMeshViewResolverBeanPostProcessorSpec.groovy | 18 -
.../Sitemesh3AutoConfigurationSpec.groovy | 7 +-
.../Sitemesh3EnvironmentPostProcessorSpec.groovy | 100 ++
.../sitemesh3/Sitemesh3LayoutFinderSpec.groovy | 2 +-
...3ViewResolverDefinitionPostProcessorSpec.groovy | 147 +++
.../grails/plugins/web/taglib/FormTagLib.groovy | 151 ++-
.../web/taglib/LocaleSelectAvailableSpec.groovy | 97 ++
.../LocaleSelectConfiguredDefaultSpec.groovy | 51 +
.../taglib/LocaleSelectPinnedVariantSpec.groovy | 53 +
.../web/taglib/LocaleSelectRenderingSpec.groovy | 204 +++
.../java/grails/gsp/boot/GspAutoConfiguration.java | 8 +-
.../plugins/i18n/AvailableLocaleResolver.java | 193 +++
.../grails/plugins/i18n/I18nAutoConfiguration.java | 26 +
.../grails/plugins/i18n/I18nGrailsPlugin.groovy | 40 +-
.../i18n/AvailableLocaleResolverSpec.groovy | 182 +++
.../plugins/i18n/I18nAutoConfigurationSpec.groovy | 41 +
.../plugins/i18n/I18nGrailsPluginSpec.groovy | 139 +++
.../src/test/resources/bogus-plugin_zz.properties | 1 +
grails-i18n/src/test/resources/messages.properties | 1 +
.../src/test/resources/messages_.properties | 1 +
.../src/test/resources/messages_cs.properties | 1 +
.../src/test/resources/messages_es.properties | 1 +
.../src/test/resources/messages_fr.properties | 1 +
.../src/test/resources/messages_pt_BR.properties | 1 +
.../src/test/resources/report_en_prod.properties | 1 +
.../resources/spring-security-core_zu.properties | 1 +
.../src/test/resources/standalone.properties | 1 +
.../InterceptorBeanDefinitionsPostProcessor.groovy | 104 ++
.../interceptors/InterceptorsGrailsPlugin.groovy | 30 +-
.../InterceptorsGrailsPluginSpec.groovy | 136 ++
grails-profiles/base/profile.yml | 2 -
.../skeleton/grails-app/conf/logback-spring.xml | 30 +-
.../skeleton/grails-app/i18n/messages.properties | 97 ++
.../grails-app/i18n/messages_cs.properties | 98 ++
.../grails-app/i18n/messages_da.properties | 98 ++
.../grails-app/i18n/messages_de.properties | 98 ++
.../grails-app/i18n/messages_es.properties | 99 +-
.../grails-app/i18n/messages_fr.properties | 146 ++-
.../grails-app/i18n/messages_it.properties | 102 +-
.../grails-app/i18n/messages_ja.properties | 98 ++
.../grails-app/i18n/messages_nb.properties | 98 ++
.../grails-app/i18n/messages_nl.properties | 98 ++
.../grails-app/i18n/messages_pl.properties | 114 +-
.../grails-app/i18n/messages_pt_BR.properties | 102 +-
.../grails-app/i18n/messages_pt_PT.properties | 128 +-
.../grails-app/i18n/messages_ru.properties | 126 +-
.../grails-app/i18n/messages_sk.properties | 97 ++
.../grails-app/i18n/messages_sv.properties | 99 +-
.../grails-app/i18n/messages_th.properties | 116 +-
.../grails-app/i18n/messages_zh_CN.properties | 134 ++
.../grails-app/i18n/messages_zh_TW.properties | 153 +++
.../base/templates/artifacts/Command.groovy | 2 +-
...ls.codegen.projectClassName@GrailsPlugin.groovy | 11 +-
...ls.codegen.projectClassName@GrailsPlugin.groovy | 11 +-
.../grails-app/assets/javascripts/application.js | 53 +-
.../grails-app/assets/javascripts/welcome.js | 163 ++-
.../grails-app/assets/stylesheets/welcome.css | 145 +++
.../web/skeleton/grails-app/views/index.gsp | 1299 ++++++++++++++++++--
.../web/skeleton/grails-app/views/layouts/main.gsp | 170 ++-
grails-redis/build.gradle | 6 +
.../redis/RedisBeanDefinitionsPostProcessor.groovy | 66 +
.../redis/util/RedisConfigurationUtil.groovy | 120 +-
.../src/main/groovy/redis/RedisGrailsPlugin.groovy | 30 +-
.../RedisBeanDefinitionsPostProcessorSpec.groovy | 107 ++
.../render/errors/AbstractVndErrorRenderer.groovy | 2 +
.../render/util/AbstractLinkingRenderer.groovy | 3 +
.../rest/plugin/RestResponderGrailsPlugin.groovy | 22 +-
.../web/rest/render/DefaultRendererRegistry.groovy | 35 +-
.../rest/render/html/DefaultHtmlRenderer.groovy | 12 +-
.../rest/render/json/DefaultJsonRenderer.groovy | 4 +
.../web/rest/render/xml/DefaultXmlRenderer.groovy | 4 +
.../plugin/RestResponderGrailsPluginSpec.groovy | 65 +
.../rest/render/DefaultRendererRegistrySpec.groovy | 38 +
.../web/rest/render/html/HtmlRendererSpec.groovy | 35 +
grails-scaffolding/build.gradle | 23 +
.../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 +-
.../scaffolding/ScaffoldingGrailsPlugin.groovy | 34 +-
...ldingViewResolverDefinitionPostProcessor.groovy | 96 ++
...gViewResolverDefinitionPostProcessorSpec.groovy | 90 ++
grails-services/build.gradle | 1 +
.../ServiceBeanDefinitionsPostProcessor.groovy | 99 ++
.../plugins/services/ServicesGrailsPlugin.groovy | 46 +-
.../services/ServicesGrailsPluginSpec.groovy | 140 +++
.../cli/profile/GrailsRepositoryOverrides.groovy | 128 ++
.../grails/cli/profile/ProfileRepoConfig.groovy | 18 +-
.../cli/profile/commands/CreateAppCommand.groovy | 34 +-
.../ApplicationContextCommandFactory.groovy | 4 +-
.../profile/GrailsRepositoryOverridesSpec.groovy | 123 ++
.../profile/commands/CreateAppCommandSpec.groovy | 61 +
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} | 19 +-
grails-spring-security/rest/gorm/build.gradle | 3 -
grails-spring-security/rest/memcached/build.gradle | 3 -
.../rest/testapp-profile/build.gradle | 31 +-
grails-spring-security/ui/plugin/build.gradle | 40 +-
.../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
.../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 -
.../groovy/functionaltests/ForwardingSpec.groovy | 3 +-
grails-test-examples/app2/build.gradle | 1 -
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-app/conf/application.yml | 9 +
.../test/app/RelaxedPropertyResolutionSpec.groovy | 56 +
.../org/demo/spock/PerTestRecordingSpec.groovy | 80 +-
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 -
.../groovy/functionaltests/ForwardingSpec.groovy | 3 +-
.../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 -
.../{plugins/loadafter => latency}/build.gradle | 28 +-
.../latency/grails-app/conf/application.yml | 47 +
.../grails-app/conf/logback.xml | 0
.../controllers/latencyapp/FastController.groovy | 20 +-
.../controllers/latencyapp/SlowController.groovy | 20 +-
.../controllers/latencyapp/UrlMappings.groovy | 12 +-
.../grails-app/init/latencyapp/Application.groovy | 10 +-
.../groovy/latencyapp/LatencyFunctionalSpec.groovy | 62 +
.../micronaut/MicronautErsatzRoundtripSpec.groovy | 3 -
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 -
.../groovy/com/example/pages/LoginPage.groovy | 5 +-
.../groovy/com/example/pages/LogoutPage.groovy | 5 +-
.../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/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/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 --
.../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 +-
.../GreetingControllerFunctionalSpec.groovy | 8 +-
.../groovy/testphases/pages/GreetingPage.groovy | 12 +-
.../{cache => undertow}/build.gradle | 48 +-
.../grails-app/assets/javascripts/application.js | 0
.../grails-app/assets/stylesheets/application.css | 0
.../undertow/grails-app/conf/application.yml | 36 +
.../grails-app/conf/logback-spring.xml | 0
.../grails-app/conf/spring/resources.groovy | 0
.../undertowapp/SessionController.groovy | 24 +-
.../controllers/undertowapp/UrlMappings.groovy | 14 +-
.../grails-app/init/undertowapp/Application.groovy | 18 +-
.../grails-app/init/undertowapp/BootStrap.groovy | 13 +-
.../undertow/grails-app/views/error.gsp | 16 +-
.../grails-app/views/index.gsp} | 11 +-
.../undertow/grails-app/views/notFound.gsp | 15 +-
.../grails-app/views/session/index.gsp} | 12 +-
.../grails-app/views/session/show.gsp} | 9 +-
.../groovy/undertowapp/UndertowSessionSpec.groovy | 61 +
.../undertowapp/pages/SessionFormPage.groovy | 12 +-
.../undertowapp/pages/SessionShowPage.groovy | 11 +-
grails-testing-support-core/build.gradle | 2 +
.../org/grails/testing/GrailsUnitTest.groovy | 39 +-
.../testing/DefineBeansPluginHooksSpec.groovy | 57 +
.../build.gradle | 41 +-
.../latency/LatencyAutoConfiguration.groovy | 56 +
.../grails/testing/latency/LatencyFilter.groovy | 96 ++
.../testing/latency/LatencyProperties.groovy | 84 ++
...rk.boot.autoconfigure.AutoConfiguration.imports | 1 +
.../latency/LatencyAutoConfigurationSpec.groovy | 63 +
.../testing/latency/LatencyFilterSpec.groovy | 121 ++
grails-undertow/plugin/build.gradle | 63 +
.../undertow/plugin/UndertowGrailsPlugin.groovy | 42 +-
.../plugin/UndertowGrailsPluginSpec.groovy | 62 +
grails-undertow/spring-boot/build.gradle | 81 ++
.../undertow/core/AccessLogHttpHandlerFactory.java | 118 ++
.../core/CompressionHttpHandlerFactory.java | 133 ++
.../core/ConfigurableUndertowWebServerFactory.java | 113 ++
.../grails/undertow/core/HttpHandlerFactory.java | 43 +
.../grails/undertow/core/SslBuilderCustomizer.java | 93 ++
.../undertow/core/UndertowBuilderCustomizer.java | 37 +
.../grails/undertow/core/UndertowWebServer.java | 445 +++++++
.../undertow/core/UndertowWebServerFactory.java | 233 ++++
.../autoconfigure/UndertowServerProperties.java | 388 ++++++
.../UndertowWebServerConfiguration.java | 42 +
.../UndertowWebServerFactoryCustomizer.java | 241 ++++
.../web/server/UndertowAccessLogCustomizer.java | 46 +
.../server/UndertowManagementServerProperties.java | 53 +
...eactiveManagementChildContextConfiguration.java | 60 +
...ReactiveManagementContextAutoConfiguration.java | 52 +
...ServletManagementChildContextConfiguration.java | 50 +
...wServletManagementContextAutoConfiguration.java | 52 +
.../actuate/web/server/package-info.java | 20 +
.../undertow/core/autoconfigure/package-info.java | 21 +
...UndertowReactiveWebServerAutoConfiguration.java | 62 +
.../core/autoconfigure/reactive/package-info.java | 20 +
.../UndertowServletWebServerAutoConfiguration.java | 98 ++
.../UndertowServletWebServerFactoryCustomizer.java | 44 +
...tUndertowServletWebServerFactoryCustomizer.java | 58 +
.../core/autoconfigure/servlet/package-info.java | 20 +
.../apache/grails/undertow/core/package-info.java | 23 +
.../core/reactive/UndertowHeadersAdapter.java | 270 ++++
.../core/reactive/UndertowHttpHandlerAdapter.java | 135 ++
.../reactive/UndertowReactiveWebServerFactory.java | 64 +
.../core/reactive/UndertowServerHttpRequest.java | 257 ++++
.../core/reactive/UndertowServerHttpResponse.java | 337 +++++
.../undertow/core/reactive/package-info.java | 20 +
.../core/servlet/CompositeResourceManager.java | 74 ++
.../DeploymentManagerHttpHandlerFactory.java | 95 ++
.../core/servlet/FileSessionPersistence.java | 144 +++
.../undertow/core/servlet/JarResourceManager.java | 81 ++
.../servlet/UndertowDeploymentInfoCustomizer.java | 37 +
.../core/servlet/UndertowServletWebServer.java | 95 ++
.../servlet/UndertowServletWebServerFactory.java | 596 +++++++++
.../grails/undertow/core/servlet/package-info.java | 20 +
.../spring-boot/src/main/resources/META-INF/NOTICE | 22 +
.../additional-spring-configuration-metadata.json | 13 +
.../main/resources/META-INF/spring/aot.factories | 2 +
...gure.web.ManagementContextConfiguration.imports | 2 +
...rk.boot.autoconfigure.AutoConfiguration.imports | 4 +
.../grails/undertow/core/UndertowAccess.java | 34 +
.../core/UndertowWebServerRuntimeHintsTests.java | 59 +
.../UndertowServerPropertiesTests.java | 81 ++
.../UndertowWebServerFactoryCustomizerTests.java | 285 +++++
.../UndertowManagementServerPropertiesTests.java | 38 +
...towReactiveWebServerAutoConfigurationTests.java | 71 ++
...rtowServletWebServerAutoConfigurationTests.java | 74 ++
...rtowServletWebServerFactoryCustomizerTests.java | 53 +
...ervletWebServerServletContextListenerTests.java | 94 ++
.../UndertowReactiveWebServerFactoryTests.java | 101 ++
.../core/servlet/FileSessionPersistenceTests.java | 94 ++
.../core/servlet/JarResourceManagerTests.java | 103 ++
.../UndertowServletWebServerFactoryTests.java | 192 +++
...ndertowServletWebServerMvcIntegrationTests.java | 155 +++
.../grails/undertow/core/servlet/restricted.jks | Bin 0 -> 4464 bytes
.../apache/grails/undertow/core/servlet/test.jks | Bin 0 -> 6536 bytes
.../org/apache/grails/undertow/core/test.jks | Bin 0 -> 6536 bytes
.../UrlMappingsBeanDefinitionsPostProcessor.groovy | 111 ++
.../web/mapping/UrlMappingsGrailsPlugin.groovy | 56 +-
.../web/mapping/UrlMappingsGrailsPluginSpec.groovy | 111 ++
.../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 +-
.../META-INF/spring-configuration-metadata.json | 7 +-
.../grails/web/errors/GrailsExceptionResolver.java | 14 +-
.../web/errors/GrailsExceptionResolverSpec.groovy | 348 +++---
grails-web-url-mappings/build.gradle | 16 +
.../mapping/cli}/UrlMappingsReportCommand.groovy | 7 +-
.../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 +++
settings.gradle | 26 +-
971 files changed, 39514 insertions(+), 10738 deletions(-)
create mode 100644 .github/workflows/release-verify.yml
create mode 100755 etc/bin/normalize_annotations.groovy
create mode 100644 gradle/cli-companion-bom-constraints.gradle
create mode 100644 gradle/groovy-compile-configscript.groovy
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%)
copy 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%)
copy 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 (98%)
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/boot/GrailsAppEnvironmentConversionSpec.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-data-graphql/plugin/src/test/groovy/org/grails/gorm/graphql/plugin/GormGraphqlGrailsPluginSpec.groovy
delete mode 100644 grails-data-hibernate5/core/src/test/groovy/grails/gorm/tests/DeleteAllWhereSpec.groovy
delete mode 100644 grails-data-hibernate5/core/src/test/groovy/grails/gorm/tests/WhereQueryBugFixSpec.groovy
delete mode 100644 grails-data-hibernate5/core/src/test/groovy/grails/gorm/tests/WhereQueryOldIssueVerificationSpec.groovy
create mode 100644 grails-data-hibernate5/core/src/test/groovy/org/apache/grails/data/testing/tck/base/GrailsDataTckManagerSpec.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-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command => grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmChangelogSyncCommand.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}/DbmChangelogSyncSqlCommand.groovy (92%)
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}/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-hibernate7/dbmigration/src/main/groovy/org/grails/plugins/databasemigration/command => grails-data-hibernate5/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmCreateChangelog.groovy (97%)
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}/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-hibernate5/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command => src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmFutureRollbackCountSqlCommand.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}/DbmFutureRollbackSqlCommand.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}/DbmGenerateChangelogCommand.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}/DbmGenerateGormChangelogCommand.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}/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-hibernate5/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command => 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-hibernate5/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command => 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-hibernate7/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command => grails-data-hibernate5/dbmigration/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%)
copy 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%)
copy grails-data-hibernate5/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command => src/cli/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmValidateCommand.groovy (91%)
rename grails-data-hibernate5/dbmigration/src/{main/groovy/org/grails/plugins/databasemigration/command => 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-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command => 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-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command => 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-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command => apache/grails/data/hibernate5/dbmigration/cli}/DbmFutureRollbackCountSqlCommandSpec.groovy (97%)
rename grails-data-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command => 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-hibernate7/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command => grails-data-hibernate5/dbmigration/src/test/groovy/org/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-hibernate5/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command => 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-hibernate7/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command => grails-data-hibernate5/dbmigration/src/test/groovy/org/apache/grails/data/hibernate5/dbmigration/cli}/DbmRollbackSqlCommandSpec.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}/DbmRollbackToDateCommandSpec.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}/DbmRollbackToDateSqlCommandSpec.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}/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-hibernate5/grails-plugin/src/{main/groovy/grails/plugin/hibernate/commands => cli/groovy/org/apache/grails/data/hibernate5/cli}/SchemaExportCommand.groovy (96%)
delete mode 100644 grails-data-hibernate7/core/src/test/groovy/grails/gorm/tests/DeleteAllWhereSpec.groovy
delete mode 100644 grails-data-hibernate7/core/src/test/groovy/grails/gorm/tests/WhereQueryBugFixSpec.groovy
delete mode 100644 grails-data-hibernate7/core/src/test/groovy/grails/gorm/tests/WhereQueryOldIssueVerificationSpec.groovy
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-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command => grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmChangelogSyncCommand.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}/DbmChangelogSyncSqlCommand.groovy (92%)
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}/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-hibernate5/dbmigration/src/main/groovy/org/grails/plugins/databasemigration/command => grails-data-hibernate7/dbmigration/src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmCreateChangelog.groovy (97%)
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}/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-hibernate7/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command => src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmFutureRollbackCountSqlCommand.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}/DbmFutureRollbackSqlCommand.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}/DbmGenerateChangelogCommand.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}/DbmGenerateGormChangelogCommand.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}/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-hibernate7/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command => 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-hibernate7/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command => 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-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command => grails-data-hibernate7/dbmigration/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-hibernate7/dbmigration/{grails-app/commands/org/grails/plugins/databasemigration/command => src/cli/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmValidateCommand.groovy (91%)
rename grails-data-hibernate7/dbmigration/src/{main/groovy/org/grails/plugins/databasemigration/command => 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-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command => 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-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command => 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-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command => apache/grails/data/hibernate7/dbmigration/cli}/DbmFutureRollbackCountSqlCommandSpec.groovy (97%)
rename grails-data-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command => 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-hibernate5/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command => grails-data-hibernate7/dbmigration/src/test/groovy/org/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-hibernate7/dbmigration/src/test/groovy/org/{grails/plugins/databasemigration/command => 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-hibernate5/dbmigration/src/test/groovy/org/grails/plugins/databasemigration/command => grails-data-hibernate7/dbmigration/src/test/groovy/org/apache/grails/data/hibernate7/dbmigration/cli}/DbmRollbackSqlCommandSpec.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}/DbmRollbackToDateCommandSpec.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}/DbmRollbackToDateSqlCommandSpec.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}/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-hibernate7/grails-plugin/src/{main/groovy/grails/plugin/hibernate/commands => cli/groovy/org/apache/grails/data/hibernate7/cli}/SchemaExportCommand.groovy (95%)
create mode 100644 grails-data-mongodb/core/src/test/groovy/org/grails/datastore/gorm/mongo/api/MongoStaticApiSpec.groovy
create mode 100644 grails-data-simple/src/test/groovy/org/grails/datastore/mapping/simple/SimpleMapDatastoreSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/grails/gorm/CriteriaBuilderSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/grails/gorm/multitenancy/CurrentTenantHolderSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/grails/gorm/multitenancy/TenantsSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/grails/gorm/services/AbstractServiceImplementerCoverageSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/grails/gorm/services/AbstractStringQueryImplementerCoverageSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/grails/gorm/services/FindAllByImplementerCoverageSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/grails/gorm/services/ServiceTransformationCoverageSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/grails/gorm/transactions/GrailsTransactionTemplateSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/AbstractDatastoreApiSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/AbstractGormApiSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/ConnectionSourceNameResolverSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormApiResolverSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormEnhancerCoverageSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormInstanceApiRegistrySpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormInstanceApiSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormRegistryCoverageSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormStaticApiRegistrySpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormStaticApiSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormValidationApiCoverageSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormValidationApiRegistrySpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/finders/AbstractFinderSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/finders/DynamicFinderCoverageSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/finders/FindOrSaveByFinderSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/multitenancy/MultiTenantEventListenerSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/multitenancy/TenantDelegatingGormOperationsSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/query/transform/WhereQueryClosureCaptureSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/query/transform/WhereQueryEmbeddedBlockTransformSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/services/DefaultTenantServiceSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/services/DefaultTransactionServiceSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/transactions/DefaultTransactionTemplateFactorySpec.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/ExternalRef.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/SystemManaged.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WorkItem.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WorkItemGroup.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqAuthor.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqBiAuthor.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqBiBook.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqBookAuthor.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqBookItem.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqFoo.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqGroupedItem.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqPhrase.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqRole.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqRoleUser.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqScientificBook.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqSentence.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqStudent.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqThing.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqUserRole.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/domains/WqWord.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/tests/WhereQueryEmbeddedSpec.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/tests/WhereQueryIssueVerificationSpec.groovy
create mode 100644 grails-datamapping-tck/src/main/groovy/org/apache/grails/data/testing/tck/tests/WhereQueryLeftJoinSpec.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
rename grails-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command/DbmValidateCommand.groovy => grails-forge/gradle/groovy-version-pin.gradle (63%)
copy grails-test-examples/scaffolding/src/integrationTest/groovy/com/example/pages/LogoutPage.groovy => grails-forge/grails-forge-core/src/main/java/org/grails/forge/build/gradle/MavenLocalRepository.java (66%)
copy grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/database/{HibernateGorm.java => GrailsDataHibernate5.java} (81%)
rename grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/database/{HibernateGorm.java => GrailsDataHibernate7.java} (78%)
rename grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/{grails/GrailsConsole.java => database/GrailsDataHibernateValidator.java} (50%)
rename grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/database/{MongoGorm.java => GrailsDataMongoDB.java} (90%)
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-data-hibernate5/dbmigration/grails-app/commands/org/grails/plugins/databasemigration/command/DbmUpdateCommand.groovy => grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/security/PrimarySecurityFeature.java (59%)
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/java/org/grails/forge/options/GormImplTypeConverter.java
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
rename grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/{HibernateGormSpec.groovy => GrailsDataHibernate5Spec.groovy} (97%)
create mode 100644 grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/GrailsDataHibernate7Spec.groovy
rename grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/{MongoGormSpec.groovy => GrailsDataMongoDBSpec.groovy} (59%)
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
copy grails-forge/grails-forge-core/src/{main/java/org/grails/forge/options/GormImpl.java => test/groovy/org/grails/forge/options/GormImplSpec.groovy} (53%)
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/groovy/org/grails/gradle/plugin/profiles/tasks/ProfileCompilerTaskSpec.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
rename grails-gsp/grails-sitemesh3/src/main/{java/org/grails/plugins/sitemesh3/GrailsSiteMeshViewResolverBeanPostProcessor.java => groovy/org/grails/plugins/sitemesh3/GrailsSiteMeshViewResolverBeanPostProcessor.groovy} (55%)
create mode 100644 grails-gsp/grails-sitemesh3/src/main/groovy/org/grails/plugins/sitemesh3/Sitemesh3AutoConfiguration.groovy
create mode 100644 grails-gsp/grails-sitemesh3/src/main/groovy/org/grails/plugins/sitemesh3/Sitemesh3EnvironmentPostProcessor.groovy
create mode 100644 grails-gsp/grails-sitemesh3/src/main/groovy/org/grails/plugins/sitemesh3/Sitemesh3ViewResolverDefinitionPostProcessor.groovy
delete mode 100644 grails-gsp/grails-sitemesh3/src/main/java/org/grails/plugins/sitemesh3/Sitemesh3AutoConfiguration.java
create mode 100644 grails-gsp/grails-sitemesh3/src/main/resources/META-INF/spring.factories
create mode 100644 grails-gsp/grails-sitemesh3/src/test/groovy/org/grails/plugins/sitemesh3/Sitemesh3EnvironmentPostProcessorSpec.groovy
create mode 100644 grails-gsp/grails-sitemesh3/src/test/groovy/org/grails/plugins/sitemesh3/Sitemesh3ViewResolverDefinitionPostProcessorSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/LocaleSelectAvailableSpec.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/main/groovy/org/grails/plugins/i18n/AvailableLocaleResolver.java
create mode 100644 grails-i18n/src/test/groovy/org/grails/plugins/i18n/AvailableLocaleResolverSpec.groovy
create mode 100644 grails-i18n/src/test/groovy/org/grails/plugins/i18n/I18nGrailsPluginSpec.groovy
create mode 100644 grails-i18n/src/test/resources/bogus-plugin_zz.properties
create mode 100644 grails-i18n/src/test/resources/messages.properties
create mode 100644 grails-i18n/src/test/resources/messages_.properties
create mode 100644 grails-i18n/src/test/resources/messages_cs.properties
create mode 100644 grails-i18n/src/test/resources/messages_es.properties
create mode 100644 grails-i18n/src/test/resources/messages_fr.properties
create mode 100644 grails-i18n/src/test/resources/messages_pt_BR.properties
create mode 100644 grails-i18n/src/test/resources/report_en_prod.properties
create mode 100644 grails-i18n/src/test/resources/spring-security-core_zu.properties
create mode 100644 grails-i18n/src/test/resources/standalone.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%)
copy {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-scaffolding/src/main/groovy/grails/plugin/scaffolding/ScaffoldingViewResolverDefinitionPostProcessor.groovy
create mode 100644 grails-scaffolding/src/test/groovy/grails/plugin/scaffolding/ScaffoldingViewResolverDefinitionPostProcessorSpec.groovy
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/profile/GrailsRepositoryOverridesSpec.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%)
copy {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-spring-security/plugin/{grails-app/commands/grails.plugin.springsecurity/SkipBootstrap.groovy => src/test/groovy/grails/plugin/springsecurity/LogoutControllerSpec.groovy} (57%)
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.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/external-configuration/src/integration-test/groovy/test/app/RelaxedPropertyResolutionSpec.groovy
copy grails-test-examples/{plugins/loadafter => latency}/build.gradle (68%)
create mode 100644 grails-test-examples/latency/grails-app/conf/application.yml
copy grails-test-examples/{test-phases => latency}/grails-app/conf/logback.xml (100%)
copy grails-core/src/main/groovy/grails/dev/commands/template/TemplateException.groovy => grails-test-examples/latency/grails-app/controllers/latencyapp/FastController.groovy (73%)
rename grails-core/src/main/groovy/grails/dev/commands/template/TemplateException.groovy => grails-test-examples/latency/grails-app/controllers/latencyapp/SlowController.groovy (73%)
copy grails-scaffolding/src/main/groovy/grails/plugin/scaffolding/SkipBootstrap.groovy => grails-test-examples/latency/grails-app/controllers/latencyapp/UrlMappings.groovy (83%)
copy grails-scaffolding/src/main/groovy/grails/plugin/scaffolding/SkipBootstrap.groovy => grails-test-examples/latency/grails-app/init/latencyapp/Application.groovy (77%)
create mode 100644 grails-test-examples/latency/src/integration-test/groovy/latencyapp/LatencyFunctionalSpec.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/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/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/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
copy grails-scaffolding/src/main/groovy/grails/plugin/scaffolding/SkipBootstrap.groovy => grails-test-examples/test-phases/src/functional-test/groovy/testphases/pages/GreetingPage.groovy (77%)
copy grails-test-examples/{cache => undertow}/build.gradle (75%)
copy grails-test-examples/{jetty => undertow}/grails-app/assets/javascripts/application.js (100%)
copy grails-test-examples/{jetty => undertow}/grails-app/assets/stylesheets/application.css (100%)
create mode 100644 grails-test-examples/undertow/grails-app/conf/application.yml
copy grails-test-examples/{jetty => undertow}/grails-app/conf/logback-spring.xml (100%)
copy grails-test-examples/{app2 => undertow}/grails-app/conf/spring/resources.groovy (100%)
rename grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/grails/GrailsConsoleSpec.groovy => grails-test-examples/undertow/grails-app/controllers/undertowapp/SessionController.groovy (63%)
copy grails-scaffolding/src/main/groovy/grails/plugin/scaffolding/SkipBootstrap.groovy => grails-test-examples/undertow/grails-app/controllers/undertowapp/UrlMappings.groovy (76%)
rename grails-spring-security/ui/plugin/src/main/groovy/grails/plugin/springsecurity/ui/Constants.groovy => grails-test-examples/undertow/grails-app/init/undertowapp/Application.groovy (74%)
rename grails-spring-security/ui/plugin/grails-app/assets/stylesheets/jquery-ui.css => grails-test-examples/undertow/grails-app/init/undertowapp/BootStrap.groovy (90%)
copy grails-spring-security/plugin/grails-app/views/login/denied.gsp => grails-test-examples/undertow/grails-app/views/error.gsp (78%)
rename grails-test-examples/{spring-security/ui/extended/grails-app/views/layouts/email.gsp => undertow/grails-app/views/index.gsp} (78%)
copy grails-spring-security/plugin/grails-app/views/login/denied.gsp => grails-test-examples/undertow/grails-app/views/notFound.gsp (78%)
rename grails-test-examples/{spring-security/ui/simple/grails-app/views/layouts/email.gsp => undertow/grails-app/views/session/index.gsp} (78%)
rename grails-test-examples/{spring-security/ui/simple/grails-app/views/securityInfo/voters.gsp => undertow/grails-app/views/session/show.gsp} (77%)
create mode 100644 grails-test-examples/undertow/src/integration-test/groovy/undertowapp/UndertowSessionSpec.groovy
copy grails-scaffolding/src/main/groovy/grails/plugin/scaffolding/SkipBootstrap.groovy => grails-test-examples/undertow/src/integration-test/groovy/undertowapp/pages/SessionFormPage.groovy (75%)
rename grails-scaffolding/src/main/groovy/grails/plugin/scaffolding/SkipBootstrap.groovy => grails-test-examples/undertow/src/integration-test/groovy/undertowapp/pages/SessionShowPage.groovy (78%)
create mode 100644 grails-testing-support-core/src/test/groovy/org/grails/testing/DefineBeansPluginHooksSpec.groovy
copy {grails-services => grails-testing-support-latency}/build.gradle (63%)
create mode 100644 grails-testing-support-latency/src/main/groovy/org/apache/grails/testing/latency/LatencyAutoConfiguration.groovy
create mode 100644 grails-testing-support-latency/src/main/groovy/org/apache/grails/testing/latency/LatencyFilter.groovy
create mode 100644 grails-testing-support-latency/src/main/groovy/org/apache/grails/testing/latency/LatencyProperties.groovy
create mode 100644 grails-testing-support-latency/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 grails-testing-support-latency/src/test/groovy/org/apache/grails/testing/latency/LatencyAutoConfigurationSpec.groovy
create mode 100644 grails-testing-support-latency/src/test/groovy/org/apache/grails/testing/latency/LatencyFilterSpec.groovy
create mode 100644 grails-undertow/plugin/build.gradle
rename grails-core/src/main/groovy/grails/dev/commands/ExecutionContext.groovy => grails-undertow/plugin/src/main/groovy/org/apache/grails/undertow/plugin/UndertowGrailsPlugin.groovy (54%)
create mode 100644 grails-undertow/plugin/src/test/groovy/org/apache/grails/undertow/plugin/UndertowGrailsPluginSpec.groovy
create mode 100644 grails-undertow/spring-boot/build.gradle
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/AccessLogHttpHandlerFactory.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/CompressionHttpHandlerFactory.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/ConfigurableUndertowWebServerFactory.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/HttpHandlerFactory.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/SslBuilderCustomizer.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/UndertowBuilderCustomizer.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/UndertowWebServer.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/UndertowWebServerFactory.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/UndertowServerProperties.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/UndertowWebServerConfiguration.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/UndertowWebServerFactoryCustomizer.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/actuate/web/server/UndertowAccessLogCustomizer.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/actuate/web/server/UndertowManagementServerProperties.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/actuate/web/server/UndertowReactiveManagementChildContextConfiguration.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/actuate/web/server/UndertowReactiveManagementContextAutoConfiguration.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/actuate/web/server/UndertowServletManagementChildContextConfiguration.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/actuate/web/server/UndertowServletManagementContextAutoConfiguration.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/actuate/web/server/package-info.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/package-info.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/reactive/UndertowReactiveWebServerAutoConfiguration.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/reactive/package-info.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/servlet/UndertowServletWebServerAutoConfiguration.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/servlet/UndertowServletWebServerFactoryCustomizer.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/servlet/WebSocketUndertowServletWebServerFactoryCustomizer.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/autoconfigure/servlet/package-info.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/package-info.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/reactive/UndertowHeadersAdapter.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/reactive/UndertowHttpHandlerAdapter.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/reactive/UndertowReactiveWebServerFactory.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/reactive/UndertowServerHttpRequest.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/reactive/UndertowServerHttpResponse.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/reactive/package-info.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/servlet/CompositeResourceManager.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/servlet/DeploymentManagerHttpHandlerFactory.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/servlet/FileSessionPersistence.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/servlet/JarResourceManager.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/servlet/UndertowDeploymentInfoCustomizer.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/servlet/UndertowServletWebServer.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/servlet/UndertowServletWebServerFactory.java
create mode 100644 grails-undertow/spring-boot/src/main/java/org/apache/grails/undertow/core/servlet/package-info.java
create mode 100644 grails-undertow/spring-boot/src/main/resources/META-INF/NOTICE
create mode 100644 grails-undertow/spring-boot/src/main/resources/META-INF/additional-spring-configuration-metadata.json
create mode 100644 grails-undertow/spring-boot/src/main/resources/META-INF/spring/aot.factories
create mode 100644 grails-undertow/spring-boot/src/main/resources/META-INF/spring/org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration.imports
create mode 100644 grails-undertow/spring-boot/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644 grails-undertow/spring-boot/src/test/java/org/apache/grails/undertow/core/UndertowAccess.java
create mode 100644 grails-undertow/spring-boot/src/test/java/org/apache/grails/undertow/core/UndertowWebServerRuntimeHintsTests.java
create mode 100644 grails-undertow/spring-boot/src/test/java/org/apache/grails/undertow/core/autoconfigure/UndertowServerPropertiesTests.java
create mode 100644 grails-undertow/spring-boot/src/test/java/org/apache/grails/undertow/core/autoconfigure/UndertowWebServerFactoryCustomizerTests.java
create mode 100644 grails-undertow/spring-boot/src/test/java/org/apache/grails/undertow/core/autoconfigure/actuate/web/UndertowManagementServerPropertiesTests.java
create mode 100644 grails-undertow/spring-boot/src/test/java/org/apache/grails/undertow/core/autoconfigure/reactive/UndertowReactiveWebServerAutoConfigurationTests.java
create mode 100644 grails-undertow/spring-boot/src/test/java/org/apache/grails/undertow/core/autoconfigure/servlet/UndertowServletWebServerAutoConfigurationTests.java
create mode 100644 grails-undertow/spring-boot/src/test/java/org/apache/grails/undertow/core/autoconfigure/servlet/UndertowServletWebServerFactoryCustomizerTests.java
create mode 100644 grails-undertow/spring-boot/src/test/java/org/apache/grails/undertow/core/autoconfigure/servlet/UndertowServletWebServerServletContextListenerTests.java
create mode 100644 grails-undertow/spring-boot/src/test/java/org/apache/grails/undertow/core/reactive/UndertowReactiveWebServerFactoryTests.java
create mode 100644 grails-undertow/spring-boot/src/test/java/org/apache/grails/undertow/core/servlet/FileSessionPersistenceTests.java
create mode 100644 grails-undertow/spring-boot/src/test/java/org/apache/grails/undertow/core/servlet/JarResourceManagerTests.java
create mode 100644 grails-undertow/spring-boot/src/test/java/org/apache/grails/undertow/core/servlet/UndertowServletWebServerFactoryTests.java
create mode 100644 grails-undertow/spring-boot/src/test/java/org/apache/grails/undertow/core/servlet/UndertowServletWebServerMvcIntegrationTests.java
create mode 100644 grails-undertow/spring-boot/src/test/resources/org/apache/grails/undertow/core/servlet/restricted.jks
create mode 100644 grails-undertow/spring-boot/src/test/resources/org/apache/grails/undertow/core/servlet/test.jks
create mode 100644 grails-undertow/spring-boot/src/test/resources/org/apache/grails/undertow/core/test.jks
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