This is an automated email from the ASF dual-hosted git repository.
jamesfredley pushed a change to branch 8.1.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git
from 0613772b36 Merge pull request #16135 from
apache/feat/enable-datamapping-rx
add de314a0557 Fix reproducible build artifact verification
add b86d50422c Merge pull request #16091 from apache/post-8.0.0-M5-release
add a8a12d5d5a Add @GrailsBeans: compile a bean-wiring DSL into real
@AutoConfiguration classes
add e361649056 Allow @GrailsBeans directly on a *GrailsPlugin.groovy
Plugin subclass
add 0ed1645459 Verify and document @GrailsBeans compatibility with
@CompileStatic
add 79b2f3f158 Address review findings: publishing, static compilation,
arg validation, silent failures
add 48ed0fa86c Statically compile generated GrailsBeans plugin siblings
add 360bc4306e Document @GrailsBeans DSL limitations
add ff2241926c Add primary(), lazy(), and scope(...) qualifiers to the
beans DSL
add d5c7d2d017 Correct inaccurate claim about per-bean Spring conditionals
in docs
add 4cf0a7ab11 Add a generic annotate(...) qualifier to the beans DSL
add 4dea95c048 Add field(...) and method(...) to the beans DSL
add 6385b338be Convert the real grails-i18n autoconfiguration to
@GrailsBeans
add e4f92b1eab Use the real Settings constants for @Value keys in the i18n
conversion
add dc07794825 Remove unnecessary method() indirection from the i18n
conversion
add 8c35ae1e56 Split a merged comment back into its two original topics
add c038c985c3 Address review: propagate Conditional*/Import* annotations
to the generated sibling, fix acronym decapitalization, reject duplicate
bean/field/method names
add 12fa9dfd06 Document
field()/method()/.primary()/.lazy()/.scope()/.annotate() and
sibling-annotation-move on @GrailsBeans
add ec5f8e52ac Address a second review: recurse through composed
condition/import annotations, add @GrailsBeans(autoConfigurationName = ...)
add 959fa3df34 Reject autoConfigurationName on a standalone class, where
it silently had no effect
add b36edf3fa8 Document the full sibling-annotation move, composed
annotations, autoConfigurationName, and the bean-name-is-a-Java-identifier
limitation
add 6806043b23 Fix the bean-name-limitation workaround: it doesn't apply
to the Plugin-subclass form
add 32b0e06e5c Use autoConfigurationName to preserve
I18nAutoConfiguration's identity through the @GrailsBeans conversion
add 48d4af2cb9 Complete the I18nAutoConfiguration identity restoration
(previous commit only carried the file rename)
add 471008b6d2 Add bean(...).named(...) so a bean name that isn't a valid
Java identifier can still be expressed
add 98089e5552 Make .named(...) optional: fall back to a synthesized
<type>$N method name instead of a compile error
add bdb6b63a2b Drop the redundant explicit bean names that just repeated
the convention-derived one
add faf14de109 Reject blank/reserved-keyword names, add ImportResource to
the sibling-move list, and rename .named(...) to .methodNamed(...)
add dde9f33b67 Keep localeChangeInterceptor's explicit bean name; verify
beforeName ordering and availableLocaleResolver's derived name
add b9063a78ed Rename .methodNamed to .methodName; auto-move
@ComponentScan/@PropertySources; add moveAnnotations escape hatch
add a019de05f3 Remove .methodName(...) from the DSL: generated method
names are an implementation detail
add 31feae1ed2 Make bean/member name-collision handling independent of
declaration order
add c41c33b2b1 Reserve existing host and hierarchy member names before
choosing generated names
add 21f69f9210 Traverse the full interface graph when reserving existing
member names
add 2ff9ebcda5 Reserve the accessor names Groovy will synthesize for
properties
add e0f8d13f16 Consolidate comments that restated each other or nearby
documentation
add 07e89bbde0 Groovy-fy the beans DSL: suffix-derived sibling names,
richer conditionalOnMissingBean, field .value(...)
add b936793fde Apply the new DSL conveniences to the real i18n conversion
add 6148123389 Add .conditionalOnMissingBeanName(...): name-based
self-back-off stated once
add 2306135aa2 Reject types given both positionally and via value: on
conditionalOnMissingBean; fix stale method(...) chaining docs
add b821683c51 Fold .value(...) placeholders at transform time; compile
I18nGrailsPlugin with @CompileStatic
add 98b046b946 Merge branch '8.0.x' into spike/grails-beans-dsl
add 19a502c420 Flip the DSL argument order to name-first: bean('name',
Type), field('name', Type), method('name', Type)
add 48d352fadf Allow one bean name across several bean(...) statements
when each carries a discriminating condition
add 855a28347d Document @GrailsBeans for applications, including the
Application class
add 32ead2bbc4 Auto-wrap a bare config key given to single-argument
.value(...)
add 5e9e162e99 Convert UrlMappingsAutoConfiguration to a @GrailsBeans
block on UrlMappingsGrailsPlugin
add 776985dd80 Reject a blank config key in .value(...)
add 03209d1209 Cover the migrated grailsLinkGenerator behavior in
UrlMappingsAutoConfigurationSpec
add 5450dffcfe Add bean(...).staticMethod(): a static @Bean factory method
add 53dcb874db Convert Sitemesh3AutoConfiguration to a @GrailsBeans block
on Sitemesh3GrailsPlugin
add 6e4a52013d Convert MailAutoConfiguration to a @GrailsBeans block on
MailGrailsPlugin
add 8ce848237d Cover the enabled JNDI path and qualified session injection
in MailAutoConfigurationSpec
add 483d9a543c Simplify the mail sender's nested host/encoding defaults
add 203a8ae9d9 Use tap for the mail sender's conditional configuration
add 7d17c3ac4e Polish the converted bean bodies with Groovy idioms
add 5c71d9e88c Merge branch '8.0.x' into spike/grails-beans-dsl
add 6986f0cc12 Convert CoreAutoConfiguration to a @GrailsBeans block on
CoreGrailsPlugin
add 100b9dbf77 Apply the configured Spring placeholder prefix
add 311fb9a959 Convert GrailsCacheAutoConfiguration to a @GrailsBeans
block on CacheGrailsPlugin
add 700cf9c329 Convert GrailsDomainClassAutoConfiguration to a
@GrailsBeans block on DomainClassGrailsPlugin
add 623ce9748d Convert DataBindingConfiguration to a @GrailsBeans block on
DataBindingGrailsPlugin
add 4dab384019 Allow bean(Type) with no factory closure
add 6fe91a2519 Collapse the databinding source creators onto bodyless
bean(Type)
add bab7b058f3 Drop redundant explicit bean names from the converted
plugins
add cd1639f850 Use idiomatic array concatenation in the data binder bean
add 350bb9891a Collapse the remaining bare-construction beans onto
bodyless bean(Type)
add f4410fd5c0 Use tap for the source registry and wrap the long
url-mapping chains
add 285168ddf8 Show the bodyless bean form in the application-class
documentation
add 80e526a087 Treat an empty beans block as a no-op
add 6a71fa5ef6 Merge branch '8.0.x' into spike/grails-beans-dsl
add 5a4e2b8c21 Compile a beans property without requiring @GrailsBeans
add 1af34ee7f0 Drop @GrailsBeans from the plugin descriptors that no
longer need it
add 1346b27b2b Move the cache plugin fully onto auto-configuration
add da28b4f1e9 Move the SiteMesh 3 mutator into the DSL and fix its
environment post-processor
add 1544bd7d19 Contribute the auto-timestamp cache default to the
environment
add 29305023f4 Drop the dead GrailsConfigurationAware contract from
GrailsPlaceholderConfigurer
add 0161f9dcbe Fix component scanning outside the project directory
add 48b2bfb1e5 Contribute the bean-packages scan through beanRegistrar
add 637b7affc6 Move CoreGrailsPlugin's bean definitions out of doWithSpring
add a70ff87f1f Register the abstract resource locator without doWithSpring
add 5525000e0f Merge branch '8.0.x' into spike/grails-beans-dsl
add 9743d3a54e Fix eight defects in the beans DSL transform
add 62b74b9a3f Fix the imports generator and give it a real consumer
add 138d014236 Declare the beans DSL once, and give it its own group
add 0224df0ecd Move the beans DSL examples under grails-test-examples
add 94e25dee20 Only claim a beans property that looks like the DSL
add af64be699c Use the Settings constants, and name the sibling correctly
add 0067d15e23 Correct the beans DSL documentation
add 1fe013a1c6 Declare the constraint evaluator's parameters in
constructor order
add d8f2a7b78b Let an empty bean closure body mean "construct from these
parameters"
add 9796eb104a Prove the parameter @Qualifier through real Spring injection
add e09d4ef4e8 Wrap overlong source lines
add 9f0b4d5f7b Use the concise bean forms in the DSL example module
add 8009c21a64 Correct two stale limitations in the DSL documentation
add 1410710809 Read @AutoConfiguration from class files instead of loading
them
add cc6bdf429c Source ASM's version from the build-tooling version map
add a4deb3d2cd Locate two errors that were reported against nothing, or
against the wrong thing
add f31d57061f Stop claiming a Groovy class constant does not fold
add 33c9ee771d Key the cache plugin's startup hook on what actually
registered
add 4e51a2556a Document the component-scan behaviour change, and drop
@GrailsBeans to CLASS retention
add 297767a923 Merge branch '8.0.x' into spike/grails-beans-dsl
add 7d90d67932 Merge remote-tracking branch
'origin/spike/grails-beans-dsl' into spike/grails-beans-dsl
add 9f18a77067 Cover the relaxed-boolean path that motivated the cache fix
add ccee98a603 Merge branch '8.0.x' into spike/grails-beans-dsl
add 022465ee3c Merge branch '8.0.x' into spike/grails-beans-dsl
add 783b1ec36c Give every Grails 8 upgrade section a distinct number
add c3c9b4986d Address review: correct the Application beans docs and drop
a redundant comment
add 6378d2daed Merge pull request #16019 from
codeconsole/spike/grails-beans-dsl
add 4cb7c85650 build: do not cache project references
add 4bc5bd8233 Merge pull request #16087 from
apache/impr-gradle-conf-time-2
add 5aa26db4c4 Fall back to the WatchService watcher instead of polling
add 40272535a4 Treat a linkage failure as the native watcher being
unavailable
add 48d528d95f Merge branch '8.0.x' into
fix/directory-watcher-fallback-8.0.x
add 641849abb6 Assert watcher behaviour rather than the implementation
selected
add 7cd616519b Require macOS for the native watcher test
add ab2b2afb3e Warn when native macOS file watching is unavailable
add 948775bcb4 Merge pull request #16089 from
codeconsole/fix/directory-watcher-fallback-8.0.x
add 35b1f70801 docs: add Gradle 9 developer skill for monorepo builds
add 0ea98a1a07 docs: register gradle-developer skill in AGENTS.md
add e4d26c5d6d docs: polish gradle-developer skill with cacheability and
monorepo lessons
add 3de06ee544 Merge pull request #16083 from
apache/docs/gradle-developer-skill
add d8c90360f3 change cooldown for dependabot to 7 days
add 8c5b1cfdd8 Merge pull request #16099 from
paulk-asert/dependabotCooldown
add 5784450e7e [skip ci] Release v8.0.0-M5
add c989200e71 [skip ci] Bump version to 8.0.0-SNAPSHOT
add e88612c33c Merge pull request #16106 from apache/merge-back-8.0.0-M5
add a330f176fa port validate-actions GitHub action from Groovy to Grails
add 674a3a375d Merge pull request #16100 from paulk-asert/validateAction
add 4ac99ab547 Bump release-drafter/release-drafter
add 95d2232e9e Merge pull request #15711 from
apache/dependabot/github_actions/release-drafter/release-drafter-693d20e7c1ce1a81d3a41962f85914253b518449
add 4242d6b39c Bump codecov/codecov-action from 6.0.0 to 7.0.0
add 93fd522fb6 Merge pull request #16038 from
apache/dependabot/github_actions/codecov/codecov-action-7.0.0
add f252b430cb Harden synchronizer token consumption
add 880e6b36ab Trim oversized synchronizer token state
add 5130d3c4ac Document synchronizer token consumption and bounds
add 1ffe64ea47 Merge remote-tracking branch 'origin/8.0.x' into
fix/synchronizer-token-hardening
add e929338408 Merge pull request #15803 from
apache/fix/synchronizer-token-hardening
add bfa1f8e676 Remove unused Forge GitHub create and OAuth integration
add a1e526fd02 Merge branch '8.0.x' into fix/forge-oauth-state-validation
add ac94b25e81 Merge pull request #15812 from
apache/fix/forge-oauth-state-validation
add 994311865b Keep BeanBuilder DSL independent of XML setup
add 833d3e4d8e Avoid XML reader init for missing namespaces
add 5b3d004648 Merge remote-tracking branch 'origin/8.0.x' into
fix/14915-beanbuilder-spring7
add 0f1cf52699 Merge 8.0.x into fix/14915-beanbuilder-spring7
add a3b910951c Merge remote-tracking branch 'origin/8.0.x' into
fix/14915-beanbuilder-spring7
add a1b7309d20 Merge origin/8.0.x into fix/14915-beanbuilder-spring7
add c47fb1ebdb Merge branch '8.0.x' into fix/14915-beanbuilder-spring7
add afabbc5c2a Merge remote-tracking branch 'origin/8.0.x' into
apache/fix/14915-beanbuilder-spring7
add 71efa807c7 Merge pull request #15824 from
apache/fix/14915-beanbuilder-spring7
add f18fc9af04 Revert "Keep BeanBuilder DSL independent of XML setup"
add 3e4fa5c897 Merge pull request #16112 from
apache/revert-15824-fix/14915-beanbuilder-spring7
add 8a3a79ffb6 Add deterministic test task sharding
add 57a387c032 Parallelize critical CI test workloads
add cd4490aea5 Parallelize remaining critical CI workloads
add 7ebf2fb3e1 Shard critical selector test legs
add 7bb015970e Separate rerun build work from its test shards
add 8804f208a9 Shard remaining critical CI test legs
add fcc8f257b9 Merge pull request #16116 from
apache/perf/8.0.x-ci-wall-clock-regression
add 6e914ccac0 Avoid duplicate cached codec metaclass registration
add 5311c4cd97 Add codec metaclass registration benchmark
add 4805301d26 Run codec benchmark as opt-in Spock spec
add a81a84baaf Track codec registrations by weak factory keys
add 413a4f345b Merge remote-tracking branch 'origin/8.0.x' into
fix/15374-codec-metaclass-registration-overhead
add c421fbabcc Merge remote-tracking branch 'origin/8.0.x' into
fix/15374-codec-metaclass-registration-overhead
add ac31469817 Address codec metaclass registration review feedback
add e655aaae65 Merge branch '8.0.x' into
fix/15374-codec-metaclass-registration-overhead
add b37a11c061 Avoid double codec registration at startup and in mockCodec
add 7e08fa926a Key codec metaclass registration by Class and lock per
factory
add bd7ef514fc Merge branch '8.0.x' into
fix/15374-codec-metaclass-registration-overhead
add 59f9b22e7b Preserve codec metaclass registration contracts
add 09b037af96 Remove the ad hoc codec benchmark
add ab63e4e5c0 Cover codec lookup lifecycle initialization
add cf62c7f8d4 Cover mockCodec without lookup reinitialization
add b9f5c1f17e Merge branch '8.0.x' into
fix/15374-codec-metaclass-registration-overhead
add 19bcf52e8c Merge branch '8.0.x' into
fix/15374-codec-metaclass-registration-overhead
add fbdf186fe1 Merge pull request #15800 from
apache/fix/15374-codec-metaclass-registration-overhead
add 43c6d17dcf fix(grails-data-hibernate7): stop conflating decimal and
bit precision for numeric columns
add b711dd5bcc test: address review feedback on numeric precision fix
add 72d0873c0b Merge pull request #16026 from
apache/fix/gorm-numeric-column-dialect-precision
add 15c93f2d7c build(refactor): replace deprecated Gradle test listener
creation
add 4e2b0463c4 Merge pull request #16103 from
apache/refactor-depr-gradle-test-listeners
add ae1a390db5 build: cleanup SLF4J warnings in the build output
add 388e5af89e build: change sbom logging to info
add 1c77528134 Merge pull request #16104 from
apache/remove-missing-slf4j-warnings
add ae3c52c65f chore: remove decommissioned code and its dependencies
add 8ac14e97a5 chore: remove test dependencies as there are no tests
add 8f1fa16053 Merge pull request #16096 from
apache/remove-decommissioned-test-code
add 81a151cbcd Generate Spring Security wiring through the beans DSL
add f64b04c71c Lock down the generated Spring Security defaults
add 7fbe45e180 Seed a non-admin account in generated secured apps
add 5e1acba929 Merge pull request #16119 from
codeconsole/forge-security-beans-dsl
add f813b48af6 Compile GSP pages with the Java the project asked for
add 321c9de6f5 Merge pull request #16118 from
codeconsole/fix/gsp-compile-java-toolchain-8.0.x
add 362ffd4571 test: add example domain class with `@ManagedEntity`
add 2c10d5dfb0 fix: update HibernateEntityTransformation to use a specific
applied marker
add 9b508ab3fa test: add example domain class with `@ManagedEntity` in
hibernate7 example
add 91ee8a8283 chore: add license headers
add 535e8141b8 Merge pull request #16121 from apache/fix/managed-entity
add fff5f3e91c Start an embedded MongoDB so generated apps run without one
installed
add cfaa324d76 Address review: keep production external, only reuse our
own server, document
add 724a270dc4 Offer only the backends whose library is present
add 7297db5fdc Do not start an embedded MongoDB while generating bean
definitions
add 4e93ca18b9 Let an application with an embedded MongoDB take a CRaC
checkpoint
add 37f771067b Remove an import left unused by the previous commit
add 8b8bea09af Cover the checkpoint and restore path the embedded MongoDB
depends on
add 905964362b Ask for an embedded MongoDB by url, the way an in-memory
SQL database is asked for
add 9e9c4600be Merge branch '8.0.x' into feature/mongodb-embedded-8.0.x
add 05648caf1a Name the generated MongoDB database the way a SQL one is
named
add fa1e14756d Merge pull request #16095 from
codeconsole/feature/mongodb-embedded-8.0.x
add daaa4048b0 Support escaping a GSP expression with a backslash
add 4431eced56 Merge pull request #16144 from
codeconsole/feature/gsp-escaped-dollar-8.0.x
add 641b7d24f2 Bump testlens-app/setup-testlens from 1.9.2 to 1.9.3
add eae66f7903 Merge pull request #16137 from
apache/dependabot/github_actions/testlens-app/setup-testlens-1.9.3
add 3570c760ed Bump softprops/action-gh-release from 3.0.0 to 3.0.2
add a83f87480e Merge pull request #16138 from
apache/dependabot/github_actions/softprops/action-gh-release-3.0.2
add 2c8b338f1c Document Grails 7 plugin compatibility on Grails 8
add 9ef02258c9 Address plugin compatibility review feedback
add 1628a9c31f Merge pull request #16141 from
jamesfredley/docs/grails-7-plugin-compatibility
add e2926e0316 Harden bindData against mass assignment
add 6c85e2be2b Make mass-assignment deny-by-default opt-in for 8.0
add c63d39a8c5 Merge remote-tracking branch 'origin/8.0.x' into
fix/binddata-mass-assignment
add 6ea7998aa1 Resolve inherited bindData allowlist for proxy subclasses
add a000d32858 Make data binding deny-by-default to prevent mass assignment
add 56a9b27e90 Bind typed arrays through the allowlist and resolve domain
elements
add 8e042314f3 Merge origin/8.0.x into fix/binddata-mass-assignment
add 419695afb7 Restore permissive binding default and honor bindable false
in all modes
add f1bdc751b3 test: add bindable constraints for model properties in
HalJsonRenderer and JsonRenderer specs
add 4c9062e77b Resolve legacyBindableDefault from the raw configuration
value
add 08bf7818e2 Drop the bindable constraints added to the renderer spec
models
add d5335f4a9e Merge branch '8.0.x' into fix/binddata-mass-assignment
add cd4202bfa7 Merge branch '8.0.x' into fix/binddata-mass-assignment
add cdedbb2ff3 Merge branch '8.0.x' into fix/binddata-mass-assignment
add 73a0555772 Address jdaugherty review feedback for opt-in secure binding
add 23625ea24c Merge branch '8.0.x' into fix/binddata-mass-assignment
add 21e715ce3d Address data binding review feedback
add b89e6a02dd Merge branch '8.0.x' into fix/binddata-mass-assignment
add dad867634c Merge branch '8.0.x' into fix/binddata-mass-assignment
add 11ebb5a8cd Merge pull request #15947 from
apache/fix/binddata-mass-assignment
add 8be3bf2060 Merge branch '8.0.x' into 8.1.x
add e801ffb403 Add JMH performance regression reporting for pull requests
add ed2db8a1af Close JMH metadata stream and run comparison tests in CI
add e04c9022ba Replace Python JMH comparison tooling with Groovy
add e510a627a1 Merge branch '8.0.x' into perf/8.0.x-jmh-pr-benchmarks
add 202d206a6a Address JMH PR review feedback on workflow, guards, and
tooling
add b8d3233184 Isolate JMH report tests from benchmark fixtures
add 90eded54b2 Preserve JMH mode in benchmark reports
add 8624c28d99 Harden JMH benchmark comment updates
add 5429ab7669 Guard GSP parser benchmark fixtures
add 22c45df65a Align JMH workflow with pull request execution
add f579cf3135 Merge pull request #16071 from
apache/perf/8.0.x-jmh-pr-benchmarks
add 6309f18a1f Add opt-in nullMissing support to bindData for stale-data
clearing
add 018220fb3e Merge deny-by-default binding into nullMissing branch
add 73839891f2 Merge origin/8.0.x into fix/binddata-null-missing-stale-data
add 990a79d48f Merge fix/binddata-mass-assignment into
fix/binddata-null-missing-stale-data
add 62d4aadc22 Merge branch 'fix/binddata-mass-assignment' into
fix/binddata-null-missing-stale-data
add 59ec123ecd Merge branch 'fix/binddata-mass-assignment' into
fix/binddata-null-missing-stale-data
add 1f566947cc Merge branch 'fix/binddata-mass-assignment' into
fix/binddata-null-missing-stale-data
add cbfd385d3b Consolidate framework-managed data binding properties
add dc719ce099 Extract nullMissing property clearing
add 2b53efd370 Fix domain binding spec cleanup lifecycle
add 50714be10c Keep Grails-managed domain properties bindable when opted in
add 9cd1bde916 Merge branch 'fix/binddata-mass-assignment' into
fix/binddata-null-missing-stale-data
add 69ed46edca Merge binding security updates into nullMissing work
add bcb05afdee Merge branch 'fix/binddata-mass-assignment' into
fix/binddata-null-missing-stale-data
add 8cc9ceed92 Rename `nullMissing` to `clearMissing`
add c4e58c24ec docs: clarify behavior of clearMissing in
FrameworkPropertyNames
add 3352c00b7f test: improve clarity of test names for clearMissing
behavior
add e133a02446 docs: enhance bindData documentation with wildcard usage
and clearMissing behavior
add 0c876331b0 test: improve clarity of bindData test names and enhance
clearMissing behavior
add 13091653f5 feat: implement wildcard expansion for included properties
in clearMissing
add 4633c6777b docs: clarify behavior of clearMissing for Grails-managed
properties
add ecff934dbc chore: cleanup
`DefaultASTDatabindingHelperDomainClassSpecialPropertiesSpec`
add a6f4846fec Merge branch '8.0.x' into
fix/binddata-null-missing-stale-data
add b964e603d0 Merge pull request #15950 from
apache/fix/binddata-null-missing-stale-data
add df424da847 Merge branch '8.0.x' into 8.1.x
No new revisions were added by this update.
Summary of changes:
.agents/skills/gradle-developer/SKILL.md | 701 +++++
.github/dependabot.yml | 4 +
.github/workflows/benchmark.yml | 394 +++
.github/workflows/coverage.yml | 2 +-
.github/workflows/end-to-end.yml | 2 +-
.github/workflows/forge-deploy-next.yml | 3 +-
.github/workflows/forge-deploy-prev-snapshot.yml | 3 +-
.github/workflows/forge-deploy-prev.yml | 3 +-
.github/workflows/forge-deploy-release.yml | 4 +-
.github/workflows/forge-deploy-snapshot.yml | 3 +-
.github/workflows/gradle.yml | 197 +-
.github/workflows/groovy-joint-workflow.yml | 39 +-
.github/workflows/release-notes.yml | 2 +-
.github/workflows/release.yml | 10 +-
.github/workflows/validate-actions.yml | 59 +
AGENTS.md | 10 +-
THREAT_MODEL.md | 4 +-
build-logic/plugins/build.gradle | 19 +
.../buildsrc/AutoConfigurationImportsPlugin.groovy | 66 +
.../GenerateAutoConfigurationImportsTask.groovy | 181 ++
.../buildsrc/GrailsValidateActionsPlugin.groovy | 62 +
.../org/apache/grails/buildsrc/SbomPlugin.groovy | 8 +-
.../grails/buildsrc/TestTaskShardingPlugin.groovy | 174 ++
.../grails/buildsrc/ValidateActionsTask.groovy | 236 ++
...GenerateAutoConfigurationImportsTaskSpec.groovy | 195 ++
.../buildsrc/TestTaskShardingPluginSpec.groovy | 387 +++
build.gradle | 4 +-
dependencies.gradle | 1 +
etc/bin/extract-build-artifact.sh | 6 +-
etc/bin/test-bisect.groovy | 57 +-
etc/bin/verify-reproducible.sh | 7 +-
gradle.properties | 2 +
gradle/functional-test-config.gradle | 33 +-
gradle/hibernate5-test-config.gradle | 24 +-
gradle/hibernate7-test-config.gradle | 24 +-
gradle/mongodb-forked-test-config.gradle | 10 +-
gradle/mongodb-test-config.gradle | 10 +-
gradle/publish-root-config.gradle | 2 +
gradle/rat-root-config.gradle | 3 +-
gradle/redis-test-config.gradle | 4 +-
gradle/spring-security-test-config.gradle | 4 +-
gradle/test-config.gradle | 34 +-
grails-async/plugin/build.gradle | 4 +-
.../build.gradle | 47 +-
.../java/grails/compiler/beans/GrailsBeans.java | 136 +
.../beans/GrailsBeansASTTransformation.java | 1384 +++++++++
.../beans/GrailsBeansASTTransformationSpec.groovy | 3151 ++++++++++++++++++++
grails-benchmarks/README.adoc | 156 +
grails-benchmarks/build.gradle | 289 ++
.../databinding/SimpleDataBinderBenchmark.java | 175 ++
.../benchmarks/gsp/GroovyPageParserBenchmark.java | 97 +
.../interceptors/UrlMappingMatcherBenchmark.java | 156 +
.../grails/benchmarks/ruler/CpuRulerBenchmark.java | 58 +
.../benchmarks/ruler/MemoryRulerBenchmark.java | 63 +
.../urlmappings/UrlMappingsBenchmark.java | 110 +
.../views/ViewTemplateRenderingBenchmark.java | 97 +
.../interceptors/InterceptorFixture.groovy | 23 +-
.../urlmappings/UrlMappingsFixture.groovy | 41 +
.../benchmarks/views/ViewTemplateFixture.groovy | 52 +-
.../grails/benchmarks/report/Benchmark.groovy | 33 +
.../benchmarks/report/BenchmarkComparator.groovy | 133 +
.../grails/benchmarks/report/CommentPoster.groovy | 121 +
.../grails/benchmarks/report/Comparison.groovy | 60 +
.../grails/benchmarks/report/JmhCompare.groovy | 113 +
.../grails/benchmarks/report/JmhResults.groovy | 140 +
.../grails/benchmarks/report/ReportRenderer.groovy | 173 ++
.../report/BenchmarkComparatorSpec.groovy | 69 +
.../report/GitHubCommentsHttpSpec.groovy | 119 +
.../benchmarks/report/GoldenReportSpec.groovy | 75 +
.../grails/benchmarks/report/JmhCompareSpec.groovy | 123 +
.../grails/benchmarks/report/PostFileSpec.groovy | 122 +
.../resources/jmh-golden/broad-base.json | 1 +
.../resources/jmh-golden/broad-head.json | 1 +
.../resources/jmh-golden/edges-base.json | 1 +
.../resources/jmh-golden/edges-head.json | 1 +
.../resources/jmh-golden/expected-broad.md | 37 +
.../resources/jmh-golden/expected-edges.md | 35 +
.../resources/jmh-golden/expected-headonly.md | 20 +
.../resources/jmh-golden/expected-norulers.md | 24 +
.../resources/jmh-golden/expected-numbers.md | 32 +
.../resources/jmh-golden/expected-shards.md | 32 +
.../resources/jmh-golden/norulers-base.json | 1 +
.../resources/jmh-golden/norulers-head.json | 1 +
.../resources/jmh-golden/numbers-base.json | 1 +
.../resources/jmh-golden/numbers-head.json | 1 +
.../resources/jmh-golden/shards-base/shard-a.json | 1 +
.../resources/jmh-golden/shards-base/shard-b.json | 1 +
.../resources/jmh-golden/shards-head/shard-a.json | 1 +
.../resources/jmh-golden/shards-head/shard-b.json | 1 +
grails-bootstrap/build.gradle | 30 +
.../org/grails/io/watch/DirectoryWatcher.java | 74 +-
.../grails/io/watch/DirectoryWatcherSpec.groovy | 253 ++
grails-cache/build.gradle | 6 +
.../grails/plugin/cache/CacheGrailsPlugin.groovy | 97 +-
.../cache/GrailsCacheAutoConfiguration.groovy | 69 -
...rk.boot.autoconfigure.AutoConfiguration.imports | 2 +-
...ec.groovy => CacheAutoConfigurationSpec.groovy} | 87 +-
.../plugin/cache/CacheGrailsPluginSpec.groovy | 73 -
grails-codecs/build.gradle | 1 +
.../grails/plugins/codecs/CodecsConfiguration.java | 6 +-
.../plugins/codecs/CodecsConfigurationSpec.groovy | 48 +
grails-console/build.gradle | 2 +
grails-controllers/build.gradle | 1 +
.../main/groovy/grails/artefact/Controller.groovy | 37 +-
.../compiler/web/ControllerActionTransformer.java | 102 +-
.../controllers/ControllersAutoConfiguration.java | 4 +-
grails-converters/build.gradle | 1 +
grails-core-cli-legacy/build.gradle | 2 +
grails-core/build.gradle | 15 +
.../src/main/groovy/grails/config/Settings.groovy | 2 +
.../GlobalGrailsClassInjectorTransformation.groovy | 96 +
.../org/grails/plugins/CoreGrailsPlugin.groovy | 175 +-
.../grails/plugins/core/CoreAutoConfiguration.java | 69 -
.../AbstractResourceLocatorPostProcessor.java | 82 +
...sIgnoringComponentScanBeanDefinitionParser.java | 170 +-
.../GrailsComponentScanPostProcessor.java | 95 +
.../support/GrailsPlaceholderConfigurer.java | 14 +-
...rk.boot.autoconfigure.AutoConfiguration.imports | 2 +-
...aceHolderConfigurerCorePluginRuntimeSpec.groovy | 73 -
...balGrailsClassInjectorTransformationSpec.groovy | 91 +
.../plugins/CoreAutoConfigurationSpec.groovy | 178 ++
.../plugins/CoreGrailsPluginRegistrarSpec.groovy | 229 ++
.../grails/plugins/SpringBeanPackagesSpec.groovy | 86 +
.../grails/plugins/scan/ScannedComponent.groovy | 22 +-
grails-data-graphql/plugin/build.gradle | 4 +
grails-data-hibernate5/core/build.gradle | 3 +
.../compiler/HibernateEntityTransformation.groovy | 5 +-
grails-data-hibernate5/dbmigration/build.gradle | 1 +
grails-data-hibernate5/grails-plugin/build.gradle | 4 +
grails-data-hibernate7/core/build.gradle | 2 +
.../cfg/domainbinding/binder/ColumnBinder.java | 2 +-
.../binder/NumericColumnConstraintsBinder.java | 36 +-
.../compiler/HibernateEntityTransformation.groovy | 5 +-
.../GormNumericTypeColumnIntegrationSpec.groovy | 101 +
.../GormNumericTypeColumnPrecisionSpec.groovy | 108 +
.../cfg/domainbinding/ColumnBinderSpec.groovy | 2 +-
.../NumericColumnConstraintsBinderSpec.groovy | 85 +-
.../cfg/domainbinding/SimpleValueBinderSpec.groovy | 6 +-
grails-data-hibernate7/dbmigration/build.gradle | 1 +
grails-data-hibernate7/grails-plugin/build.gradle | 5 +
grails-data-mongodb/boot-plugin/build.gradle | 5 +-
grails-data-mongodb/core/build.gradle | 3 +-
.../datastore/mapping/mongo/MongoDatastore.java | 80 +-
.../mongo/MongoDatastoreLifecycleSpec.groovy | 187 ++
.../asciidoc/gettingStarted/embeddedMongo.adoc | 178 ++
.../docs/src/docs/asciidoc/index.adoc | 3 +
grails-data-mongodb/embedded/build.gradle | 83 +
.../mongodb/embedded/EmbeddedMongoBackend.java | 59 +
.../mongodb/embedded/EmbeddedMongoInitializer.java | 361 +++
.../mongodb/embedded/EmbeddedMongoLifecycle.java | 85 +
.../mongodb/embedded/EmbeddedMongoSettings.java | 69 +
.../mongodb/embedded/FlapdoodleMongoBackend.java | 160 +
.../mongodb/embedded/InMemoryMongoBackend.java | 135 +
.../mongodb/embedded/RunningEmbeddedMongo.java | 59 +
.../src/main/resources/META-INF/spring.factories | 2 +
.../embedded/EmbeddedMongoInitializerSpec.groovy | 513 ++++
.../embedded/EmbeddedMongoLifecycleSpec.groovy | 204 ++
.../embedded/EmbeddedMongoSettingsSpec.groovy | 52 +
grails-data-mongodb/ext/build.gradle | 1 +
grails-data-mongodb/grails-plugin/build.gradle | 2 +
grails-data-mongodb/spring-data/build.gradle | 4 +-
.../grails-datastore-gorm-neo4j/build.gradle | 10 +-
.../grails/databinding/FrameworkPropertyNames.java | 55 +
.../grails/databinding/SimpleDataBinder.groovy | 52 +-
.../grails/databinding/SimpleDataBinderSpec.groovy | 36 +
grails-databinding/build.gradle | 2 +
.../databinding/DataBindingConfiguration.java | 132 -
.../databinding/DataBindingGrailsPlugin.groovy | 87 +
.../META-INF/spring-configuration-metadata.json | 6 +
...rk.boot.autoconfigure.AutoConfiguration.imports | 1 -
grails-datamapping-core-test/build.gradle | 2 +-
grails-datamapping-core/build.gradle | 2 +-
grails-datamapping-support/build.gradle | 3 +-
grails-datamapping-tck/build.gradle | 1 +
grails-datasource/build.gradle | 1 +
.../applicationClass/applicationLifeCycle.adoc | 2 +
.../plugins/hookingIntoRuntimeConfiguration.adoc | 142 +
.../src/en/guide/spring/springdslAdditional.adoc | 38 +
.../guide/theWebLayer/controllers/dataBinding.adoc | 4 +-
.../guide/theWebLayer/controllers/formtokens.adoc | 2 +
.../theWebLayer/gsp/GSPBasics/expressions.adoc | 12 +
grails-doc/src/en/guide/upgrading.adoc | 13 +
.../src/en/guide/upgrading/upgrading80x.adoc | 185 +-
grails-doc/src/en/ref/Constraints/bindable.adoc | 5 +-
grails-doc/src/en/ref/Controllers/bindData.adoc | 50 +-
grails-doc/src/en/ref/Controllers/withForm.adoc | 2 +
grails-domain-class/build.gradle | 1 +
.../DomainClassEnvironmentPostProcessor.groovy | 70 +
.../plugins/domain/DomainClassGrailsPlugin.groovy | 45 +-
.../GrailsDomainClassAutoConfiguration.groovy | 78 -
.../src/main/resources/META-INF/spring.factories | 5 +-
...rk.boot.autoconfigure.AutoConfiguration.imports | 2 +-
.../domain/AutoTimestampCacheDefaultSpec.groovy | 97 +
.../domain/DomainClassGrailsPluginSpec.groovy | 65 -
grails-encoder/build.gradle | 5 +-
.../grails/encoder/CodecMetaClassSupport.groovy | 74 +-
.../encoder/CodecMetaClassSupportSpec.groovy | 336 +++
grails-events/plugin/build.gradle | 7 +-
grails-fields/build.gradle | 2 +
grails-forge/README.md | 34 +-
grails-forge/gradle.properties | 1 -
.../grails/forge/api/GrailsForgeConfiguration.java | 69 +-
.../api/create/github/GitHubCreateController.java | 181 --
.../forge/api/create/github/GitHubCreateDTO.java | 57 -
.../api/create/github/GitHubCreateOperation.java | 76 -
.../api/create/github/GitHubCreateService.java | 220 --
.../api/create/github/GitHubRedirectService.java | 149 -
.../grails-forge-api/native-image.properties | 14 -
.../forge/api/GrailsForgeConfigurationSpec.groovy} | 46 +-
.../create/github/GitHubApiMockedController.groovy | 101 -
.../github/GitHubCreateControllerSpec.groovy | 116 -
.../github/GitHubOauthMockedController.groovy | 45 -
.../src/test/resources/logback.xml | 1 -
grails-forge/grails-forge-core/build.gradle | 1 -
.../forge/client/github/oauth/AccessToken.java | 59 -
.../client/github/oauth/GitHubOAuthClient.java | 37 -
.../forge/client/github/v3/GitHubApiClient.java | 39 -
.../client/github/v3/GitHubApiOperations.java | 94 -
.../forge/client/github/v3/GitHubRepository.java | 89 -
.../forge/client/github/v3/GitHubSecret.java | 58 -
.../grails/forge/client/github/v3/GitHubUser.java | 68 -
.../forge/client/github/v3/GitHubWorkflowRun.java | 67 -
.../forge/feature/database/GrailsDataMongoDB.java | 29 +-
.../forge/feature/database/MongoFeature.java | 25 +
.../grails/forge/feature/database/MongoSync.java | 6 +-
.../feature/lang/groovy/application.rocker.raw | 30 +-
.../forge/feature/lang/groovy/bootStrap.rocker.raw | 8 +-
.../security/SpringBootStarterSecurity.java | 9 +-
.../security/template/securityConfig.rocker.raw | 51 -
.../feature/security/template/user.rocker.raw | 2 +-
.../java/org/grails/forge/util/GitHubUtil.java | 94 -
.../feature/database/GrailsDataMongoDBSpec.groovy | 24 +
.../forge/feature/database/MongoSyncSpec.groovy | 18 +
.../security/SpringBootStarterSecuritySpec.groovy | 40 +-
.../grails-forge-web-netty/reflect-config.json | 30 -
.../grails-forge-web-netty/resource-config.json | 5 +-
.../src/main/resources/application.yml | 13 +-
grails-geb/build.gradle | 1 +
.../views/gsp/GroovyPageForkCompileTask.groovy | 22 +-
.../plugin/views/gsp/GroovyPagePlugin.groovy | 12 +
.../views/gsp/GroovyPageToolchainSpec.groovy | 108 +
grails-gsp/core/build.gradle | 7 +-
.../org/grails/gsp/compiler/GroovyPageParser.java | 3 +
.../org/grails/gsp/compiler/GroovyPageScanner.java | 13 +-
.../gsp/GroovyPagesTemplateEngineTests.groovy | 58 +
.../org/grails/gsp/GspCompileStaticSpec.groovy | 9 +
grails-gsp/grails-layout/build.gradle | 4 +
.../sitemesh3/Sitemesh3AutoConfiguration.groovy | 131 -
.../Sitemesh3EnvironmentPostProcessor.groovy | 38 +-
.../plugins/sitemesh3/Sitemesh3GrailsPlugin.groovy | 119 +-
.../src/main/resources/META-INF/spring.factories | 2 +-
grails-gsp/grails-taglib/build.gradle | 5 +-
grails-gsp/grails-web-gsp-taglib/build.gradle | 2 +
grails-gsp/grails-web-gsp/build.gradle | 4 +-
grails-gsp/grails-web-jsp/build.gradle | 2 +
grails-gsp/grails-web-taglib/build.gradle | 3 +-
grails-gsp/plugin/build.gradle | 9 +-
.../groovy/org/grails/gsp/compiler/ScanTests.java | 33 +
.../web/taglib/AbstractGrailsTagTests.groovy | 24 +-
grails-i18n/build.gradle | 2 +
.../GrailsLocaleResolverAutoConfiguration.java | 22 +-
.../grails/plugins/i18n/I18nAutoConfiguration.java | 159 -
.../grails/plugins/i18n/I18nGrailsPlugin.groovy | 104 +-
...railsLocaleResolverAutoConfigurationSpec.groovy | 24 +
.../plugins/i18n/I18nAutoConfigurationSpec.groovy | 31 +
grails-interceptors/build.gradle | 1 +
grails-logging/build.gradle | 2 +
grails-mail/build.gradle | 6 +
.../plugins/mail/MailAutoConfiguration.groovy | 118 -
.../grails/plugins/mail/MailGrailsPlugin.groovy | 79 +-
.../plugins/mail/MailAutoConfigurationSpec.groovy | 150 +
grails-mimetypes/build.gradle | 1 +
grails-redis/build.gradle | 2 +-
grails-rest-transforms/build.gradle | 1 +
grails-scaffolding/build.gradle | 7 +
grails-services/build.gradle | 1 +
grails-spring-security/ldap/plugin/build.gradle | 4 +
grails-spring-security/oauth2/plugin/build.gradle | 4 +-
grails-spring-security/plugin/build.gradle | 4 +
grails-spring-security/rest/core/build.gradle | 3 +
grails-spring-security/rest/gorm/build.gradle | 1 +
.../rest/grailscache/build.gradle | 3 +
grails-spring-security/rest/memcached/build.gradle | 1 +
grails-spring-security/rest/redis/build.gradle | 1 +
grails-spring-security/ui/plugin/build.gradle | 4 +
grails-test-core/build.gradle | 20 +-
.../org/grails/test/report/junit/JUnitReports.java | 90 -
.../test/report/junit/JUnitReportsFactory.java | 75 -
.../grails/test/report/junit/PlainFormatter.java | 110 -
.../org/grails/test/report/junit/XMLFormatter.java | 62 -
.../functionaltests/ManagedEntityDomain.groovy | 18 +-
.../beans-dsl-plugin}/build.gradle | 46 +-
.../groovy/beandsl/example/plugin/Farewell.groovy | 24 +-
.../example/plugin/FarewellGrailsPlugin.groovy | 47 +
.../groovy/beandsl/example/plugin/Greeting.groovy | 24 +-
.../example/plugin/GreetingGrailsPlugin.groovy | 52 +
.../FarewellGrailsPluginAutoDiscoverySpec.groovy | 74 +
.../GreetingGrailsPluginAutoDiscoverySpec.groovy | 82 +
.../beans-dsl}/build.gradle | 41 +-
.../groovy/beandsl/example/ExampleBeans.groovy | 41 +-
.../groovy/beandsl/example/FancyGreeter.groovy | 20 +-
.../src/main/groovy/beandsl/example/Greeter.groovy | 24 +-
.../main/groovy/beandsl/example/LoudGreeter.groovy | 26 +-
.../ExampleBeansAutoConfigurationSpec.groovy | 74 +
.../example/ExampleBeansAutoDiscoverySpec.groovy | 62 +
.../src/test/groovy/demo/TestControllerSpec.groovy | 7 +
grails-test-examples/gsp-layout/build.gradle | 4 +
.../views/gsp/layout/AbstractGrailsTagTests.groovy | 24 +-
.../hibernate5/criteria-extension/build.gradle | 4 +
.../build.gradle | 2 +
.../grails-hibernate-groovy-proxy/build.gradle | 4 +
.../grails-multiple-datasources/build.gradle | 2 +
.../build.gradle | 2 +
.../functionaltests/ManagedEntityDomain.groovy | 18 +-
.../hibernate7/criteria-extension/build.gradle | 4 +
.../src/test/groovy/demo/TestControllerSpec.groovy | 7 +
.../build.gradle | 2 +
.../grails-hibernate-groovy-proxy/build.gradle | 4 +
.../grails-multiple-datasources/build.gradle | 2 +
.../build.gradle | 2 +
grails-test-examples/mail/build.gradle | 2 +
.../mongodb/test-data-service/build.gradle | 2 +
grails-test-examples/redis/build.gradle | 4 +
.../acl/functional-test-app/build.gradle | 2 +
.../acl/integration-test-app/build.gradle | 2 +
.../spring-security/cas/test1/build.gradle | 2 +
.../core/functional-test-app/build.gradle | 2 +
.../core/integration-test-app/build.gradle | 2 +
.../misc-functional-test-app/group/build.gradle | 2 +
.../misc-functional-test-app/roles/build.gradle | 2 +
.../build.gradle | 2 +
.../ldap/functional-test-app/build.gradle | 2 +
.../ldap/retrieve-db-roles/build.gradle | 2 +
.../ldap/retrieve-group-roles/build.gradle | 2 +
.../spring-security/ui/common/build.gradle | 3 +
.../spring-security/ui/extended/build.gradle | 4 +-
grails-test-examples/undertow/build.gradle | 2 +
grails-test-suite-base/build.gradle | 1 +
.../web/databinding/GrailsWebDataBinderSpec.groovy | 310 +-
.../commons/DefaultGrailsCodecClassTests.groovy | 16 +
.../grails/plugins/CoreGrailsPluginTests.groovy | 68 +-
grails-test-suite-web/build.gradle | 2 +
...ngHelperDomainClassSpecialPropertiesSpec.groovy | 113 +-
.../groovy/org/grails/web/codecs/CodecSpec.groovy | 40 +
.../web/commandobjects/CommandObjectsSpec.groovy | 29 +
.../grails/web/servlet/BindDataMethodTests.groovy | 1441 ++++++++-
.../mvc/SynchronizerTokensHolderTests.groovy | 145 +
grails-testing-support-core/build.gradle | 2 +
grails-testing-support-datamapping/build.gradle | 1 +
grails-testing-support-http-client/build.gradle | 5 +-
grails-testing-support-views-gson/build.gradle | 2 +
grails-testing-support-web/build.gradle | 2 +
.../grails/testing/web/GrailsWebUnitTest.groovy | 3 +-
grails-undertow/plugin/build.gradle | 3 +
grails-url-mappings/build.gradle | 2 +
.../web/mapping/UrlMappingsAutoConfiguration.java | 102 -
.../web/mapping/UrlMappingsGrailsPlugin.groovy | 63 +-
.../UrlMappingsAutoConfigurationSpec.groovy | 84 +
grails-validation/build.gradle | 1 +
grails-views-core/build.gradle | 4 +-
grails-views-gson/build.gradle | 6 +-
grails-views-markup/build.gradle | 3 +-
grails-web-boot/build.gradle | 1 +
grails-web-common/build.gradle | 2 +
grails-web-core/build.gradle | 1 +
grails-web-databinding/build.gradle | 1 +
.../groovy/grails/web/databinding/BindAllowed.java | 23 +-
.../grails/web/databinding/DataBinder.groovy | 8 +-
.../grails/web/databinding/DataBindingUtils.java | 412 ++-
.../web/databinding/GrailsWebDataBinder.groovy | 396 ++-
.../web/databinding/MissingPropertyClearer.java | 823 +++++
.../DataBindingEventMulticastListener.groovy | 4 +
.../databinding/DefaultASTDatabindingHelper.java | 107 +-
.../web/databinding/DenyByDefaultConfigSpec.groovy | 103 +
grails-web-mvc/build.gradle | 1 +
.../servlet/mvc/SynchronizerTokensHolder.groovy | 90 +-
grails-web-url-mappings/build.gradle | 2 +
settings.gradle | 9 +
threat-model.yaml | 1 -
379 files changed, 21700 insertions(+), 4267 deletions(-)
create mode 100644 .agents/skills/gradle-developer/SKILL.md
create mode 100644 .github/workflows/benchmark.yml
create mode 100644 .github/workflows/validate-actions.yml
create mode 100644
build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/AutoConfigurationImportsPlugin.groovy
create mode 100644
build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GenerateAutoConfigurationImportsTask.groovy
create mode 100644
build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/GrailsValidateActionsPlugin.groovy
create mode 100644
build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/TestTaskShardingPlugin.groovy
create mode 100644
build-logic/plugins/src/main/groovy/org/apache/grails/buildsrc/ValidateActionsTask.groovy
create mode 100644
build-logic/plugins/src/test/groovy/org/apache/grails/buildsrc/GenerateAutoConfigurationImportsTaskSpec.groovy
create mode 100644
build-logic/plugins/src/test/groovy/org/apache/grails/buildsrc/TestTaskShardingPluginSpec.groovy
copy {grails-databinding => grails-beans-dsl}/build.gradle (63%)
create mode 100644
grails-beans-dsl/src/main/java/grails/compiler/beans/GrailsBeans.java
create mode 100644
grails-beans-dsl/src/main/java/org/grails/compiler/beans/GrailsBeansASTTransformation.java
create mode 100644
grails-beans-dsl/src/test/groovy/org/grails/compiler/beans/GrailsBeansASTTransformationSpec.groovy
create mode 100644 grails-benchmarks/README.adoc
create mode 100644 grails-benchmarks/build.gradle
create mode 100644
grails-benchmarks/src/jmh/java/org/apache/grails/benchmarks/databinding/SimpleDataBinderBenchmark.java
create mode 100644
grails-benchmarks/src/jmh/java/org/apache/grails/benchmarks/gsp/GroovyPageParserBenchmark.java
create mode 100644
grails-benchmarks/src/jmh/java/org/apache/grails/benchmarks/interceptors/UrlMappingMatcherBenchmark.java
create mode 100644
grails-benchmarks/src/jmh/java/org/apache/grails/benchmarks/ruler/CpuRulerBenchmark.java
create mode 100644
grails-benchmarks/src/jmh/java/org/apache/grails/benchmarks/ruler/MemoryRulerBenchmark.java
create mode 100644
grails-benchmarks/src/jmh/java/org/apache/grails/benchmarks/urlmappings/UrlMappingsBenchmark.java
create mode 100644
grails-benchmarks/src/jmh/java/org/apache/grails/benchmarks/views/ViewTemplateRenderingBenchmark.java
copy
grails-databinding/src/main/groovy/org/grails/plugins/databinding/DataBindingGrailsPlugin.groovy
=>
grails-benchmarks/src/main/groovy/org/apache/grails/benchmarks/interceptors/InterceptorFixture.groovy
(71%)
create mode 100644
grails-benchmarks/src/main/groovy/org/apache/grails/benchmarks/urlmappings/UrlMappingsFixture.groovy
copy
grails-forge/grails-forge-core/src/main/java/org/grails/forge/client/github/v3/GitHubSecretsPublicKey.java
=>
grails-benchmarks/src/main/groovy/org/apache/grails/benchmarks/views/ViewTemplateFixture.groovy
(51%)
create mode 100644
grails-benchmarks/src/report/groovy/org/apache/grails/benchmarks/report/Benchmark.groovy
create mode 100644
grails-benchmarks/src/report/groovy/org/apache/grails/benchmarks/report/BenchmarkComparator.groovy
create mode 100644
grails-benchmarks/src/report/groovy/org/apache/grails/benchmarks/report/CommentPoster.groovy
create mode 100644
grails-benchmarks/src/report/groovy/org/apache/grails/benchmarks/report/Comparison.groovy
create mode 100644
grails-benchmarks/src/report/groovy/org/apache/grails/benchmarks/report/JmhCompare.groovy
create mode 100644
grails-benchmarks/src/report/groovy/org/apache/grails/benchmarks/report/JmhResults.groovy
create mode 100644
grails-benchmarks/src/report/groovy/org/apache/grails/benchmarks/report/ReportRenderer.groovy
create mode 100644
grails-benchmarks/src/reportTest/groovy/org/apache/grails/benchmarks/report/BenchmarkComparatorSpec.groovy
create mode 100644
grails-benchmarks/src/reportTest/groovy/org/apache/grails/benchmarks/report/GitHubCommentsHttpSpec.groovy
create mode 100644
grails-benchmarks/src/reportTest/groovy/org/apache/grails/benchmarks/report/GoldenReportSpec.groovy
create mode 100644
grails-benchmarks/src/reportTest/groovy/org/apache/grails/benchmarks/report/JmhCompareSpec.groovy
create mode 100644
grails-benchmarks/src/reportTest/groovy/org/apache/grails/benchmarks/report/PostFileSpec.groovy
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/broad-base.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/broad-head.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/edges-base.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/edges-head.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/expected-broad.md
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/expected-edges.md
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/expected-headonly.md
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/expected-norulers.md
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/expected-numbers.md
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/expected-shards.md
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/norulers-base.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/norulers-head.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/numbers-base.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/numbers-head.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/shards-base/shard-a.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/shards-base/shard-b.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/shards-head/shard-a.json
create mode 100644
grails-benchmarks/src/reportTest/resources/jmh-golden/shards-head/shard-b.json
create mode 100644
grails-bootstrap/src/test/groovy/org/grails/io/watch/DirectoryWatcherSpec.groovy
delete mode 100644
grails-cache/src/main/groovy/grails/plugin/cache/GrailsCacheAutoConfiguration.groovy
rename
grails-cache/src/test/groovy/grails/plugin/cache/{GrailsCacheAutoConfigurationSpec.groovy
=> CacheAutoConfigurationSpec.groovy} (53%)
delete mode 100644
grails-cache/src/test/groovy/grails/plugin/cache/CacheGrailsPluginSpec.groovy
create mode 100644
grails-codecs/src/test/groovy/org/grails/plugins/codecs/CodecsConfigurationSpec.groovy
delete mode 100644
grails-core/src/main/groovy/org/grails/plugins/core/CoreAutoConfiguration.java
create mode 100644
grails-core/src/main/groovy/org/grails/spring/beans/AbstractResourceLocatorPostProcessor.java
create mode 100644
grails-core/src/main/groovy/org/grails/spring/context/annotation/GrailsComponentScanPostProcessor.java
delete mode 100644
grails-core/src/test/groovy/grails/spring/GrailsPlaceHolderConfigurerCorePluginRuntimeSpec.groovy
create mode 100644
grails-core/src/test/groovy/org/grails/plugins/CoreAutoConfigurationSpec.groovy
create mode 100644
grails-core/src/test/groovy/org/grails/plugins/CoreGrailsPluginRegistrarSpec.groovy
create mode 100644
grails-core/src/test/groovy/org/grails/plugins/SpringBeanPackagesSpec.groovy
rename
grails-forge/grails-forge-core/src/main/java/org/grails/forge/client/github/oauth/GitHubOAuthOperations.java
=> grails-core/src/test/groovy/org/grails/plugins/scan/ScannedComponent.groovy
(58%)
create mode 100644
grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/GormNumericTypeColumnIntegrationSpec.groovy
create mode 100644
grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/GormNumericTypeColumnPrecisionSpec.groovy
create mode 100644
grails-data-mongodb/core/src/test/groovy/org/grails/datastore/mapping/mongo/MongoDatastoreLifecycleSpec.groovy
create mode 100644
grails-data-mongodb/docs/src/docs/asciidoc/gettingStarted/embeddedMongo.adoc
create mode 100644 grails-data-mongodb/embedded/build.gradle
create mode 100644
grails-data-mongodb/embedded/src/main/java/org/grails/datastore/gorm/mongodb/embedded/EmbeddedMongoBackend.java
create mode 100644
grails-data-mongodb/embedded/src/main/java/org/grails/datastore/gorm/mongodb/embedded/EmbeddedMongoInitializer.java
create mode 100644
grails-data-mongodb/embedded/src/main/java/org/grails/datastore/gorm/mongodb/embedded/EmbeddedMongoLifecycle.java
create mode 100644
grails-data-mongodb/embedded/src/main/java/org/grails/datastore/gorm/mongodb/embedded/EmbeddedMongoSettings.java
create mode 100644
grails-data-mongodb/embedded/src/main/java/org/grails/datastore/gorm/mongodb/embedded/FlapdoodleMongoBackend.java
create mode 100644
grails-data-mongodb/embedded/src/main/java/org/grails/datastore/gorm/mongodb/embedded/InMemoryMongoBackend.java
create mode 100644
grails-data-mongodb/embedded/src/main/java/org/grails/datastore/gorm/mongodb/embedded/RunningEmbeddedMongo.java
create mode 100644
grails-data-mongodb/embedded/src/main/resources/META-INF/spring.factories
create mode 100644
grails-data-mongodb/embedded/src/test/groovy/org/grails/datastore/gorm/mongodb/embedded/EmbeddedMongoInitializerSpec.groovy
create mode 100644
grails-data-mongodb/embedded/src/test/groovy/org/grails/datastore/gorm/mongodb/embedded/EmbeddedMongoLifecycleSpec.groovy
create mode 100644
grails-data-mongodb/embedded/src/test/groovy/org/grails/datastore/gorm/mongodb/embedded/EmbeddedMongoSettingsSpec.groovy
create mode 100644
grails-databinding-core/src/main/groovy/grails/databinding/FrameworkPropertyNames.java
delete mode 100644
grails-databinding/src/main/groovy/org/grails/plugins/databinding/DataBindingConfiguration.java
delete mode 100644
grails-databinding/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
create mode 100644
grails-domain-class/src/main/groovy/org/grails/plugins/domain/DomainClassEnvironmentPostProcessor.groovy
delete mode 100644
grails-domain-class/src/main/groovy/org/grails/plugins/domain/GrailsDomainClassAutoConfiguration.groovy
copy {grails-gsp/grails-sitemesh3 =>
grails-domain-class}/src/main/resources/META-INF/spring.factories (86%)
create mode 100644
grails-domain-class/src/test/groovy/org/grails/plugins/domain/AutoTimestampCacheDefaultSpec.groovy
delete mode 100644
grails-domain-class/src/test/groovy/org/grails/plugins/domain/DomainClassGrailsPluginSpec.groovy
create mode 100644
grails-encoder/src/test/groovy/org/grails/encoder/CodecMetaClassSupportSpec.groovy
delete mode 100644
grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateController.java
delete mode 100644
grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateDTO.java
delete mode 100644
grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateOperation.java
delete mode 100644
grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubCreateService.java
delete mode 100644
grails-forge/grails-forge-api/src/main/java/org/grails/forge/api/create/github/GitHubRedirectService.java
delete mode 100644
grails-forge/grails-forge-api/src/main/resources/META-INF/native-image/org.grails.forge.api/grails-forge-api/native-image.properties
rename
grails-forge/{grails-forge-core/src/main/java/org/grails/forge/client/github/v3/GitHubWorkflowRuns.java
=>
grails-forge-api/src/test/groovy/org/grails/forge/api/GrailsForgeConfigurationSpec.groovy}
(50%)
delete mode 100644
grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/create/github/GitHubApiMockedController.groovy
delete mode 100644
grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/create/github/GitHubCreateControllerSpec.groovy
delete mode 100644
grails-forge/grails-forge-api/src/test/groovy/org/grails/forge/api/create/github/GitHubOauthMockedController.groovy
delete mode 100644
grails-forge/grails-forge-core/src/main/java/org/grails/forge/client/github/oauth/AccessToken.java
delete mode 100644
grails-forge/grails-forge-core/src/main/java/org/grails/forge/client/github/oauth/GitHubOAuthClient.java
delete mode 100644
grails-forge/grails-forge-core/src/main/java/org/grails/forge/client/github/v3/GitHubApiClient.java
delete mode 100644
grails-forge/grails-forge-core/src/main/java/org/grails/forge/client/github/v3/GitHubApiOperations.java
delete mode 100644
grails-forge/grails-forge-core/src/main/java/org/grails/forge/client/github/v3/GitHubRepository.java
delete mode 100644
grails-forge/grails-forge-core/src/main/java/org/grails/forge/client/github/v3/GitHubSecret.java
delete mode 100644
grails-forge/grails-forge-core/src/main/java/org/grails/forge/client/github/v3/GitHubUser.java
delete mode 100644
grails-forge/grails-forge-core/src/main/java/org/grails/forge/client/github/v3/GitHubWorkflowRun.java
delete mode 100644
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/security/template/securityConfig.rocker.raw
delete mode 100644
grails-forge/grails-forge-core/src/main/java/org/grails/forge/util/GitHubUtil.java
delete mode 100644
grails-forge/grails-forge-web-netty/src/main/resources/META-INF/native-image/org.grails.forge/grails-forge-web-netty/reflect-config.json
create mode 100644
grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/views/gsp/GroovyPageToolchainSpec.groovy
delete mode 100644
grails-gsp/grails-sitemesh3/src/main/groovy/org/grails/plugins/sitemesh3/Sitemesh3AutoConfiguration.groovy
delete mode 100644
grails-i18n/src/main/groovy/org/grails/plugins/i18n/I18nAutoConfiguration.java
delete mode 100644
grails-mail/src/main/groovy/grails/plugins/mail/MailAutoConfiguration.groovy
create mode 100644
grails-mail/src/test/groovy/grails/plugins/mail/MailAutoConfigurationSpec.groovy
delete mode 100644
grails-test-core/src/main/groovy/org/grails/test/report/junit/JUnitReports.java
delete mode 100644
grails-test-core/src/main/groovy/org/grails/test/report/junit/JUnitReportsFactory.java
delete mode 100644
grails-test-core/src/main/groovy/org/grails/test/report/junit/PlainFormatter.java
delete mode 100644
grails-test-core/src/main/groovy/org/grails/test/report/junit/XMLFormatter.java
copy
grails-databinding/src/main/groovy/org/grails/plugins/databinding/DataBindingGrailsPlugin.groovy
=>
grails-test-examples/app1/grails-app/domain/functionaltests/ManagedEntityDomain.groovy
(71%)
copy {grails-i18n => grails-test-examples/beans-dsl-plugin}/build.gradle (55%)
copy
grails-databinding/src/main/groovy/org/grails/plugins/databinding/DataBindingGrailsPlugin.groovy
=>
grails-test-examples/beans-dsl-plugin/src/main/groovy/beandsl/example/plugin/Farewell.groovy
(71%)
create mode 100644
grails-test-examples/beans-dsl-plugin/src/main/groovy/beandsl/example/plugin/FarewellGrailsPlugin.groovy
copy
grails-databinding/src/main/groovy/org/grails/plugins/databinding/DataBindingGrailsPlugin.groovy
=>
grails-test-examples/beans-dsl-plugin/src/main/groovy/beandsl/example/plugin/Greeting.groovy
(71%)
create mode 100644
grails-test-examples/beans-dsl-plugin/src/main/groovy/beandsl/example/plugin/GreetingGrailsPlugin.groovy
create mode 100644
grails-test-examples/beans-dsl-plugin/src/test/groovy/beandsl/example/plugin/FarewellGrailsPluginAutoDiscoverySpec.groovy
create mode 100644
grails-test-examples/beans-dsl-plugin/src/test/groovy/beandsl/example/plugin/GreetingGrailsPluginAutoDiscoverySpec.groovy
copy {grails-mimetypes => grails-test-examples/beans-dsl}/build.gradle (62%)
rename
grails-forge/grails-forge-core/src/main/java/org/grails/forge/client/github/v3/GitHubSecretsPublicKey.java
=>
grails-test-examples/beans-dsl/src/main/groovy/beandsl/example/ExampleBeans.groovy
(53%)
copy
grails-databinding/src/main/groovy/org/grails/plugins/databinding/DataBindingGrailsPlugin.groovy
=>
grails-test-examples/beans-dsl/src/main/groovy/beandsl/example/FancyGreeter.groovy
(72%)
copy
grails-databinding/src/main/groovy/org/grails/plugins/databinding/DataBindingGrailsPlugin.groovy
=>
grails-test-examples/beans-dsl/src/main/groovy/beandsl/example/Greeter.groovy
(71%)
copy
grails-databinding/src/main/groovy/org/grails/plugins/databinding/DataBindingGrailsPlugin.groovy
=>
grails-test-examples/beans-dsl/src/main/groovy/beandsl/example/LoudGreeter.groovy
(66%)
create mode 100644
grails-test-examples/beans-dsl/src/test/groovy/beandsl/example/ExampleBeansAutoConfigurationSpec.groovy
create mode 100644
grails-test-examples/beans-dsl/src/test/groovy/beandsl/example/ExampleBeansAutoDiscoverySpec.groovy
copy
grails-databinding/src/main/groovy/org/grails/plugins/databinding/DataBindingGrailsPlugin.groovy
=>
grails-test-examples/hibernate7/app1/grails-app/domain/functionaltests/ManagedEntityDomain.groovy
(71%)
delete mode 100644
grails-url-mappings/src/main/groovy/org/grails/plugins/web/mapping/UrlMappingsAutoConfiguration.java
copy
grails-databinding/src/main/groovy/org/grails/plugins/databinding/DataBindingGrailsPlugin.groovy
=>
grails-web-databinding/src/main/groovy/grails/web/databinding/BindAllowed.java
(71%)
create mode 100644
grails-web-databinding/src/main/groovy/grails/web/databinding/MissingPropertyClearer.java
create mode 100644
grails-web-databinding/src/test/groovy/grails/web/databinding/DenyByDefaultConfigSpec.groovy