You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by gi...@apache.org on 2026/08/25 23:40:37 UTC
(grails-core) branch dependabot/github_actions/actions/cache-6 updated (81cade5208 -> ae7f59f834)
This is an automated email from the ASF dual-hosted git repository.
dependabot[bot] pushed a change to branch dependabot/github_actions/actions/cache-6
in repository https://gitbox.apache.org/repos/asf/grails-core.git
discard 81cade5208 build(deps): bump actions/cache from 4 to 6
add 37db67f0cb Move i18n onto Spring Boot's MessageSource
add cd601c7755 Add i18n descriptor tests, docs and configuration metadata
add f9ec1aa2cd Fix checkstyle and codenarc violations in the new i18n sources
add d4403dec66 Update the locale-selector docs for the unified include-plugin-bundles key
add 37357a8057 Document the language-selector and AvailableLocaleResolver changes in the upgrade guide
add 0f05805416 Restore automatic i18n reload and cover the Gradle integration functionally
add 067edabbde Cover plugin message bundles end to end for a multi-word plugin name
add 6ef6f85f16 Honour grails.i18n.cache.seconds as a deprecated upgrade aid
add 1c8d8c1da3 Point i18n build failures at the upgrade guide and document Grails 7 compatibility
add 3a1c22281d Correct the removed-settings table in the i18n upgrade section
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 3e9ca7a4c0 Merge remote-tracking branch 'upstream/8.0.x' into feature/i18n-boot-message-source-8.0.x
add 0221bb01d8 Reject plugin descriptor names that collide once normalised
add 322233651c Merge branch '8.0.x' into feature/i18n-boot-message-source-8.0.x
add e997f98606 Merge branch '8.0.x' into feature/i18n-boot-message-source-8.0.x
add 992084a8b8 Merge remote-tracking branch 'origin/feature/i18n-boot-message-source-8.0.x' into feature/i18n-boot-message-source-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 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 3f8ce887d4 Merge remote-tracking branch 'upstream/8.0.x' into feature/i18n-boot-message-source-8.0.x
add 592a3fb56c test: reproduce issue 16133
add 274ea82b5d fix: issue 16133
add 5a10ebfac3 test: adapt other tests to fixing issue 16133
add 6948b393a3 chore: whitespace
add f07ddd11b7 test: reset fixtures and UserIntegrationSpec assertions
add 2263394899 fix: initialize `defaultNullable` to `true` in `AbstractGormMappingFactory`
add 07a30bb3eb fix: preserve bidirectional binding with nullable associations
add 9cf91149ac test: cover nullable-by-default mapping cases
add baa3a4c0a3 fix: nullable-by-default mapping cases
add cb0db006e0 test: update EnumTypeBinderSpec to handle changed nullable default
add d76700ae30 docs: update documentation to clarify changes in default nullability for persistence mapping
add 47cb138493 test: more default nullable test coverage
add e71d9fad23 Fix flaky RunningApplicationProcessSpec stop timeout
add 2d617df10c Fix the actual reaper-thread flake in RunningApplicationProcessSpec
add 3811fcefc7 Poll ProcessHandle.isAlive(), not Process.isAlive(), in the reaper-lag fix
add 5d9855e146 Merge pull request #16032 from apache/fix/flaky-running-application-process-timeout
add 528a41b9ba Bump github/codeql-action init and analyze together to v4.37.3
add f3413b4f6e Merge pull request #16050 from apache/deps/codeql-action-4.37.3
add 54ea20836a fix(grails-data-hibernate7): make type: 'text' produce an unbounded column (#16020)
add cbb9a0de0c Merge branch '8.0.x' into fix/issue-16133
add f8e4485cbe chore: add back import after bad merge
add 3650fdf15a refactor: rename isIdentityOrVersion to notIdentityOrVersion
add eaa0af6867 Merge pull request #16136 from apache/fix/issue-16133
add 98a1acf30b Fix DDL failure for hasMany collections of enums
add 5e05828651 Fix hasMany-of-enum cascade regression and self-encapsulate to-many cascade rules
add 607ae4e64c Strengthen EnumHasManyDdlSpec assertions and coverage
add c7f4f4e5c8 Replace indirect GrailsPropertyBinder guard with self-encapsulation
add 70f875107e Close a real branch-coverage gap for HibernateCustomProperty
add a598d287a4 Address round-2 review: scope getTable override, restore log, harden specs
add deac428c1e Merge pull request #16052 from apache/fix/enum-hasmany-ddl-16051
add 143c982ee9 Merge remote-tracking branch 'upstream/8.0.x' into feature/i18n-boot-message-source-8.0.x
add d593bd2bbf Register the GSP codecs settings and servlet without live instances
add ff515d199a Do not add a ConfigurationClassPostProcessor to an AOT context
add 38e941fecd Keep abstract bean definitions out of AOT processing
add b3811adb75 Let the container supply the SiteMesh view resolver's servlet context
add bc537807e3 Document ahead-of-time processing and cover it with tests
add 227d74695e Register the GORM event publisher as a bean definition
add 3206f60554 Read the Spring Security version without nested reflection
add 075c648872 Add the license header to the AOT example configuration
add df347f19fa Expand scaffolded views at build time
add 55b7dcc425 Register the request path's reflective API for ahead-of-time images
add 3b3537d154 Register the framework's closures for ahead-of-time images
add 842ce6f07b Record an application's own classes and pages for ahead-of-time images
add fa8e4e4fc1 Register the rendering, scaffolding and persistence runtimes
add 81ce34460a Register the classes a tag library declares inside itself
add f92e2e0cf8 Use the pages compiled at build time in an ahead-of-time image
add d366841707 Ask one question about which scanned types may be registered
add e1e3aae3a3 Cover what an application records for an ahead-of-time image
add 29053d5f2d Follow the configured import order and indentation
add 22c100bdb2 Expand scaffolded views only where a controller is scaffolded
add b1611e36ab Carry a bean's injection into the code generated for it
add 3e0a6fe23e Contribute tag library definitions without replacing what is registered
add 2885d88f72 Gather a variable-argument constructor argument into the array it feeds
add 36d20d1127 Leave a datastore's configuration to be read where the application runs
add b70873614e Keep the bean definitions that were generated ahead of time
add d2ad00cc77 Do not add a second processor for configuration classes
add ee481ed207 Cover the two ahead-of-time processors contributing to one bean
add c250a955da Let a plugin declare its beans from inside an image
add 07273ed9e1 Answer where the application runs, not where it was built, for GSP
add 32e3467b64 Leave the Hibernate datastore's configuration to be read where it runs too
add a650c42087 Inherit no search location while code is being generated
add d218534d47 Let an image call the classes that extend types Groovy did not declare
add 33c54d8c45 Read the flag directly rather than looking it up
add 0d0dc239d1 Do not read the application's own bean declarations a second time
add 2b0824fef5 Write down the artefacts an application is made of
add 26f464bef9 Leave the plugins' own artefacts to the plugins
add f304120624 Define the url mappings holder as reloadable only where it can reload
add 9ba4d149a1 Carry what a page compiled at build time is read from
add feb740f097 Ship what an image needs with the framework rather than asking for it
add 7d2bad0f02 Colour the output of an image that is being run at a shell
add 79f1dccc59 Show the banner art in the framework's colour
add af29982470 Let an application choose the colour the banner art is shown in
add 181ac758a9 Address review: metadata only for a native build, and four smaller things
add 7687f84639 Leave a datastore's proxy handler alone
add 813e1918da Let an image call the framework's own interfaces
add 7a063e3a98 Skip a closure whose surroundings cannot be loaded
add 5846c43855 Let an image call the Spring interfaces a plugin is handed
add ac091ad8a9 Use plain map-entry spacing in the native metadata task
add da9dcd733c Train a JDK AOT cache from a run of the application
add b2c7f4395d Document the AOT cache
add 59e644ba47 Package compiled assets where an executable jar can read them
add 3fec0cd0a8 Correct the AOT cache figures
add aeb9004179 Address review of the AOT cache task
add b2009c4382 Assert what the registrar now says these beans produce
add ac9075ac5d Follow every type a class file names, not some of them
add 790b5c1f33 Train on the toolchain's JDK, and leave the cache beside the application
add 03b9909ba4 Say under the banner how the application was started
add 2187890a6a Keep the banner's option enums usable in an image
add 8ba500ddc0 Read an optional version without setting the library going
add 8a28c10784 Show Spring Security by default, and leave out what cannot be determined
add 199eb8e23e Show the container being served on, and stop at the first one found
add 223ac95f26 Build on JDK 21.0.12
add bd86459603 Give an application building ahead of time what it needs
add f18532d7f8 Space a mark as it was written rather than shouting it
add 61d90312d6 Register an image's resources as hints rather than as build arguments
add fe4c9cfc2e Stop caching what a forked compiler produced
add baf640289e Say how the extracted application is compared, so the task validates
add 184821249d Say why the training run ended, not only that it did
add c465952f53 Do not hand the training run a variable the daemon kept but emptied
add eef515dfae Ask about the return that rewinds a line, not the one that ends it
add fa710fd59f Merge branch '8.0.x' into fix/aot-live-instance-beans-8.0.x
add 2876503929 Fold the task's two javadoc blocks into one
add 1240ce7857 Keep the setters a domain class's constraints are applied through
add 49ec1f06a4 Record the reflection a running application does, from a declared list of paths
add 2649ca482b Let a traced form be told what to put in it
add 33af958b12 Sort the AOT imports the cherry-pick left out of order
add 4b9352d453 Ask for nullability with the annotation Spring did not deprecate
add 49a59448d6 Give two version lookups back the documentation left above a third
add cbc1ffa172 Let every datastore name its event publisher rather than hold one
add 4016bae65d Keep the image to the properties files something actually reads
add 48d9d2b37a Tell Gradle what decides whether the views are staged
add 9bbd56625c Say which JDK a cache needs, rather than let the run fail for it
add e517a9d7b4 Say which banner version option was not recognised
add 6fa81e7777 Write down what the banner now says without being asked
add 1d95c8eff2 Leave collectMappedClasses saying what it has always said
add 082b6b4829 Ask the post-processor about colour through the hook that decides it
add 0a8b8f5022 Make the ahead-of-time application serve a page, not only start
add 4788cebfc2 Say what makes standing down over the configuration processor safe
add 35657c9b02 Leave Neo4j holding the configuration it can still reach
add 5a924d11b8 Put back the cookie handler the build was using
add cb374b1c3a Trace what was asked for, or say that it was not
add fb6518ead9 Check where a form page was answered from, as a path already is
add abd0453525 Bind the qualified domain name when expanding scaffolded views
add 2eb6d04f46 Read the Spring Security version off the package, not through reflection
add e93d383ea8 Leave scaffolded views to be produced where they always were
add 79bd5b9488 Put the new ahead-of-time code under org.apache.grails
add 1714f2b055 Leave one thing deciding what the definitions are generated for
add d81902f70b Ask in one place whether the code is being written out
add 437e627074 Say unknown where a version was asked for, and nothing where it was not
add 67abf890b7 Reach the archive and the assets without resolving them early
add b22be60569 Say what the artefacts are read from, and check it holds
add 6d4bb566bf Give the training run the archive by its full path
add 874c053068 Merge remote-tracking branch 'upstream/8.0.x' into fix/aot-live-instance-beans-8.0.x
add 0021e820a5 Keep the project out of what the AOT tasks carry
add 03638e7424 Wait for the application to start, not for the word "Started"
add cb76065a1e Close the client the trace ran with
add 709989ae37 Record the pages after they are compiled, not before
add e68da7d3db Ask for the asset task by name instead of holding the container
add 3890b3466e Refuse a port something else is already answering on
add a3d5a48b39 Fingerprint the extraction by the JDK, not by where it lives
add 416096af49 Say what is wrong instead of publishing through a null
add 1ece28fbbb Refuse to generate Neo4j definitions that carry the machine's configuration
add db49c9488f Quote the port message the way CodeNarc asks
add e28672d89e Move the Gradle plugin's AOT classes to org.apache.grails
add 63a462a776 Move the tag library bean registration to org.apache.grails
add 6d468648a8 Take asset pipeline 5.2.0-M3
add 5c836c436f Name the controller types this module declares as types
add 49e51adbdc Merge branch '8.0.x' into fix/aot-live-instance-beans-8.0.x
add ac919290f3 Take SiteMesh 3.3.0-RC1
add 4ef8cba33f build(test): make isolatedTestsTwo actually run serially
add 13c964143f build(test): stop test forks oversubscribing the machine
add 0f5f5b653a build(test): assert ActiveProcessorCount reaches forks
add ccca92fd4b build(test): qualify configuredTestParallel via rootProject.ext
add 89e993c3ba Merge pull request #16158 from apache/fix/test-fork-oversubscription
add 2926a0f644 feat: GORM O(M+N) scaling — GormRegistry, SessionResolver infrastructure, and core-class tests (consolidates #15779, #15780, #15790) (#16066)
add 620f651fed Fix flaky WhereQueryClosureCaptureSpec: key AstPropertyResolveUtils cache by ClassNode identity
add 078ac9da53 Address review: cache per-ClassNode instead of a static map, close test gaps
add c3a4d9235b Close a real synchronization gap found by adversarial self-review
add 0d195f1493 Address review: skip caching interned nodes, compute outside lock, fix isDomainClass javadoc claim
add 6ee0ba756a Merge pull request #16034 from apache/fix/flaky-where-query-closure-capture-cache
add 8444cc5466 Merge remote-tracking branch 'upstream/8.0.x' into fix/aot-live-instance-beans-8.0.x
add 983e502f1c Merge pull request #16094 from codeconsole/fix/aot-live-instance-beans-8.0.x
add 7aaa5bcaa7 Merge branch '8.0.x' into feature/i18n-boot-message-source-8.0.x
add f1a857373f Merge pull request #16102 from codeconsole/feature/i18n-boot-message-source-8.0.x
add e45c8ce549 fix(deps): update Groovy to 5.1.0
add 4a289e331a refactor: remove Groovy 5 workaround for GROOVY-12134
add 86518ca064 fix(deps): update another `groovy.version` in dependencies.gradle
add c954bb5117 ci: update version extraction logic in groovy-joint-workflow.yml to include minor version
add ca05235642 build: update jline/jansi to align with Groovy
add 80ee12adc4 fix(deps): update jackson2 and jackson2-annotations versions to address CVE-2026-54515
add d0c68dc38f Merge pull request #16163 from apache/groovy-5.1.0
add 413d19fe85 Neo4j GormRegistry migration (consolidated: replaces #15816, #15951, #15817, #15832, #15833) (#15972)
add 9a472722b0 Declare what the url-mapping factory beans produce, so nothing is created to find out
add 57e3aa759e Merge pull request #16179 from codeconsole/fix/urlmappings-factory-bean-object-type-8.0.x
add 8a4a6eba39 Fix flaky grails-views-gson tests caused by shared static test state
add a42b48780f Address review: drop breaking trait fixtures, isolate remaining shared test entities
add d7ee26c4b2 Rework entity decoupling as per-spec sub-packages instead of prefixed names
add b0df13fd0d Merge pull request #16033 from apache/fix/flaky-json-view-gson-shared-state
add 155a845537 fix(cas): repair proxy receptor and single sign-out, add integration tests
add 46e1f1ccae fix(cas): package names aligned, log.warn removed in favor of println
add efa8e7e16a fix(cas): address review feedback on README, CI duplication and plugin metadata
add 95a9eb6f15 fix(cas): address review feedback on metadata, docs, timeouts and style
add f9dc11dd5a Merge pull request #16174 from apache/fix/cas-single-signout-and-proxy-receptor
add b914f8c29c fix(deps): Update Spring Boot to 4.1.1
add ecf1615df0 fix(deps): Remove redundant bom overrides after boot update
add 7851d40d68 build: conditionally transfer versions in end-to-end for sdp
add d8d9f4f80c fix(deps): Bump transitive nimbus-jose-jwt version
add 15f743fd70 fix(deps): Bump spring-retry to 2.0.13
add 9b988958bc fix(deps): Bump asciidoctorj to 3.0.1
add 55e4c07793 fix(deps): stop managing the selenium version
add 36b76a37e6 fix(deps): Bumb objenesis to 3.6
add 0a2b2d54cf fix(deps): Bumb commons-codec to 1.22.1
add a77d5238c6 fix(deps): Bumb guava to 33.7.1
add 9a0ed70a0d fix(deps): stop managing the log4j version
add c0d04789bc fix(deps): remove unreachable duplicate branch in dependencies.gradle
add dfa190cd01 fix(deps): remove redundant duplicate plexus declarations
add 943ae6549e fix(deps): adjust jackson 2 version management
add b00d69b486 fix(deps): remove redundant junit-bom version management
add b18355711d Make precompiled GSP classes byte-reproducible
add 41bb9354a4 Record a source checksum in precompiled GSPs instead of a modification time
add 81f8cdafb5 Cover checksum precedence over a recorded modification time
add e55dd6e5f7 Keep the -1 timestamp sentinel able to self-heal
add 0126081f56 Take the checksum over bytes rather than a stream
add b782f2eb9c Target the 7.1 line and document the change in its upgrade guide
add c0cdbbde39 Skip re-hashing a page whose source stamp has not moved
add 7dbea7d626 Record a checksum for pages compiled at runtime too
add e6b65f13a8 Correct two statements the runtime-path checksum invalidated
add b4064c9628 Document the development-mode reload change
add a3d0871f79 Parse from the decoded source rather than wrapping the bytes in a stream
add 894266cb5b Move to the 8.0 line
add f39a7f6e1e Remove the recorded modification time entirely
add 437b489e05 Say plainly that the granularity setting is gone
add bf7e0a03d1 test: cleanup
add 370a6e644b Merge branch '8.0.x' of https://github.com/apache/grails-core into fix/16131-gsp-source-checksum-7.0.x
add 32f1eaf935 Correct a spec comment that outlived the timestamp
add 1c005d7fae Merge pull request #16142 from codeconsole/fix/16131-gsp-source-checksum-7.0.x
add 87a359ff50 fix(deps): Manage bnd.annotation 7.1.0 for Log4j 2.25.5
add cebe9c687b Merge pull request #16084 from apache/fix/bnd-annotation-7.1.x
add 299d7f2008 Merge branch '7.1.x' into 7.2.x
add b4b29e10f2 [skip ci] Release v7.2.2
add 05cfc88fb2 [skip ci] Bump version to 7.2.3-SNAPSHOT
add 42c903f451 Merge pull request #16108 from apache/merge-back-7.2.2
add 8009781474 [skip ci] Release v7.1.5
add ed463e9fe3 [skip ci] Bump version to 7.1.6-SNAPSHOT
add 959af4200f Merge pull request #16109 from apache/merge-back-7.1.5
add 0e0f815e23 backport: reproducability fix
add fe1827cf67 Merge pull request #16090 from apache/backport-15978
add 8c6476c17e [skip ci] Release v7.0.15
add 8e3df14775 [skip ci] Bump version to 7.0.16-SNAPSHOT
add fe87c67c28 Merge pull request #16105 from apache/merge-back-7.0.15
add ea9d6a63ce Add opt-in Forge feature for MongoDB testing support.
add 0c78c458fc Merge pull request #15339 from sanjana2505006/feature/15007-mongodb-testing-forge
add 63479045c8 Run the vulnerability scan on pull requests labeled "vulnerability scan"
add a4c54d42b4 Merge branch '7.0.x' into 7.1.x
add ed2e1c378e Merge branch '7.1.x' into 7.2.x
add 446a12ba31 Merge branch '7.2.x' into 8.0.x
add 2a30340391 Read java version from .sdkmanrc
add 1681a71582 Merge branch '8.0.x' into spring-boot-4.1.1
add e6e5b37697 Fix for feature rename
add 1a22d0bef2 Update dependencies
add 5e2050dbdb Remove old hibernate library that no longer exists in Grails 8
add c4f60ce5f2 Merge pull request #16187 from apache/spring-boot-4.1.1
add dd8e310644 Define tag handlers as methods in PlainTextMailTagLib
add 7c5b93fb14 Generate a tag library index at compile time
add 8afe580f86 Resolve GSP tag calls against the compile-time index
add c992f603e0 Precompute tag method argument binding
add 90075c3c8b Cover tag library index merging across jars
add f621337ae6 Make the tag index agree with runtime in three more cases
add d98ea0d684 Leave a tag declared twice to runtime resolution
add ba48005ad8 State the tag discovery rules once
add 3c847aa8b5 Generate the tag library index before compilation
add 26da0a12c5 Register tag libraries from the compiled index
add b525a4a340 Dispatch tags without writing to a metaclass
add 7e10994139 Report an unrecognised tag as a compilation error
add 02a8e79925 Add an explicit entry point for invoking a resolved tag
add b34de798bb Stop installing tags onto tag library metaclasses
add 9412856f12 Compile a call to a known tag into a direct invocation
add d6a204f673 Correct three compatibility faults in tag resolution
add 9d2304f53f Compile tag calls in controllers too
add 164f297c58 Document compiled tag resolution
add 2ab866640a Let more than one directory hold tag libraries
add 37e5752e8f Resolve tags without writing to a metaclass anywhere it matters
add 106aaae036 Record how each tag is implemented
add 04540b6b6d Remove an import left over from dropping the bootstrap metaclass enhancement
add 1bf67a36b7 Only treat a name as a namespace when nothing else claims it
add 9729ec1ff1 Let a project resolve the tags it declares as it compiles
add 32a9393074 Recognise a boolean getter as claiming a namespace name
add 544710fd1d Add the Apache license header to the compiled tags guide page
add 515c4b5f80 Read the tag library index once per compilation
add 1235c4cf1a Register the tags a tag library actually has
add b1ab9a42a6 Invoke a resolved tag with the arguments it was called with
add b204c78c35 Resolve a tag call wherever it is written
add 960c9cc97e Resolve a tag expression in a statically compiled page
add 54773e74a6 Describe each tag library once
add b9e2b510b6 Report an unknown tag only where the source says it is a tag
add 07a909cdea Let the build state what it knows about its tag libraries
add fcd70e89bf Document compiled tag resolution
add 33e2e90b9f Know a tag library declaring no tags has been described
add fdeb5e86fe Say which page tag forms strict checking covers
add 2a72625dfc Do not fork the index generator for a project with no tag libraries
add c417954b9a Measure what compiling a tag call is worth on its own
add 73d6bd3fdf Describe a tag library that refers to what this project declares
add 2834ffbf98 Package the index written after this project is compiled
add 86ed5d8401 Prove a deleted tag library cannot survive in what is published
add 1ec4b8a0f4 Keep this project's compile settings out of what it publishes
add d1c446ac6d Read a skipped tag library's namespace rather than match it
add 25a292dd00 Measure the rewriting rather than static compilation with it
add 0e7d2022ba Claim a skipped tag library's namespace only when the source is plain
add 58bc54102c Add the descriptors to the library artifact alone
add 2bff14123a Drop an import left over from rewiring the index outputs
add 2780990aaa Take the compiled classes, not the whole source set output
add 91f8d3d43b Merge branch '8.0.x' into feat/taglib-compile-time-index-8.0.x
add bfb87bf002 Merge branch '8.0.x' into feat/taglib-compile-time-index-8.0.x
add eb5b692360 Leave a name Groovy already answers to out of unqualified rewriting
add 156977b997 State what a page with no tag library lookup does with an unresolved name
add 79193b6a75 Declare where tag call rewriting runs instead of relying on a default
add 298d585422 Say what the self-describing fallback covers, and deprecate what installs onto metaclasses
add c89bbaf534 Number the index format from one and drop the doubled javadoc
add 781eb505f1 Drop the two index methods nothing calls
add 8ce567cf0d Wire the index into test runtimes and stop restating what nothing reads
add 68901e2858 Finish the review: index reads, discovery pins, and the notes that were missing
add 6480f53211 Stop concurrent index writes losing entries, and cover the rest of the review
add 6b67de9dc6 Leave an unqualified call inside a closure to the closure's delegate
add 7286f5c4cb Clear the style violations left by the review changes
add 30cac71a8f Drop the controller convention case from the rewriting spec
add c1ce109b06 Enumerate a tag library's tags once, for both views of it
add 72b3fffb20 Describe only what was asked for, and dispatch a shape a tag cannot take
add 5852104a30 Compile a tag call the source proves is one, and make the rest opt-in
add 95955df6bf Pin the unqualified setting on both sides of the module boundary
add 045868cd81 Check a real build compiles a convention controller's tag call
add 12985ef89a Record a tag name, not how it was written
add e1af1b99ef Check tags only in the namespaces this project describes
add cb57d22e32 Do not describe a class an application could never register
add 8ea3a9aa3e Say why the deprecated URL constructor stays
add 645241d930 Say that a namespace is not checked against a closure's delegate
add 86642abeb0 Merge branch '8.0.x' of https://github.com/apache/grails-core into feat/taglib-compile-time-index-8.0.x
add 6f9760b1af Merge branch '8.0.x' into feat/taglib-compile-time-index-8.0.x
add cb99cc8fc1 Read a class for tag calls once its traits have been applied
add 0f59eafd57 Cover the controller the rewrite decides by its directory
add 1d82b09941 Report an unregistered tag as the dynamic path reported it
add c2c45fb7de Decline an argument list no tag call takes
add 79a69b3381 Put three javadoc blocks back on the members they describe
add 99b5e00336 Merge branch '8.0.x' of https://github.com/apache/grails-core into feat/taglib-compile-time-index-8.0.x
add 547516d694 Merge branch '8.0.x' into feat/taglib-compile-time-index-8.0.x
add df895a74a4 Merge feat/taglib-compile-time-index-8.0.x, restoring what its merge dropped
add 5752ba0f58 Merge pull request #16134 from codeconsole/feat/taglib-compile-time-index-8.0.x
add 3364307ee4 Created folder remotely
add 8cad5a1038 Initial import
add dfeb6007ca Install/upgrade scripts and licence file added
add ea50c4e453 added empty lib/ and classes/ directories to prevent 'not-existing' errors
add 95b562b5ab version changed to 0.2-SNAPSHOT and QuartzGrailsPlugin.groovy updated to follow Plugin Distribution Convention
add 368c34810f - GRAILSPLUGINS-34: added a trigger listener which prevents jobs execution until application will be fully started up - added an ability to set startDelay for cron jobs
add a52ec4bdcb - GRAILSPLUGINS-32: downgraded to quartz-1.5.2 due to incompatibility between Spring 2.0 and Quartz 1.6.0 - GRAILSPLUGINS-33: added global job listener which logs all exceptions occured during job's execution with ERROR log level
add 3cf5fde44a - GRAILSPLUGINS-55: added check for negative 'timeout' and 'startDelay' parameters during application startup - updated to Grails 0.5.5-RC1
add 7b265dfe53 updated SNAPSHOT version
add 6dd417bd31 updated SNAPSHOT version
add 567262d56b - removed unused 'jobs' directory
add 8a724252ca - fixed convention 'execute' method on GrailsTaskClass - added several unit tests
add 26e4cb9a41 - migrating to Grails 0.6
add 2103af0310 - migrating to Grails 0.6
add d2540d0488 - unused directories deleted
add ef4905c145 - new version of packaged plugin's zip added
add 28e503f607 Sorry just testing svn access
add e28917c55e - changed version to 0.3-SNAPSHOT - fix for GRAILSPLUGINS-190 (Wolfgang Schell's patch applied)
add b103d3d26b - fix for GRAILSPLUGINS-213 (Wolfgang Schell's patch applied with slight modifications)
add 3588a29ee4 - fix for GRAILSPLUGINS-58 (upgraded Quartz to 1.6 since it's now compatible with the Spring's version included in Grails 1.0)
add 31ce1572da - several cleanups related to GRAILSPLUGINS-58
add 94dace80fc - 0.3-SNAPSHOT zip distribution
add 05c37c79d2 - removed unuser ExecutionControlTriggerListener since now all jobs are scheduled in doWithApplicationContext and there is no need for the trigger - upgraded to Grails 1.0.2 - fixed some code formatting issues
add af8427be56 Added repeatCount parameter for Job classes (GRAILSPLUGINS-358)
add bc1c98c4e4 Initial fix for GRAILSPLUGINS-364, GRAILSPLUGINS-359, GRAILSPLUGINS-47, GRAILSPLUGINS-307 and maybe others. Added clustering and JDBC storage suppot and plugin configuration with QuartzConfig.groovy (applied Burt's patch with slight modifications). Also moved scheduler startup into BootStrap file.
add ba1077192d Added per-environment configuration. Fixed autoStartup configuration parameter. Added StatusFinal event with appropriate message to InstallQuartzConfig script.
add 5d241144c4 Forgotten import.
add dcf4d52190 new snapshot version
add 60fd11a063 added a validity check for the cron expression
add 13c74008ee moved default property value constants to the interface
add d96b2c3e8e fixed some JavaDoc issues as well as unused imports
add e72a3bf384 First cut of multiple triggers configuration. Also improved test coverage.
add fbabfc347a 0.3 release prepared
add 5ea697cd96 deleted 0.3-SNAPSHOT release
add a183f95f5d updated release info to 0.4-SNAPSHOT
add 6d5a75b6f9 changed version to 0.3.1-SNAPSHOT since of a blocker bug in 0.3 release
add 3bf79e7dc1 reverted to MethodInvokingJodDetailFactoryBean since of GRAILSPLUGINS-374
add b48dc81444 0.3.1 bugfix release
add 6c59f09fc2 Corrected job template to use spaces instead of tabs.
add e2495fa8cd Changed version to 0.3.2-SNAPSHOT and fixed an issue with "stateful" jobs, now new job instance is created for each execution.
add 18deb9efa0 Added 0.3.2-SNAPSHOT zip distribution
add d048efdd40 Added support for execute(context) method, so users could access JobExecutionContext from their execute methods
add 41c58aac48 Removed unused imports.
add 5e0fbab887 Rewrote trigger support to provide native Quartz's triggers instead of Spring wrappers for better serialization.
add 87ddcd9fd8 Renamed factory beans for triggers to not include 'Grails' prefix
add 9d49a516d4 Renamed factory beans for triggers to not include 'Grails' prefix. Updated license info and javadocs.
add 8ce9bd8315 Added SQL scripts for creating Quartz DB schema in different databases. Updated version to 0.3.2.
add 42302501cf Removed test reports from zip distribution.
add e72abb5a5d Updated version to 0.4-SNAPSHOT.
add fcf3e02d26 First attempt to make JobDetails non-volatile
add 7fbe9bb4d5 Fixed 'repeatCount = 0' parameter (GRAILSPLUGINS-415). Changed version number to 0.3.3-SNAPSHOT.
add 9d50629959 Added 'volatility' and 'durability' parameters for JobDetails and 'volatility' parameter for Triggers (work in progress on GRAILSPLUGINS-409)
add 0882a66370 Preparing 0.3.3 release
add 8e040be91f Implemented first cut of dynamic jobs scheduling.
add 345a26014c Added schedule(Date) method.
add 11cc3e9da7 Fix for GRAILSPLUGINS-451. Also updated project files for IntelliJ IDEA 8.
add 02ee80139e Updated Gant script to use 'target' instead of 'task' since 'task' is deprecated in current version of Gant (fix for GRAILSPLUGINS-452)
add ec2187923a Forgot to update snapshot with the latest fix
add 4cd226e2a1 minor update to add support for specifying jobs within packages to the create-job command
add a0975e7163 Created first version of Quartz Management Tool
add 60561f615d version of the Quartz plugin that works with 1.1-beta1
add 67649ee89e Updated to Grails 1.1
add 7024512525 Updated Quartz to the latest 1.6.5 release
add 4e0ea0c2ee Fixed an error where def execute(JobExecutionContext context) method definition was not being detected (fix GRAILSPLUGINS-622)
add 3752a8697d Removed JobManager Controller since it is in pre-pre-alpha stage and is not very useful currently
add 2f135de275 Updated snapshot archive
add 27625822e6 Updated to Grails 1.1
add fd5ca3d736 Added generated documentation to the repository
add 3b9d159131 Fixed an error with install-quartz-config script in Grails 1.1 (fix GRAILSPLUGINS-742)
add dc84b07da0 Updated the snapshot zip
add e2215ae30c Fixed another error with 'def execute(JobExecutionContext context)' method
add 2c82fc893e Removed another file from JobManagerController stuff
add fa8bf6e524 Added timezone parameter for the cron trigger
add 1f568d4345 Reimplemented support for scheduling with custom triggers (fix GRAILSPLUGINS-1118)
add 13c8a1141f Switching to CustumTriggerFactoryBean for registering all types of triggers
add c95c718a5f Updated documentation
add 35cefe9cc4 Reverted bean names to old-style since it doesn't look like a good idea to inject job beans into controllers or services
add be46a2f833 Upgraded to Grails 1.1.1
add b2fbebfc1f Turned off auto startup of the Quartz scheduler in test environment (fix GRAILSPLUGINS-1159)
add 37d08d93df Updated 0.4.1-SNAPSHOT
add 06488b4069 Removed another file from JobManagerController stuff
add 0a7544d627 Added timezone parameter for the cron trigger
add b59a29ec85 Reimplemented support for scheduling with custom triggers (fix GRAILSPLUGINS-1118)
add 9e944af3b5 Fixed an error where def execute(JobExecutionContext context) method definition was not being detected (fix GRAILSPLUGINS-622)
add 9f17a3b571 Updated Quartz to the latest 1.6.5 release
add 7841e3ca4d Updated to Grails 1.1
add 3e440cc9b0 Merge branch 'master' of git@github.com:nebolsin/grails-quartz
add 0ed670c423 Merge branch 'master' of git@github.com:nebolsin/grails-quartz
add 2c64ce73f1 Merge branch 'master' of git@github.com:nebolsin/grails-quartz
add b6eee2bcdd Merge branch 'master' of git@github.com:nebolsin/grails-quartz
add 0b48bab83f Added generated documentation to the repository
add 4c1eff715b Fixed an error with install-quartz-config script in Grails 1.1 (fix GRAILSPLUGINS-742)
add b8624192ba Updated the snapshot zip
add 32785e8131 Merge branch 'master' of git@github.com:nebolsin/grails-quartz
add 01d2db1836 Fixed another error with 'def execute(JobExecutionContext context)' method
add d018a0ec05 Merge branch 'master' of git@github.com:nebolsin/grails-quartz
add 9d684a84c3 Merge branch 'master' of git@github.com:nebolsin/grails-quartz
add 3370446197 Switching to CustumTriggerFactoryBean for registering all types of triggers
add c819a27b87 Updated documentation
add be9de0c0eb Merge
add 373da2ee96 Fixing merge conflicts
add db5b1d55ee Preparing 0.4.1 release
add 191cedad84 Fixed an error with GString -> String convertion (fix GRAILSPLUGINS-1281)
add 14b68cdc10 Placed JobManagerService into a package (fix GRAILSPLUGINS-1410)
add 2fa904f991 Fixed a typo (fix GRAILSPLUGINS-1460)
add b0689cff4b quartz.properties file is now loaded properly (fix GRAILSPLUGINS-1207)
add 2dd59687fe Added reschedule(Trigger) and unschedule(name, group) dynamic methods (fix GRAILSPLUGINS-1647)
add 19668f2875 Fixed an error with durable jobs (fix GRAILSPLUGINS-1420)
add 3319a759cb Updated the plugin to work with Grails 1.2 (fix GRAILSPLUGINS-1808, GRAILSPLUGINS-1807)
add 1c2affd3a9 Updated project files to Grails 1.2
add 3f8439a503 Added 'requestsRecovery' configuration property for Jobs (fix #GRAILSPLUGINS-1701)
add 80fc00ef22 Fix CRLF
add ccd1c18429 Updated to the latest Quartz 1.7.3
add c26a9df0f4 Removed debug throw
add 1266b2a3f5 Changed QuartzBootStrap to not depend on the ApplicationContext directly and use autowiring instead (refs #GRAILSPLUGINS-1159)
add 033871ae89 Fixed compilation warnings (fix #GRAILSPLUGINS-1845)
add 09a4afa4d1 Fixed an error with scheduler shutdown in Tomcat (fix #GRAILSPLUGINS-1431)
add 739e4fab26 Reverted bad change
add 42cd4a8130 Added empty quartz.properties file
add 5a12df0ef6 Removed web-app, since it's not used by the plugin
add 57bd14c1f8 First draft of README
add 20c48139fa Readme markup fixes
add 8c51627328 Updated required Grails version to '1.1 > *'
add f1fe0ce599 Updated version number to 1.0-SNAPSHOT
add ce7dcd8455 Removed unused file
add 45728fcd79 Removed unused files
add d05fe8db08 Removed quartz.properties, allowed properties to be supplied in QuartzConfig.groovy
add 5136fe9e30 Changes to allow more groovylike quartz configuration. Users can omit quartz.properties and supply them in QuartzConfig.groovy (or any of the merged config locations) as a quartz.props section. Falls back to quartz.properties if no grails quartz properties supplied.
add 344bac3801 Minor change to plugin to not set configLocation on the quartzScheduler if properties supplied via grails.config.quartz.props.
add 9d265d328c * update project files for IDEA 9
add a787308b51 * updates Quartz scheduler to the latest and greatest 1.8.3
add 90abe70c3a * updates some version numbers
add bda69d6136 * fixes some paths to the library sources
add 43d28c90f4 Job#execute() method invocation was completely rewritten to be more accurate with throwed exception (fix #2)
add 8c77a8b2b7 adds support for jobs interruption with Scheduler.interrupt() method (fixes GRAILSPLUGINS-2042)
add dbbbb455b0 reduces Hibernate dependency to compile time only (fixes GRAILSPLUGINS-917)
add c037bed1a6 refines plugin configuration abilities and removes default quartz.properties
add eb1fc29dba ignore 'target' folder
add ab73b1203e disables Quartz updates check by default (fixes GRAILSPLUGINS-2221)
add 41ce1dee3d force UTF-8 as file encoding in the IntelliJ IDEA
add 8e5396ad7a improves JobManagerService and fixes an issue with #getAllJobs() method, which was returning only one trigger per job despite of real triggers count (fixes GRAILSPLUGINS-2057)
add 069b3408e2 removes unused and unsupported Spring facet from IntelliJ IDEA configuration files
add bad9ff5a1d changes plugin.xml to include new BuildConfig resource
add 86effd7b71 Large refactoring: renames all *Task* entities to *Job* ones. Ex. DefaultGrailsTaskClass becomes DefaultGrailJobClass and so on.
add 20bb71e069 Updates job template for create-job script to follow new triggers configuration convention
add 2ef1b150ba Slight fix to the IDE configuration file
add 4936d4f89d Updates my email address
add eef6aed201 Fixes some conflicts which arised during massive refactoring
add 68f4f5fdac Removes debug println statement
add db1a112eed updated Quartz to 1.8.4
add ee1e868bed added exposeSchedulerInRepository configuration parameter (fixes GRAILSPLUGINS-2662)
add 469c6c7101 updated Grails version
add 80c486b6c0 Fixed a few of the failing unit tests and also fixed the names of some of the test case files (which didn't match the class names in those files).
add db5b0760cc Migrated to the new IDEA project structure
add 62382a5a1b Plugin now depends on Grails 1.2+, which means it no longer needs to package the Quartz JAR.
add 3af604b330 Merge remote-tracking branch 'pledbrook/grails-1.2'.
add f9f08e245b Merge branch 'master' into pledbrook-fix-tests
add 96f09e4411 Move all code to the grails.plugins.quartz package; update license; reformat code & optimize imports
add 1f05c84b55 Add new plugin descriptors for grails-maven-publisher-plugin
add 50207797fe Remove 'developers' descriptor to prevent duplicate entries in POM
add d64045211f Revert "Remove 'developers' descriptor to prevent duplicate entries in POM"
add 3583e79ce4 Remove 'developers' descriptor to prevent duplicate entries in POM
add 5dd05822d8 Add StillMaintained.com button to the README
add 937f0d02c2 Edited README.rdoc via GitHub
add 6a11f9a95e [fixes #16] Get rid of plain constant interfaces
add 3ba7974d2e exluding slf4j-api because the version it pulls doesn't play nicely w/grails 1.3.7
add d91feebc39 Merge pull request #20 from Ticketfly/exclude-slf4j-api
add 2b52cd3692 update versions, fix broken reloading
add da65cf9073 docs ported to gdoc
add 570ef3194a update version to 1.0 rc2
add 1d19cfb2b2 SessionBinderJobListener refactored to use persistenceInterceptor to wrap Quartz jobs in a persistence context.
add 5fa0c25b08 load after datasources plugin, if it's installed.
add 2a78759c36 Merge remote-tracking branch 'ticketfly/persistence-interceptor'
add 182e760915 Reworked config to merge in correct order, app Config (and external configs) can now override DefaultQuartzConfig values
add 32734a4fd2 Merge pull request #1 from marcpalmer/182e760915365cebfb57b4a137775d53cb417799
add 783651b9f1 fix custom trigger formatting in docs
add 369a417201 updated plugin.xml
add 5f65618829 update plugin to use quartz 2.1.x. This allows use of latest version of Terracotta and Tomcat 7.
add 07f67f24ba Merge pull request #5 from rvanderwerf/master
add ce930197e2 upgrade to grails 2.2 and release plugin 2.2.0
add e9f92c32b7 variable name fix in JobManagerService#getJobs
add 61146f3ecf Merge pull request #2 from isinev/master
add 0073816ce0 Merge remote-tracking branch 'origin/master'
add c2f90ac813 upgrade to grails 2.2 and release plugin 2.2.0
add a1a4ca0f1b upgrade to grails 2.2 and release plugin 2.2.0
add 54d0ef7939 fix bug with cron triggers
add 1238fbc550 RC4
add 658ec35377 RC4
add 9bf1f0ae93 org.quartz.Scheduler.deleteJob(String jobName, String groupName) was removed in the most recent API. It has been replaced with org.quartz.Scheduler.deleteJob(JobKey jobKey). Made the necessary changes to make it compatible with the new API.
add 2260eced07 Merge pull request #6 from cruzer45/master
add 292f135c5e Merge remote-tracking branch 'origin/master'
add a9d42be1d2 Remove all JetBrains IntelliJIDEA project files.
add 61b8bae8a2 .gitignore
add 26d6232a69 GPQUARTZ-112: Methods 'triggerNow', 'removeJob', 'reschedule', 'unschedule' don't work. resolved
add f2fc261b20 Remove JetBrains IntelliJ IDEA project files.
add 4170eae6fd GPQUARTZ-111: Integration tests fails with Quartz plugin resolved
add 0acf99c2cc Merge pull request #7 from kefirfromperm/master
add 6345cc1c53 update version
add 4535feab5d Add grails wrapper.
add 5b6290cf4f Add Travis.yml for build
add a9952fc8a1 Added missing wrapper files.
add f449797f0b Merge pull request #8 from beckje01/travis
add d673324db6 Close session without exceptions escaping into Quartz where they interfere with the execution of other listeners.
add 4f56983ba6 Merge pull request #9 from Overruler/request
add cef4e08ea0 update version
add 2c1a5642dc Allow cronExpression to be an instance of CronExpression
add c7e73a9df5 Merge pull request #10 from ctidigital/feature/allow-cronexpression-class
add ac160c2016 grails upgrade
add b9a3c091ec ingnore eclipse metadata
add eaf536523d fixed reload http://jira.grails.org/browse/GPQUARTZ-102?page=com.atlassian.jira.plugin.system.issuetabpanels:changehistory-tabpanel
add e78b7a2059 random def
add 83e66e93ec gitignore
add 916492a6ed grails update
add f3deda9e61 merge with RC6
add 33a82ac8c1 Merge pull request #11 from ftaiolivista/master
add 4c979c6f5e update version for release
add 3c007fd06c .gitignore
add 38dbe537bf TODOs
add 5682887839 TODOs
add 3af8d419ff The test class for JobManagerService.
add b8e144c695 The test for JobManagerService#getAllJobs.
add da242d5809 The test for JobManagerService#getJobs.
add a0006beb09 The test for JobManagerService#getRunningJobs.
add dcb20bda4d GPQUARTZ-116 JobManagerService, pause and resume jobs and triggers
add 7dcd965a4a GPQUARTZ-116 JobManagerService#removeJob
add fd696af6bb GPQUARTZ-116 JobManagerService#unscheduleJob
add c8d920c89c GPQUARTZ-116 JobManagerService#interruptJob
add 2ab09a1345 GPQUARTZ-105 JobManagerService, added methods pauseAll and resumeAll
add b6e4053f75 TriggersConfigBuilder, changed the parameter type from HashMap to Map
add 47ac875029 Tests for JobDescriptor and TriggerDescriptor
add 9728e31b83 Simple refactoring of TriggersConfigBuilder
add 63afc698de Comment on SessionBinderJobListener
add be364aef44 CustomTriggerFactoryBean refactoring
add 054e891d6a GrailsJobClass
add 2a85370636 Validations and tests
add ead8e03790 Merge pull request #12 from kefirfromperm/master
add 891bcf8910 Set the name of the scheduler to the Quartz instanceName property
add 50e8495a6d Merge pull request #14 from robbugh/master
add a5c7137024 Improved create-job command a bit
add d98c5850be Merge pull request #13 from yamkazu/improve-createjob
add 8af60d68c4 Expose underlying job in GrailsJob
add 18458c91b1 Merge pull request #15 from lbredeso/master
add c55a10d426 Allow dataSource to be overridden with the name of the bean in config.jdbcStoreDataSource.
add 86844c217c Merge pull request #16 from Ticketfly/configurable-connection-pool
add 04a62f0122 Ability to specify a Quartz Job's JobDetail description within Job configuration. This is useful for applications which list current Quartz jobs' details for user display.
add 426bd36e44 Merge pull request #18 from derekslife/master
add 4859b809d6 update version for latest pull request merges
add 135b2d23f8 pull request #18
add 8501458227 adding addl author
add ebdf3ce571 Tests for the JobManagerService for methods for pause and resume jobs.
add e43cc628a7 Remove wrapper
add 48bffa4f98 removed deprecated api
add b54ea36d9a removed unused dependencies
add 0c54be6c87 Merge remote-tracking branch 'upstream/master'
add b05f52fdce refactored TriggerConfigBuilder
add a3ca0415a8 A comment to GrailsJobFactory
add f4a7cc697c Quartz dependency.
add 72da0ccbf3 Merge remote-tracking branch 'upstream/master'
add c04e3e0b71 Quartz dependency.
add 3fd0038870 Removed configuration handler.
add 152d98be7f Removed configuration handler.
add f2dc5d1db3 Simplified schedule methods.
add 393907e2aa Make JobManagerService tests as integration.
add b7c6c6fc8f Changed JobManagerService tests package.
add 51f1866584 Comment on JobManagerService tests.
add 1955b7d531 Tests for the dynamic methods of job artifacts.
add 309dfce3ce QuartzGrailsPlugin types
add 2d198831d4 Merge remote-tracking branch 'upstream/master'
add ab68e1d432 Fix tests bug.
add c7d0bd33e3 Removed GrailsStatefulJob
add e44ae8e65e Removed listeners
add 4510ed852d Removed JobDetails and Trigger beans from the Spring context.
add 4d378c1d67 SessionBinderJobListener only if required
add c05447dade onChange
add 43098fc1ad Small refactorings
add fd111b1ae2 Refactored JobDetailFactoryBean
add e858ab0044 Fix possible problem in GrailsJobDetail.
add e6642fd370 Used specified job class for non concurrent jobs. Fixed problem with session listener.
add aeda96823e Migrate to the Quartz 2.2.0
add cd47f2bff7 Add StatefulGrailsJob comment.
add c50fa22259 http://jira.grails.org/browse/GPQUARTZ-120
add c35f29a360 Merge remote-tracking branch 'upstream/master'
add eaa43f722e Merge pull request #17 from kefirfromperm/master
add f25c567ada Merge remote-tracking branch 'upstream/kefirfromperm'
add e6d352fcd8 GPQUARTZ-10 Add destroy method. Needs more tests.
add 63fdaa1946 GPQUARTZ-10 Removed shutdown method in BootStrap. Uses standard destroy method from SchedulerFactoryBean. The issue is done now.
add 9966a533bd Upgrade grails version to 2.2.4
add 887150e0cf Merge remote-tracking branch 'upstream/master'
add d9f06e540b Job description
add 34d9efc685 plugin.xml
add 218ba7177c Compatibility with Grails 2.0.0
add 3c07f77c7a Logger for the plugin class.
add 54928c016f Version 1.0-RC11
add 9b3941b155 Merge pull request #19 from kefirfromperm/master
add 4d33b7386d Merge branch 'master' of https://github.com/grails-plugins/grails-quartz
add c0aecde95e GPQUARTZ-131 remove depenency on grails 2.3.0 release plugin
add d155204289 Fix minor typo in README.
add 952590500e Merge pull request #22 from chriskuehl/master
add 8a581d8e52 plugin.xml shouldn't be in source control
add 4587845434 fixed release plugin issue
add 10ffe734b5 cleanup
add 92e91c56ec import org.quartz.SimpleTrigger
add 00a0ffc3bc Merge pull request #1 from kefirfromperm/cleanup
add 85f02f469a Merge latest changes to the master.
add 7b3ca3cd35 Updates the plugin version to 1.0
add c27f60dbd8 update version #
add 6dbd179094 Merge pull request #1 from kefirfromperm/cleanup
add 947d8c5b50 update version # add Vitalii back to authors
add 4738830e77 Merge remote-tracking branch 'remotes/rvanderwerf/master'
add bb25546938 Resolve merge conflict.
add fa6e876add Merge pull request #23 from kefirfromperm/master
add bef6d09456 upgrade quartz to 2.2.1
add 210e8aea1b upgrade quartz to 2.2.1
add dd5e325461 fixed doc url
add 655159b3ee schema 2.0 to 2.2 upgrade
add ed2292222f fixed indentation in some of the .sql files
add a7287be45a Merge pull request #24 from ozren1983/master
add b87b49b260 fixed missing import
add 953cd33dfd Merge pull request #28 from weseek/master
add 7c73829533 Rename README.rdoc to README.md
add 6c500f227d Update README.md
add f63b290194 Update README.md
add 4b99c379f8 Merge pull request #26 from stokito/master
add 637681d199 update Travis CI, update version to snapshot version
add bedf177c71 remove jars from ignore list to include wrapper
add af092423e9 Added Travis Build status
add e2399c0049 Merge branch 'master' of github.com:grails-plugins/grails-quartz
add 3dd7c625d8 Make tests Grails 2.3.x compatible
add 474b5416db add travis CI credentials config
add 58b3279063 update secure tokens
add ab38213731 disable openjdk7 build for the moment
add 1bd366bcec add github id
add 530f66f728 only run on oracle jdk7
add c89b67bf10 GPQUARTZ-140: Properly detect hibernate4 plugin
add 4bb6c30e70 Merge pull request #29 from longwa/master
add 003555aba4 Release 1.0.2
add cedf7626ce Change version to 1.0.3-SNAPSHOT
add 96c3e92ae0 cleanup
add a47735208b not used
add 2e7e720fe7 generated docs shouldn't have been committed
add 9dd01df78a copy in Grails 3 plugin code
add 8faa943e30 update Travis config
add cc5b89ab77 Update travis config
add df080912b2 generate gradle wrapper
add c0c2884a07 trivial change
add 9a5e8e29c3 update version properties
add d3df53278e update travis config
add 799ecbd431 add bintray plugin
add a53cc8b49b apply bintrayPublishing.gradle
add 0f93af447a update gradle wrapper
add ce89ac7901 introduce QuartzJob trait
add 414fa97983 testing static method in job trait
add 3ed5d2ccd4 make trait @CompileStatic friendly
add a5921e44f7 add schedule(...) method
add 9c5f08c8ec add some overloaded schedule(...) methods
add a757845eea add remaining schedule management methods
add 3fc496c40f remove reference to Holders
add 204fe4a1a2 simplify static method invocations
add 24352aa0f4 respect config.quartz.autoStartup
add 6a3fe1764b remove some commented code
add 9e269fee7d add some missing copyright headers
add dbf2bc02d3 remove version property
add 4039da6a9e version 2.0.0.M1
add 4bc65b3d46 2.0.0.BUILD-SNAPSHOT
add 8515347944 add Job suffix to Job class name
add 6f1ca7fbb7 Update travis environment variables
add bf23dd61bf rearrange build file to deal with publishing problems
add c00c7ccea5 Use Grails 3.0.0.M2
add 8d0ba6edd0 Version 2.0.0.M2
add 02a1f89277 fix typo
add 08165a9516 update TraitInjector
add 4c345dca2c use Grails 3.0.0.BUILD-SNAPSHOT
add cf1b5fb17d use Gradle 2.3
add cf20c147d8 See https://github.com/grails/grails-profile-repository/commit/e7b0eb720d860c6426b17e4528ca304a8569994e
add b3f66fefa7 back to build-snapshot
add bb8a30e63c rearrange plugin ordering
add 574e22bbc8 use Grails 3.0.0.RC2
add 2bb439ba03 reorganize application.yml
add 9036612065 Use Grails 3.0.0
add 8f0b8583e6 Version 2.0.0.M4
add 1ca0e14186 https://github.com/grails3-plugins/quartz/issues/2
add b83ab74943 Must add the 'org.quartz' prefix to the autoStartup property
add d0ca242b39 Merge pull request #5 from robbugh/master
add 721dcd19d8 version back to snapshot
add 04d8ed9f09 JDBC Support PR
add 34d8594fd4 Boolean fix for PR#6
add 6207b67332 Merge pull request #6 from dtamm/master
add 28feb83fe1 Added issue Management for plugin-info
add cbaf5acf89 Merge pull request #10 from anshbansal/patch-1
add 5fdabfab24 Added docs back. Updated bintray plugin as that was causing exceptions with gradle 2.4
add 018da93742 Added doc plugin. Updated spring dependency as per 3.0.2
add 76e6d1f2ec Removed JVM args added when facing issues
add 5f71301373 Merge pull request #11 from anshbansal/master
add 6ccfe0acab Removed gsp as they are not needed
add 877c581f74 Merge pull request #13 from anshbansal/patch-2
add 12625ac518 ignore .idea folder
add b1fbcbace1 Implement artefact handler in Groovy
add baa65217db Improve compile time job checking
add 05714ed6a6 auto publish docs
add 53ca936c0c update note about config
add fa34a31321 2.0.0.M5
add 1dc0bf6245 back to snapshot
add b61e29e490 Update README.md
add a5392ead26 Merge pull request #15 from anshbansal/patch-3
add d2a342c9ba Use Grails 3.0.3
add 26d0648e25 Use Grails 3.0.2
add a83f0b548f 2.0.0.RC1
add 7e5164c04d Version 2.0.0
add ebcb444205 quartz.autoStartup configuration will now be evaluated before executing any scheduler.
add c8c3115f7f println removed
add 81ac796a74 Merge pull request #18 from xardas008/master
add d53e99f5f9 Quick start
add dc716d834b Merge pull request #22 from magx2/master
add 684e6a0aaa Updated readme about branches
add 40e3b3d777 Removed WebAttributes from QuartzJob trait as it is not used, and not needed.
add c37993e41e Merge pull request #35 from sbglasius/master
add e22e23fedd remove unused import
add cdcb0385b3 update travis environment variables
add 89fb286632 2.0.1.BUILD-SNAPSHOT
add 06879d2e3b update email address
add 3f54345af4 update io.spring.dependency-management
add fc21884f45 added settings.gradle to change the project name to "quartz" instead of inferring it from the directory name
add 61028649b5 Updated .gitignore to ignore IDEA files
add 8126451d87 Add GrailsApplicationAware for easy access to grailsApplication in QuartzJob
add e3a33a4384 Merge pull request #38 from sbglasius/master
add d3d8edca2e Update to Grails 3.0.9
add 46c5c42778 Add urls for Bintray
add be29851c3d Release version 2.0.1
add 427120a2e1 Update README
add cf763e9cfc Start 2.0.2.BUILD-SNAPSHOT
add e17ccdc6b1 remove asset dependency
add b589e92c75 version 2.0.2
add 0840bc693b #40, #32, #37 also add disable plugin config ability too
add 992df37c47 #37 fix for pluginEnabled not reading config value properly
add 260b27ea89 #42
add 95ac9c20de #42 fix broken build and release 2.0.3
add cdceaad15d #42 debugging broken publish feature
add 86058d4cd5 #42 debugging broken publish feature
add 75b5c7e7ed #42 publish the new release
add 415fd7fb51 fix version number
add 55190d2964 Merge remote-tracking branch 'origin/master'
add 9dac39eff6 #44 allow table flush on startup when in jdbc mode
add c9e6fe1505 #46 missing config values cause failure defaulting plugin to disabled, extra check on SessionBinderListener that jdbcStore is turned on.
add f75756359f 2.0.6.BUILD-SNAPSHOT
add cbcb757e80 change authorEmail
add 8f6f39c568 Use @Slf4j
add 9ad495f656 Use @Slf4j
add e7177b00e9 Fix for work with RamStore
add 8561209394 Merge pull request #51 from AlexKovynev/patch-1
add 0ba9627c17 Update quartz to 2.2.2
add e443fc6444 Merge pull request #52 from AlexKovynev/patch-2
add 3ee8c5b6d4 fix navigatablemap issues for grails3 users
add f7589923a4 #50 fix jdbcStore issue in RamStore, fix NavigatableMap issues in Grails 3
add 8eba9f9b06 #42 debugging broken publish feature
add 518eea4f8e #42 debugging broken publish feature
add afa28ad713 fix snapshot ver for build snapshots
add 7bcede8d09 Correcting initialization of Jobs when autoStart == false. Fix for #59
add 2352c1afd2 Merge pull request #61 from anwbhv/master
add 0e2a909936 Load plugin after hibernate and services
add 2fb768e42e Start 2.0.8.BUILD-SNAPSHOT
add 605d68dfd4 Create plugin.yml
add 2c0ff83029 Merge pull request #63 from Schlogen/patch-1
add cc628f0ba5 #63 publish new version with default value change
add d77f6b310f #63 change default value for jdbcStore so RAMStore is used
add 6bf3595e2f #63 build deploy issues
add 6d83c7d2c2 Start 2.0.9.BUILD-SNAPSHOT
add e734777ef3 Reverse wrong connection to jdbcStore
add 9a6fad6fcd Merge pull request #69 from AlexKovynev/patch-3
add 4b4b0fbe68 #67 problem with RamStore and jdbc sessions with re-cycled worker threads
add bb47f1e443 2.0.10.BUILD-SNAPSHOT
add 984c99c58b email fix
add d52b3be546 hibernate3 and hibernate5 support
add 8acf276a91 Merge pull request #72 from kefirfromperm/master
add bee335dfba Resolves issue #71 , probably #75 and #34. Quartz was starting up too… (#86)
add b907c2c4f7 updating build to test against grails 3.2.4 , should probably go farther to 3.2.8 but something is up with bintray
add a69551a878 [CreateJob script] Ensured that if 'Job' already exists in the end of JobName, then remove it from jobName. (#45)
add 18fbdcb4f0 Merge branch 'master' of github.com:grails-plugins/grails-quartz
add 272a2103db gradle wrapper bumped to 3.3
add c6127dd449 bumping version for release
add 3c15d00240 version bump back to snapshot
add 74654bf10d bumping memory utilization limits
add 06f28410f0 more cleanup on bumping gradle and grails version dependencies to recent versions
add cc116220cd bumping memory limit some more
add 8b9d439a00 bumping openjdk test version
add 5d0890034c switching jdk test version
add 8d99ff5d6d build snapshot
add 39cdc2e3aa shutdown flag tweak in the event auto shutdown is not configured in config file
add 2e8ec9769b version bump for dev
add ae17ab59e9 adding onCHange events to monitor for job class changes and trigger changes in development mode, added jobEnabled toggle as well to JobClass, now removes jobs and triggers for job classes that no longer exist as well
add db22a8db45 snapshot bump
add 6d8ce4e867 use static property to handle update for grails 3.3.0
add 8aaa1c068f Merge pull request #93 from mamunsardar/master
add 5eb190ef6a Update README
add 38b96eed25 Merge pull request #94 from mamunsardar/patch-1
add a548d94239 Updating credentials
add cb0853d905 Bumping plugin verion for release, 2.0.13.BUILD-SNAPSHOT -> 2.0.13
add 68b8079830 Bumped to 2.0.14.BUILD-SNAPSHOT
add e0026f74ce Critical CVE for c3p0 and Seems Exclude pattern incorrect
add 7e6849f019 Bugfix
add 568acb9ed5 Revert "Bugfix"
add a726a84fea Fix change default value waitForJobsToCompleteOnShutdown
add 3b297a94e6 Only shutdown the quartz scheduler if the plugin is enabled
add 31b31321c7 Update .travis.yml to openjdk8
add d770c20527 fix(build)!: Upgrade to Grails 6
add 348397b868 chore(): Remove travis files
add f858ba4c68 fix(readme): Update readme
add 846c72cbbf chore(): Update links
add bbe2b3b7e7 fix(config): Remove autoStartup from plugin.yml
add 07c2d2e8d5 fix(build): Add Gradle settings
add f1d1b1c9b5 fix(ci): Set correct sonatype publish properties
add 730bb5c4b0 Merge pull request #125 from matrei/matrei/grails-6
add 1f784567e3 Refactoring of tests to be compatible with the spock framework (#126)
add 9c840c64a5 chore(readme): Use correct notation for note (#128)
add 5d46f8b8ce chore(deps): Remove unused test deps (#127)
add c8cd95bcf3 [skip ci] Release v3.0.0
add f34bc3904d chore: Bump version to 3.0.1-SNAPSHOT
add 8c7a021d8c Update to 4.0.0-SNAPSHOT for Grails 7
add 416eec0f9c upgrade to Java 17
add f3a79219fb upgrading spockframework to 2.4 for groovy 4
add 926b58262f Merge pull request #132 from arjangch/4.0.x
add 65798962db upgrade to java 17
add 61be103210 Merge pull request #133 from arjangch/4.0.x
add 2980080287 Update purgeTablesBean to dynamically resolve dataSource
add d94f638b87 Merge pull request #1 from jpdev01/purgetable-datasource
add 3ef2b9827e Merge pull request #134 from jpdev01/2.0.x
add e3e1157b88 Merge pull request #137 from grails/2.0.x
add df2c39abbb Merge pull request #138 from grails/3.0.x
add e2044ba090 Upgrade to Grails 7.0.0-snapshot (#136)
add 43914cd712 Fix NEXUS_PUBLISH_URL
add 9901ceb36b Switch to grails/github-actions
add 61d420bc96 Switch to grails/github-actions
add c703cb81cf Switch to grails/github-actions
add 487b9ebde3 [skip ci] pre-release 4.0.0-M1
add 3734f6848d [skip ci] Release v4.0.0-M1
add ae0ed77f43 chore: Bump version to 4.0.0-SNAPSHOT
add 2b38341a07 #139: loadQuartzProperties getProperty replaced with get (#140)
add 0a2f80455a [skip ci] Release v4.0.0-M2
add 9e5ab9f46e chore: Bump version to 4.0.0-SNAPSHOT
add a7894363ef Switch to grails/grails-github-actions/deploy-github-pages@main
add 978971c533 Merge pull request #142 from grails/switchGhPagesDeploy
add 9f4bbaabf7 fix: remove redundant files
add 18ef983f97 fix: switch to Slf4j logging
add 8c6a21432a fix: remove star import
add 9c0e9d2582 fix: update Gradle Wrapper to 8.13
add 9b96ee21e4 fix: update `.sdkmanrc` Java to `17.0.14-librca`
add 0ad2521e08 fix: rename project to `grails-quartz`
add 90fb3f23fb ci: update Develocity settings
add 3ae3924795 ci: remove renovate monorepos
add a522b4ac50 build: Apache artifact rename
add 9420361077 ci: set correct env var `GRAILS_PUBLISH_RELEASE`
add bf6e0798ca Merge pull request #143 from matrei/apache-coords-change
add 6f625fe78c build: switch develocity instance (#145)
add daa98e49e7 build: update develocity auth (#147)
add a93bc25be0 build: update build scan and cache settings
add 2e68e7b74a chore: add `HEADER` and `NOTICE` files
add 31b99949b3 build: update `buildSrc` repositories
add ae09caf1ad build: update `buildSrc` dependencies
add af354d34dc docs: convert docs from `gdoc` to `asciidoc`
add c9b58e4e32 chore: clean up `test-config.gradle`
add a07316f3f2 chore: add license headers
add d0d7bba73e chore: add Apache Release Audit Tool (rat)
add e0bf5f7fdd build: add configuration for reproducible builds
add 159a1da410 chore: cleanup `docs-config.gradle`
add 7dc1c8d480 chore: add verification scripts
add 399f8c5e95 chore: update Gradle wrapper to `8.14.2`
add 1cafc18e22 build: generate redirect file to guide
add 33cc1203e9 ci: update GitHub action workflows
add bca0920d9c build(feedback): add repository filters
add 36a47ec946 build(feedback): remove unnecessary rat exclude
add 779f54566c chore: update `.sdkmanrc`
add 311e0c3455 build(feedback): add `gradle-bootstrap`
add b662e3d72e ci: add `.asf.yaml`
add 50657fa766 chore: add `CODE_OF_CONDUCT.md` and `DISCLAIMER`
add df339d4c54 build: add a `skipTests` condition
add 9b568c5dde docs: add `Building from Source` section to `README`
add 3769b82c5a fix(deps): force Groovy to `4.0.27`
add f88238541a fix(deps): bump Grails to `7.0.0-M4`
add d3143c68e8 ci(feedback): add rat workflow
add e0840cb163 Merge pull request #148 from matrei/apache-release-prep
add da26b26cbe Issue-105 Fix broken link in README.md
add 7813b4c9b4 Merge pull request #150 from dauer/issue-105-fix-broken-link
add a0c537a93a feature: update to Grails 7.0.0-M5
add f1d0765dbe Merge pull request #152 from apache/grails7m5
add d7d7447409 ci: update release workflow to match upstream grails-core release process
add 544d55017a [skip ci] ci: add missing tasks since quartz is not structured like other plugins
add c8a58193ac [skip ci] chore: Make scripts executable
add da57bcc1e1 [skip ci] fix: key file location
add f99396cef9 [skip ci] chore: make Groovy script executable (#153)
add d5bcb8cef1 [skip ci] ci: add matrei as GitHub env reviewer (#154)
add 7014e91da8 [skip ci] fix: add workaround in `verify.sh` (#155)
add 3c60afe79c fix: `gradle-bootstrap` error (#156)
add 46dcbca492 [skip ci] Release v4.0.0-M3
add eade905780 [skip ci] Bump version to 4.0.0-SNAPSHOT
add 3dbea9f2c4 Merge pull request #157 from apache/merge-back-4.0.0-M3
add c1e70915a7 chore: update for grails publish move
add 0b479ee7f2 ci: add upload to release workflow
add a52989b173 feature: update to Grails 7.0.0-RC2
add d759570e3f chore: update release drafter for disclaimer
add bfc93dfbbc chore: update rat config
add 3c1a11a1ed ci: do not require approval to run the source step
add 88f8828acd ci: add commit hash to publish job
add 2eeea07f6c ci: add release abort workflow & update verification script to check svn artifacts
add 2d125842fe chore: adjust verification script to not error when no differences remain
add fc31b561a7 Update groovy_pmc.txt
add 0cd68b502a chore: add post release scripts
add b047aa2d4e [skip ci] Release v4.0.0-RC2
add 3c8f93ae7b [skip ci] Bump version to 4.0.0-SNAPSHOT
add de0db4a316 Merge pull request #159 from apache/merge-back-4.0.0-RC2
add 7879490e3b chore: correct name
add 8b6cfc96ff chore: grant access to actions in case there are pending changes
add 0de784ff2c chore: update announce.txt to have correct documentation link
add 1e343b2be0 chore: ensure the grails name is present
add a46768cdd0 chore: fix release notes & remove full change log
add 4647fe80ef Update simple.adoc
add 8925d290ff Merge pull request #160 from jeffscottbrown/patch-1
add ddbe0d72d9 chore: Removed traces of incubation, DISCLAIMER and PPMC
add 1b2d871cad Missed checking for now non-existent DISCLAIMER
add 661dcad7e7 Merge pull request #163 from apache/chore/issue_161
add ac6fabccd6 Change dependencies to compileOnly so they are not in POM or Gradle Module
add 07a9dd7239 Update Gradle wrapper to 8.14.3
add 8ad85f882f Update Gradle version to 8.14.3 in .sdkmanrc
add 6b0431c3ec Refactor dependencies in build.gradle
add 52126c455e Refactor quartz dependencies to use Grails BOM platform
add 237ab98c1f Merge pull request #162 from apache/adjust-published-dependencies
add b594a92524 [skip ci] Add new users to .asf.yaml configuration
add b175c097c9 [skip ci] update release workflow
add e78e949199 fix: release prep
add c793de4a40 [skip ci] fix realease.yaml
add ab6c5e5c88 ci: fix release.yaml
add 6397c21888 [skip ci] fix release.yaml
add 7e7a8f5ad8 [skip ci] Release v4.0.0
add bd5de93765 [skip ci] Bump version to 4.0.1-SNAPSHOT
add 5eb4ad6699 Merge pull request #165 from apache/merge-back-4.0.0
add dbc6f6d00f [skip ci] post 4.0.0 release adjustments
add cbe1bb0e63 [skip ci] more post 4.0.0 release adjustments
add 00c388b0f6 [skip ci] more post 4.0.0 release adjustments
add 21c9d07e3f Update develocity server URL to Apache
add 292fd32200 Merge pull request #168 from apache/develocity-apache-org
add bbbac7fcb7 Update project jdk to 17.0.17, update to Grails 7.0.7, & Gradle 8.14.4
add 0a0fd9166b Merge pull request #169 from apache/grails7-refresh
add ad8513895a [skip ci] Release v4.0.1
add 1337c608d1 [skip ci] Bump version to 4.0.2-SNAPSHOT
add dc99a06dfe Merge pull request #170 from apache/merge-back-4.0.1
add 69e88a20cf Pin GitHub Actions to Apache-approved commit hashes
add b6f4f7b38a Merge pull request #171 from apache/pin-workflow-actions-to-approved-hashes
add b6698fa203 ci: audit and update GitHub Actions to ASF-approved versions
add 0b5c992a42 ci: tolerate release-drafter create-release failure on pull_request runs
add 8b138afcad Merge pull request #173 from apache/ci/setup-gradle-v6-basic-cache
add 5265137acd Initial import of Grails Quartz Repository
add f4e088d879 Quartz Merge - Initial Moves
add 79704bb1cd Quartz Merge - Integrate Build
add 8d00a7cb91 Quartz Merge - Integrate Docs
add afd9950316 Quartz Merge - Reformat code that mismatches our code style
add 1560376969 Quartz Merge - Ignore reformat code commit
add 670bd78779 Quartz Merge - Declare the spring-context-support runtime dependency
add 59a0151f86 Quartz Merge - Add a Background Jobs guide chapter
add 5e142ae30d Quartz Merge - Nest Quartz under Background Jobs as Clustered Scheduling
add 2f71204fc4 Quartz Merge - Rename Clustered Scheduling to Advanced Scheduling
add cc6ac94626 Ensure plugins are scanned for vulnerabilities
add 8750284f57 Vulnerability updates
add b83b7262dd feedback - clean up plugins to match previous votes & fix various issues with Quartz
add 2eeb59624f fix - load after hibernate
add 2406b48d89 test - add timezone spec per previous issue
add 133425cd4e docs - clarify session state
add d72d636b32 document how to run code on every job
add 5758fc035b document trigger name pitfalls
add 612cc0db58 Merge pull request #16185 from jdaugherty/importQuartz
add b7289b624b Merge branch '7.0.x' into 7.1.x
add e5626547ad Update dependencies
add a2609b50ee Merge branch '7.0.x' into 7.1.x
add c8d4217c7b Merge branch '7.1.x' into 7.2.x
add 1876ee2682 Merge branch '7.2.x' into 8.0.x
add fa68e5eb7f Prevent null intervals
add 5591c70e9f Do not error if a quartz trigger is being scheduled in the past
add 8d373c178c Document / add work around for long running jobs
add 2893699c9f quartz - Jobs now carry the name of the application that registered them, and the cleanup sweep only considers those.
add 2ff37a87ad add missing rat excludes
add ae38d9bc7e Leave a raw collection's elements alone rather than binding them into Object
add 17d24ee73d Cover the neighbouring raw collection shapes
add 1829d42ffa Ask the collection branch the question its siblings already ask
add a4c7442d4e Keep only tests that change state across the fix
add 3cb9462e0f Stop the embedded MongoDB once
add 8535e13eba Serve the transaction specifications from an embedded replica set
add 63982e5565 Share the embedded replica set with the spring-data specifications
add 663a2ac1da Cache the mongod the embedded MongoDB runs
add 9aed751d37 Give the tests the MongoDB version the build asks for
add bcb40ed347 Run the embedded specifications against the server the suite asks for
add 700f66086e Wait for the login to land before reading the page
add a279ba5e89 Wait on the url the login left rather than the title it had
add 643e8e80ec Unbind the web request even when its request is gone
add 7e03a872d8 Let a request that is finishing finish
add 18250f3d3e Record why the refusal is caught rather than anticipated
add 7fdb57600c Close the mongod whose replica set never formed
add f673d17c43 Give a reloaded application a server it can use
add 2a70426566 Document the replica set an embedded server can be
add 59d78b298e Drop the author tag from the replica set initiator
add 8c63e301fa Ask for the MongoDB version where MongoDB tests are configured
add e6fa4eb973 Drop the author tag from the rest of the embedded MongoDB module
add c2e1fe5f02 Refuse a replica set the in-memory backend cannot be
add c0810cbb1b Publish a url for a server that is listening
add 4ec3de684f Let go of the server only once it is down
add 3cf4596cf0 Clean up after a restart the way a start does
add 712d0126ea Read a setting written as empty as the setting it is
add e8117a7add Stop every embedded server from one shutdown hook
add 33d45408b2 Stop the server the specifications share
add 68f46e94f4 Leave the root build as it was found
add 1ba713a286 Say what a version change does to a kept database
add 36517b1a63 Leave the request as it was found when the container refuses
add aae115773c Replace a running server rather than return from a restart, and retry a lost port
add d20c006b50 Tear down through the paths that were fixed under it
add bf177eae1d Say something in the two catch blocks that said nothing
add 8dca5f2fd9 Stop the servers the specification starts
add ab953715a9 Merge branch '8.0.x' into fix/embedded-mongo-replica-set
add e457e60bdc Document and test the GSP compileStatic configuration
add 8da070f87f Type the names a statically compiled page never declares
add 7afd382a6c Let an artefact type be held back from the compileStatic all shortcut
add 197408ae16 Add a build option for compiling pages statically
add 0b090a557b Type a page's parameters as TypeConvertingMap rather than Map
add 9843b9ef39 Let a page read a name it introduced with a tag
add bc8b9c847f Read a page the way it asks to be read
add b0ca3f3ce7 Let a build ask that every page declare what it reads
add 1df3458207 Report an operator on a value of no known type
add 8596515dd9 Hold back only the receivers of operators written into the class
add 0609f8fc64 Make the welcome page of a new application compile statically
add 61618252e5 Declare the framework supplied names on the page rather than its base class
add f719515a07 Document the names a page is given, now that all but two carry their types
add 43dcdc488b Cast a primitive g:def through its wrapper
add a794e2ac51 Let the set tag be given a type
add e823ab9568 Use the tag that fits: def for a page-local value, set for a scoped one
add a54943de1e Show an undeclared name rather than a misspelled one in the model example
add 7ec07a2bf7 Merge branch '8.0.x' of https://github.com/apache/grails-core into feature/gsp-compile-static-8.0.x
add 244b48f249 Read the Spring Security version from the class the page already resolved
add 7b3d21a772 Merge branch '8.0.x' of https://github.com/apache/grails-core into feature/gsp-compile-static-8.0.x
add a8e9fb6124 Merge branch '8.0.x' into feature/gsp-compile-static-8.0.x
add 86c4f060ef Merge branch 'feature/gsp-compile-static-8.0.x' of https://github.com/codeconsole/grails-core into feature/gsp-compile-static-8.0.x
add 1f63d1a784 Fix three things sbglasius found in the page compiler
add 76ddc20e75 Merge branch '8.0.x' of https://github.com/apache/grails-core into feature/gsp-compile-static-8.0.x
add de86958b81 Merge branch '8.0.x' into feature/gsp-compile-static-8.0.x
add 58cdf3efe2 Merge branch 'feature/gsp-compile-static-8.0.x' of https://github.com/codeconsole/grails-core into feature/gsp-compile-static-8.0.x
add 32d19da2a2 Add an application whose pages are compiled statically
add 7a5df8ab1f Give a typed g:set a scope rather than a page-wide name
add 5a4fab66a2 Put a licence header on the files the new application added
add 16c7624c3a Convert a typed value rather than require it to already be the type
add 9572cf6590 Document the type attribute and correct two statements about the default
add 5c45f23a8b Read the classes the forked page compiler wrote
add 84b7ee5088 Merge branch '8.0.x' of https://github.com/apache/grails-core into feature/gsp-compile-static-8.0.x
add 914126c550 Merge branch '8.0.x' into feature/gsp-compile-static-8.0.x
add e84b48d3a8 Merge feature/gsp-compile-static-8.0.x, restoring what its merge dropped
add 05e11cc352 Report every operator the class writer emits, and stop re-escaping a value
add c74ae38ce0 List the page compilation settings in the configuration reference
add c204890b74 Cover the two names this branch newly binds
add 68c3ac0633 Merge 8.0.x, which now carries #16134
add e2fb44a121 Merge 8.0.x
add 7878b7276c Expand scaffolded views at build time again
add a0813f495f Read the domain a controller scaffolds from the domain attribute
add 9aea473ce6 Leave a shared view directory to be expanded per request
add a8c241a7e8 Give the scaffolding example a controller whose views can be precompiled
add 837d3f72ab Merge branch '8.0.x' into feature/gsp-compile-static-8.0.x
add 6684431d8c Merge pull request #16139 from codeconsole/feature/gsp-compile-static-8.0.x
add 2c00340ac3 Merge branch '8.0.x' into fix/embedded-mongo-replica-set
add e40cb27b0c Merge pull request #16192 from codeconsole/fix/embedded-mongo-replica-set
add cf5c82d031 Merge branch '8.0.x' into fix/databinding-raw-collection-8.0.x
add f4088648f0 Declare the type of the list being bound
add 27b6097489 Merge pull request #16209 from codeconsole/fix/databinding-raw-collection-8.0.x
add 608b8ea0a8 Do not open a transaction for scaffold service reads
add df305a1131 Merge pull request #16212 from codeconsole/fix/gorm-service-readonly-8.0.x
add e8f568d8f4 Revert the async changes from #16192
add 49cbe1d312 Cache the mongod apart from the dependency jars
add 592b38f676 Run the joint workflow against one MongoDB
add 1d843ecba7 Run the isolated tests in the uber suite
add d9d9d64e0a Run the isolated tests in the web suite
add 49b0bc97a8 Unbind the thread even when the request cannot be reached
add 2be110a4ed Reuse the active web request during async dispatch
add bc41fa9274 Require a cycle the decorator started to still be running
add 318b1b6dc4 test: some test cleanup for readability
add cd1988f233 Merge pull request #16228 from apache/revert/16192-async-changes-test-cleanup
add c985acb1ab Merge pull request #16223 from apache/revert/16192-async-changes
add ae7f59f834 Bump actions/cache from 4 to 6
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 (81cade5208)
\
N -- N -- N refs/heads/dependabot/github_actions/actions/cache-6 (ae7f59f834)
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:
.git-blame-ignore-revs | 2 +
.github/scripts/ossIndexReport.sh | 94 ++
.github/scripts/postStickyComment.sh | 60 +
.github/workflows/benchmark.yml | 394 ++++++
.github/workflows/codeql.yml | 4 +-
.github/workflows/end-to-end.yml | 2 +-
.github/workflows/gradle.yml | 96 +-
.github/workflows/groovy-joint-workflow.yml | 38 +-
.github/workflows/release-publish-docs.yml | 2 +-
.github/workflows/release.yml | 12 +-
.github/workflows/vulnerability-scan.yml | 165 ++-
.gitignore | 1 +
.sdkmanrc | 2 +-
DEVELOPMENT.md | 2 +
RENAME.md | 3 +
.../GrailsDependencyValidatorPlugin.groovy | 2 +-
.../apache/grails/buildsrc/PublishPlugin.groovy | 1 +
.../org/apache/grails/buildsrc/SbomPlugin.groovy | 30 +-
.../grails/buildsrc/VulnerabilityScanPlugin.groovy | 17 +-
.../GrailsDependencyValidatorPluginSpec.groovy | 26 +
build.gradle | 54 +-
dependencies.gradle | 213 ++-
end-to-end/README.md | 1 +
end-to-end/settings.gradle | 4 +
.../spring-dependency-management/build.gradle | 15 +-
end-to-end/taglib-index-incremental/build.gradle | 54 +
.../taglib/TagLibraryIndexIncrementalSpec.groovy | 241 ++++
etc/bin/Dockerfile | 2 +-
etc/bin/rename_gradle_artifacts.sh | 6 +
etc/bin/test-bisect.groovy | 57 +-
gradle.properties | 3 +
gradle/functional-test-config.gradle | 18 +-
gradle/grails-data-tck-config.gradle | 8 +
gradle/hibernate5-test-config.gradle | 24 +-
gradle/hibernate7-test-config.gradle | 24 +-
gradle/mongodb-forked-test-config.gradle | 21 +-
gradle/mongodb-test-config.gradle | 17 +-
gradle/publish-root-config.gradle | 7 +
gradle/rat-root-config.gradle | 9 +-
gradle/redis-test-config.gradle | 4 +-
gradle/spring-security-test-config.gradle | 4 +-
gradle/test-config.gradle | 37 +-
grails-async/plugin/build.gradle | 4 +-
.../async/AsyncWebRequestPromiseDecorator.groovy | 49 +-
.../grails/async/services/WebPromisesSpec.groovy | 78 +-
...equestPromiseDecoratorLookupStrategySpec.groovy | 102 ++
.../AsyncWebRequestPromiseDecoratorSpec.groovy | 117 ++
grails-beans-dsl/build.gradle | 2 +
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 | 15 +-
.../urlmappings/UrlMappingsFixture.groovy | 41 +
.../benchmarks/views/ViewTemplateFixture.groovy | 54 +-
.../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-bom/base/build.gradle | 6 -
grails-bom/hibernate5-micronaut/build.gradle | 3 -
grails-bom/hibernate5/build.gradle | 3 -
grails-bom/hibernate7-micronaut/build.gradle | 3 -
grails-bom/hibernate7/build.gradle | 3 -
grails-bom/micronaut/build.gradle | 3 -
grails-bom/{hibernate7 => neo4j}/build.gradle | 9 +-
grails-cache/build.gradle | 6 +
.../grails/plugin/cache/CacheGrailsPlugin.groovy | 2 +-
grails-codecs/build.gradle | 1 +
.../grails/common/aot/AheadOfTimeProcessing.java | 54 +
.../apache/grails/common/aot/RegistrableTypes.java | 251 ++++
.../common/compiler/GroovyTransformOrder.groovy | 7 +
.../grails/common/aot/RegistrableTypesSpec.groovy | 194 +++
grails-console/build.gradle | 2 +
grails-controllers/build.gradle | 1 +
.../main/groovy/grails/artefact/Controller.groovy | 8 +-
.../controllers/aot/ControllerRuntimeHints.java | 92 ++
.../compiler/web/ControllerActionTransformer.java | 102 +-
.../main/resources/META-INF/spring/aot.factories | 2 +
.../aot/ControllerRuntimeHintsSpec.groovy | 84 ++
grails-converters/build.gradle | 1 +
grails-core-cli-legacy/build.gradle | 2 +
grails-core/build.gradle | 2 +
.../main/groovy/grails/boot/GrailsBanner.groovy | 446 +++++-
.../config/GrailsApplicationPostProcessor.groovy | 55 +-
.../boot/config/GrailsAutoConfiguration.groovy | 44 +
.../src/main/groovy/grails/config/Settings.groovy | 24 +-
.../aot/AbstractBeanDefinitionExcludeFilter.java | 48 +
...assesBeanFactoryInitializationAotProcessor.java | 155 +++
.../AutowireModeBeanRegistrationAotProcessor.java | 92 ++
.../grails/core/aot/BeanRegistrarRuntimeHints.java | 73 +
.../grails/core/aot/GrailsApiRuntimeHints.java | 90 ++
.../grails/core/aot/GrailsBannerRuntimeHints.java | 70 +
.../grails/core/aot/GrailsClosureRuntimeHints.java | 156 +++
.../core/aot/GrailsResourceRuntimeHints.java | 99 ++
.../aot/GroovyExtensionModuleRuntimeHints.java | 152 +++
.../aot/VarargsBeanRegistrationAotProcessor.java | 193 +++
.../TagLibraryInvokerTypeCheckingExtension.groovy | 7 +
.../org/grails/plugins/CoreGrailsPlugin.groovy | 59 +-
.../AbstractResourceLocatorPostProcessor.java | 18 +-
.../PluginAwareResourceBundleMessageSource.java | 308 -----
.../ReloadableResourceBundleMessageSource.java | 735 ----------
.../additional-spring-configuration-metadata.json | 76 +-
.../grails-core/native-image.properties | 30 +
.../META-INF/spring-configuration-metadata.json | 12 -
.../main/resources/META-INF/spring/aot.factories | 17 +
.../grails/boot/GrailsBannerColourSpec.groovy | 156 +++
.../grails/boot/GrailsBannerNativeMarkSpec.groovy | 225 +++
.../boot/GrailsBannerVersionLookupSpec.groovy | 226 +++
...icationPostProcessorAnnotationConfigSpec.groovy | 98 ++
.../GrailsAutoConfigurationArtefactsSpec.groovy | 79 ++
.../grails/util/ActiveProcessorCountForkTests.java | 58 +
.../grails/util/GrailsUtilStackFiltererSpec.groovy | 10 +-
.../GrailsBootstrapRegistryInitializerSpec.groovy | 6 +-
.../AbstractBeanDefinitionExcludeFilterSpec.groovy | 79 ++
...eanFactoryInitializationAotProcessorSpec.groovy | 163 +++
...wireModeBeanRegistrationAotProcessorSpec.groovy | 70 +
.../core/aot/BeanRegistrarRuntimeHintsSpec.groovy | 85 ++
.../core/aot/GrailsApiRuntimeHintsSpec.groovy | 88 ++
.../core/aot/GrailsBannerRuntimeHintsSpec.groovy | 79 ++
.../core/aot/GrailsClosureRuntimeHintsSpec.groovy | 101 ++
.../core/aot/GrailsResourceRuntimeHintsSpec.groovy | 100 ++
.../GroovyExtensionModuleRuntimeHintsSpec.groovy | 115 ++
.../VarargsBeanRegistrationAotProcessorSpec.groovy | 162 +++
.../grails/plugins/CoreGrailsPluginAotSpec.groovy | 186 +++
...AbstractResourceLocatorPostProcessorSpec.groovy | 109 ++
.../context/ResourceBundleMessageSourceSpec.groovy | 67 -
.../grails/boot/version-in-a-resource.properties | 5 +
.../org/grails/gorm/graphql/SchemaSpec.groovy | 6 +-
.../HibernatePersistentGraphQLPropertySpec.groovy | 18 +-
.../manager/GraphQLDataFetcherManagerSpec.groovy | 5 +-
.../EmbeddedInputObjectTypeBuilderSpec.groovy | 2 +-
grails-data-graphql/plugin/build.gradle | 4 +
grails-data-hibernate5/core/build.gradle | 3 +
.../orm/hibernate/HibernateGormApiFactory.groovy | 77 ++
.../orm/hibernate/HibernateGormEnhancer.groovy | 5 +-
.../orm/hibernate/HibernateGormStaticApi.groovy | 7 +-
.../org/grails/orm/hibernate/HibernateSession.java | 78 +-
.../hibernate/cfg/HibernateMappingBuilder.groovy | 6 +-
.../orm/hibernate/cfg/HibernateMappingContext.java | 1 +
.../compiler/HibernateEntityTransformation.groovy | 5 +-
.../core/GrailsDataHibernate5TckManager.groovy | 17 +-
.../tck/base/GrailsDataTckManagerSpec.groovy | 70 +
.../datastore/gorm/GormEnhancerCleanupSpec.groovy | 61 +-
.../cfg/HibernateMappingContextSpec.groovy | 84 +-
.../DatabaseMultiTenantServiceRoutingSpec.groovy | 117 ++
.../connections/GormApiAllocationSpec.groovy | 26 +-
.../MultiTenantFinderDispatchSpec.groovy | 104 ++
grails-data-hibernate5/dbmigration/build.gradle | 1 +
.../DatabaseMigrationGrailsPlugin.groovy | 2 +-
...ationContextDatabaseMigrationCommandSpec.groovy | 9 +
grails-data-hibernate5/grails-plugin/build.gradle | 4 +
.../HibernateDatastoreSpringInitializer.groovy | 10 +-
.../plugin/hibernate/HibernateGrailsPlugin.groovy | 4 +-
grails-data-hibernate7/core/build.gradle | 2 +
.../orm/hibernate/HibernateGormApiFactory.groovy | 77 ++
.../orm/hibernate/HibernateGormEnhancer.groovy | 5 +-
.../orm/hibernate/HibernateGormStaticApi.groovy | 24 +-
.../org/grails/orm/hibernate/HibernateSession.java | 87 +-
.../orm/hibernate/cfg/HibernateMappingContext.java | 1 +
.../cfg/domainbinding/binder/ColumnBinder.java | 8 +-
.../cfg/domainbinding/binder/EnumTypeBinder.java | 59 +-
.../domainbinding/binder/GrailsPropertyBinder.java | 6 +-
.../binder/NumericColumnConstraintsBinder.java | 36 +-
.../cfg/domainbinding/binder/PropertyBinder.java | 8 +-
.../domainbinding/binder/SimpleValueBinder.java | 5 +-
.../binder/StringColumnConstraintsBinder.java | 20 +-
.../hibernate/HibernateBasicEnumProperty.java | 80 ++
.../hibernate/HibernateEnumProperty.java | 47 +-
.../hibernate/HibernateMappingFactory.groovy | 7 +-
.../hibernate/HibernateToManyProperty.java | 45 +-
.../secondpass/BasicCollectionElementBinder.java | 9 +-
.../domainbinding/util/CascadeBehaviorFetcher.java | 25 +-
.../cfg/domainbinding/util/GrailsEnumType.java | 40 +-
.../domainbinding/util/TableForManyCalculator.java | 5 +-
.../compiler/HibernateEntityTransformation.groovy | 5 +-
.../grails/orm/hibernate/query/HibernateQuery.java | 24 +
...rnateDatastoreConnectionSourcesRegistrar.groovy | 7 +-
.../grails/gorm/tests/EnumHasManyDdlSpec.groovy | 248 ++++
.../gorm/tests/HibernateMappingFactorySpec.groovy | 7 +-
.../tests/hibernatequery/HibernateQuerySpec.groovy | 41 +
.../datastore/gorm/GormEnhancerCleanupSpec.groovy | 63 +-
.../GormNumericTypeColumnIntegrationSpec.groovy | 101 ++
.../GormNumericTypeColumnPrecisionSpec.groovy | 108 ++
.../GormTextTypeColumnIntegrationSpec.groovy | 105 ++
.../hibernate/GormTextTypeColumnLengthSpec.groovy | 99 ++
.../hibernate/HibernateGormInstanceApiSpec.groovy | 10 +-
.../hibernate/HibernateGormStaticApiSpec.groovy | 3 +-
.../HibernateGormValidationApiSpec.groovy | 5 +-
.../hibernate/SchemaTenantGormEnhancerSpec.groovy | 2 -
.../cfg/GrailsHibernatePersistentEntitySpec.groovy | 3 +
.../cfg/HibernateMappingContextSpec.groovy | 106 +-
.../cfg/domainbinding/ColumnBinderSpec.groovy | 36 +-
.../cfg/domainbinding/EnumTypeBinderSpec.groovy | 52 +-
.../GrailsIdentityGeneratorSpec.groovy | 7 +
.../domainbinding/GrailsPropertyBinderSpec.groovy | 68 +
.../NumericColumnConstraintsBinderSpec.groovy | 85 +-
.../cfg/domainbinding/PropertyBinderSpec.groovy | 28 +-
.../cfg/domainbinding/SimpleValueBinderSpec.groovy | 70 +-
.../StringColumnConstraintsBinderSpec.groovy | 78 +-
.../TableForManyCalculatorSpec.groovy | 25 +
.../hibernate/HibernateBasicPropertySpec.groovy | 40 +-
.../hibernate/HibernateToManyPropertySpec.groovy | 4 +-
.../BasicCollectionElementBinderSpec.groovy | 11 +-
.../connections/GormApiAllocationSpec.groovy | 26 +-
...eDatastoreConnectionSourcesRegistrarSpec.groovy | 20 +-
grails-data-hibernate7/dbmigration/build.gradle | 1 +
...ationContextDatabaseMigrationCommandSpec.groovy | 4 +
grails-data-hibernate7/grails-plugin/build.gradle | 5 +
.../HibernateDatastoreSpringInitializer.groovy | 10 +-
grails-data-mongodb/boot-plugin/build.gradle | 5 +-
grails-data-mongodb/core/build.gradle | 12 +-
.../MongoDbDataStoreSpringInitializer.groovy | 29 +-
.../gorm/mongo/MongoGormApiFactory.groovy | 47 +
.../datastore/gorm/mongo/MongoGormEnhancer.groovy | 6 +
.../datastore/gorm/mongo/api/MongoStaticApi.groovy | 19 +-
.../datastore/mapping/mongo/MongoDatastore.java | 80 +-
...toreSpringInitializerBeanDefinitionsSpec.groovy | 85 ++
.../gorm/mongo/DisjunctionQuerySpec.groovy | 2 +
.../gorm/mongo/api/MongoStaticApiSpec.groovy | 55 +
.../gorm/mongo/connections/MultiTenancySpec.groovy | 14 +-
.../connections/SchemaBasedMultiTenancySpec.groovy | 14 +-
.../MongoTransactionDisabledSpec.groovy | 11 +-
.../mongo/transactions/MongoTransactionSpec.groovy | 11 +-
.../mongo/MongoDatastoreLifecycleSpec.groovy | 187 +++
.../mongo/config/MongoMappingContextSpec.groovy | 89 ++
.../asciidoc/gettingStarted/embeddedMongo.adoc | 223 +++
.../docs/src/docs/asciidoc/index.adoc | 3 +
grails-data-mongodb/embedded/build.gradle | 87 ++
.../mongodb/embedded/EmbeddedMongoBackend.java | 58 +
.../mongodb/embedded/EmbeddedMongoInitializer.java | 445 ++++++
.../mongodb/embedded/EmbeddedMongoLifecycle.java | 85 ++
.../mongodb/embedded/EmbeddedMongoSettings.java | 132 ++
.../mongodb/embedded/FlapdoodleMongoBackend.java | 277 ++++
.../mongodb/embedded/InMemoryMongoBackend.java | 150 ++
.../gorm/mongodb/embedded/ReplicaSetInitiator.java | 115 ++
.../mongodb/embedded/RunningEmbeddedMongo.java | 65 +
.../src/main/resources/META-INF/spring.factories | 2 +
.../embedded/EmbeddedMongoInitializerSpec.groovy | 604 ++++++++
.../embedded/EmbeddedMongoLifecycleSpec.groovy | 325 +++++
.../embedded/EmbeddedMongoReplicaSetSpec.groovy | 135 ++
.../embedded/EmbeddedMongoSettingsSpec.groovy | 70 +
grails-data-mongodb/ext/build.gradle | 1 +
grails-data-mongodb/grails-plugin/build.gradle | 2 +
.../plugins/mongodb/MongodbGrailsPlugin.groovy | 2 +-
grails-data-mongodb/spring-data/build.gradle | 9 +-
.../springdata/UnifiedMongoTransactionSpec.groovy | 11 +-
.../GormSpringDataSessionSupportSpec.groovy | 11 +-
grails-data-neo4j/README.md | 25 +-
grails-data-neo4j/boot-plugin/build.gradle | 60 +-
.../autoconfigure/Neo4jAutoConfiguration.groovy | 16 +-
.../Neo4jAutoConfigurationSpec.groovy | 17 +-
grails-data-neo4j/build.gradle | 374 -----
grails-data-neo4j/core/build.gradle | 97 ++
.../src/main/groovy/grails/neo4j/Direction.groovy | 3 +-
.../main/groovy/grails/neo4j/Neo4jEntity.groovy | 33 +-
.../src/main/groovy/grails/neo4j/Node.groovy | 4 +-
.../src/main/groovy/grails/neo4j/Path.groovy | 4 +-
.../main/groovy/grails/neo4j/Relationship.groovy | 26 +-
.../grails/neo4j/mapping/MappingBuilder.groovy | 9 +-
.../groovy/grails/neo4j/services/Cypher.groovy | 3 +-
.../grails/datastore/gorm/neo4j/CypherBuilder.java | 118 +-
.../datastore/gorm/neo4j/GraphClassMapping.groovy | 5 +-
.../gorm/neo4j/GraphGormMappingFactory.groovy | 39 +-
.../gorm/neo4j/GraphPersistentEntity.groovy | 156 +--
.../grails/datastore/gorm/neo4j/IdGenerator.java | 11 +-
.../datastore/gorm/neo4j/Neo4jDatastore.java | 277 ++--
.../neo4j/Neo4jDatastoreTransactionManager.java | 15 +-
.../gorm/neo4j/Neo4jEntityTraitProvider.groovy | 7 +-
.../gorm/neo4j/Neo4jGormApiFactory.groovy | 49 +
.../datastore/gorm/neo4j/Neo4jMappingContext.java | 132 +-
.../grails/datastore/gorm/neo4j/Neo4jSession.java | 213 +--
.../datastore/gorm/neo4j/Neo4jTransaction.groovy | 25 +-
.../gorm/neo4j/RelationshipPersistentEntity.groovy | 65 +-
.../datastore/gorm/neo4j/RelationshipUtils.groovy | 52 +-
.../datastore/gorm/neo4j/SessionFlushedEvent.java | 3 +-
.../datastore/gorm/neo4j/TypeDirectionPair.java | 19 +-
.../gorm/neo4j/api/Neo4jGormStaticApi.groovy | 208 +--
.../gorm/neo4j/collection/GraphAdapter.groovy | 45 +-
.../collection/Neo4jAssociationResultList.groovy | 6 +-
.../gorm/neo4j/collection/Neo4jList.groovy | 20 +-
.../gorm/neo4j/collection/Neo4jPath.groovy | 56 +-
.../neo4j/collection/Neo4jPersistentList.groovy | 15 +-
.../neo4j/collection/Neo4jPersistentSet.groovy | 24 +-
.../collection/Neo4jPersistentSortedSet.groovy | 19 +-
.../gorm/neo4j/collection/Neo4jRelationship.groovy | 5 +-
.../gorm/neo4j/collection/Neo4jResultList.groovy | 63 +-
.../gorm/neo4j/collection/Neo4jSet.groovy | 21 +-
.../gorm/neo4j/collection/Neo4jSortedSet.groovy | 20 +-
.../neo4j/config/Neo4jDriverConfigBuilder.groovy | 22 +-
.../datastore/gorm/neo4j/config/Settings.java | 3 +-
.../connections/Neo4jConnectionSourceFactory.java | 66 +-
.../Neo4jConnectionSourceSettings.groovy | 3 +-
.../Neo4jConnectionSourceSettingsBuilder.groovy | 4 +-
.../connections/Neo4jEmbeddedConnectionSource.java | 6 +-
.../neo4j/engine/DynamicAssociationSupport.java | 57 +-
.../engine/Neo4jAssociationQueryExecutor.groovy | 140 +-
.../gorm/neo4j/engine/Neo4jEntityPersister.java | 557 ++++----
.../Neo4jModificationTrackingEntityAccess.groovy | 1 +
.../datastore/gorm/neo4j/engine/Neo4jQuery.groovy | 969 +++++++++++++
.../neo4j/engine/RelationshipPendingDelete.java | 37 +-
.../neo4j/engine/RelationshipPendingInsert.java | 105 +-
.../gorm/neo4j/extensions/Neo4jExtensions.groovy | 73 +-
.../gorm/neo4j/identity/SnowflakeIdGenerator.java | 21 +-
.../gorm/neo4j/mapping/config/Attribute.groovy | 3 +-
.../neo4j/mapping/config/DynamicAssociation.java | 1 +
.../mapping/config/DynamicToManyAssociation.java | 2 +-
.../mapping/config/DynamicToOneAssociation.java | 5 +-
.../gorm/neo4j/mapping/config/NodeConfig.groovy | 5 +-
.../neo4j/mapping/config/RelationshipConfig.groovy | 4 +-
.../neo4j/mapping/reflect/Neo4jNameUtils.groovy | 8 +-
.../datastore/gorm/neo4j/parsers/PlingStemmer.java | 966 +++++++++++++
.../proxy/HashcodeEqualsAwareProxyFactory.java | 118 ++
.../proxy/Neo4jAssociationQueryProxyHandler.java | 5 +-
.../gorm/neo4j/proxy/Neo4jProxyFactory.java | 5 +-
.../FindAllCypherQueryImplementer.groovy | 10 +-
.../FindOneCypherQueryImplementer.groovy | 11 +-
.../FindPathCypherQueryImplementer.groovy | 11 +-
.../FindShortestPathImplementer.groovy | 26 +-
.../StatementResultCypherQueryImplementer.groovy | 10 +-
.../UpdateCypherQueryImplementer.groovy | 28 +-
.../transform/CypherQueryStringTransformer.groovy | 9 +-
.../gorm/neo4j/util/EmbeddedNeo4jServer.java | 55 +-
.../datastore/gorm/neo4j/util/IteratorUtil.java | 7 +-
.../org.codehaus.groovy.runtime.ExtensionModule | 0
...rg.grails.compiler.gorm.GormEntityTraitProvider | 0
...ails.datastore.gorm.services.ServiceImplementer | 0
.../groovy/grails/gorm/tests/AssignedIdSpec.groovy | 0
.../grails/gorm/tests/CascadingDeleteSpec.groovy | 17 +-
.../CustomLabelWithDynamicAssociationSpec.groovy | 12 +-
.../grails/gorm/tests/CypherQueryStringSpec.groovy | 16 +-
.../grails/gorm/tests/EagerFetchingSpec.groovy | 24 +-
.../grails/gorm/tests/EntityParseSpec.groovy | 0
.../grails/gorm/tests/FindByIsNullSpec.groovy | 11 +-
.../grails/gorm/tests/GroovyProxySpec.groovy | 22 +-
.../gorm/tests/HasManyInheritanceSpec.groovy | 0
.../grails/gorm/tests/InheritanceProxySpec.groovy | 14 +-
.../grails/gorm/tests/JavaxValidationSpec.groovy | 11 +-
.../grails/gorm/tests/JoinCriteriaSpec.groovy | 11 +-
.../grails/gorm/tests/LabelStrategySpec.groovy | 13 +-
.../groovy/grails/gorm/tests/LikeQuerySpec.groovy | 20 +-
.../grails/gorm/tests/ManyToManyQuerySpec.groovy | 9 +-
.../groovy/grails/gorm/tests/ManyToManySpec.groovy | 61 +-
.../grails/gorm/tests/MapPropertySpec.groovy | 9 +-
.../grails/gorm/tests/MarkDirtyFalseSpec.groovy | 27 +-
.../test/groovy/grails/gorm/tests/MiscSpec.groovy | 92 +-
.../gorm/tests/MultipleConnectionsSpec.groovy | 9 +-
.../gorm/tests/NativeIdentityGeneratorSpec.groovy | 15 +-
.../grails/gorm/tests/Neo4jNameUtilsSpec.groovy | 0
.../grails/gorm/tests/Neo4jResultListSpec.groovy | 11 +-
.../grails/gorm/tests/NullValueEqualSpec.groovy | 10 +-
.../grails/gorm/tests/OneToManyUpdateSpec.groovy | 31 +-
.../groovy/grails/gorm/tests/OneToOneSpec.groovy | 18 +-
.../grails/gorm/tests/OptimisticLockingSpec.groovy | 50 +-
.../grails/gorm/tests/OrphanDeleteSpec.groovy | 12 +-
.../grails/gorm/tests/PagedResultSpec.groovy | 11 +-
.../gorm/tests/PersistenceEventListenerSpec.groovy | 37 +-
.../src/test/groovy/grails/gorm/tests/Pet.groovy | 3 +
.../grails/gorm/tests/ProjectionsSpec.groovy | 10 +-
.../test/groovy/grails/gorm/tests/ProxySpec.groovy | 17 +-
.../grails/gorm/tests/ReadManyObjectsSpec.groovy | 22 +-
.../gorm/tests/RelationshipMappingSpec.groovy | 27 +-
.../grails/gorm/tests/RelationshipUtilsSpec.groovy | 15 +-
.../groovy/grails/gorm/tests/SchemalessSpec.groovy | 75 +-
.../groovy/grails/gorm/tests/TransientsSpec.groovy | 11 +-
.../grails/gorm/tests/UniqueConstraintSpec.groovy | 21 +-
.../gorm/tests/UpdateWithProxyPresentSpec.groovy | 0
.../groovy/grails/gorm/tests/ValidationSpec.groovy | 29 +-
.../grails/gorm/tests/WithTransactionSpec.groovy | 12 +-
.../tests/assignedid/OneToManyCreateSpec.groovy | 0
.../gorm/tests/assignedid/domain/Owner.groovy | 0
.../grails/gorm/tests/assignedid/domain/Pet.groovy | 0
.../gorm/tests/cypher/OneToManyCreateSpec.groovy | 1 +
.../grails/gorm/tests/cypher/domain/Owner.groovy | 0
.../grails/gorm/tests/cypher/domain/Pet.groovy | 0
.../idgeneration/CustomIdGeneratorSpec.groovy | 0
.../idgeneration/SnowflakeIdGeneratorSpec.groovy | 0
.../tests/multitenancy/MultiTenancySpec.groovy | 0
.../tests/multitenancy/SingleTenancySpec.groovy | 10 +-
.../groovy/grails/gorm/tests/path/PathSpec.groovy | 0
.../grails/gorm/tests/path/RelationshipSpec.groovy | 0
.../grails/gorm/tests/path/domain/Person.groovy | 0
.../grails/gorm/tests/services/Author.groovy | 0
.../grails/gorm/tests/services/AuthorBooks.groovy | 0
.../groovy/grails/gorm/tests/services/Book.groovy | 0
.../services/CypherQueryTransformerSpec.groovy | 0
.../groovy/grails/neo4j/Neo4jEntitySpec.groovy | 0
.../neo4j/core/GrailsDataNeo4jTckManager.groovy | 139 ++
.../data/neo4j/core/Neo4jGormDatastoreSpec.groovy | 46 +
.../datastore/gorm/neo4j/ApiExtensionsSpec.groovy | 17 +-
.../gorm/neo4j/Neo4jMappingContextSpec.groovy | 71 +
.../gorm/neo4j/RelationshipUtilsSpec.groovy | 0
.../gorm/neo4j/TransactionPropagationSpec.groovy | 14 +-
.../Neo4jConnectionSourceSettingsSpec.groovy | 0
.../config/Neo4jDriverConfigBuilderSpec.groovy | 0
...ails.data.testing.tck.base.GrailsDataTckManager | 1 +
.../src/test/resources/logback.xml | 0
.../src/test/resources/neo4j-server.properties | 0
.../src/test/resources/spy.properties | 0
grails-data-neo4j/docs/build.gradle | 238 ++--
.../docs/asciidoc/gettingStarted/springBoot.adoc | 2 +-
.../docs/asciidoc/gettingStarted/standalone.adoc | 2 +-
.../examples/grails3-neo4j-hibernate/build.gradle | 88 --
.../grails3-neo4j-hibernate/gradle.properties | 23 -
.../grails-app/views/error.gsp | 49 -
.../examples/grails3-neo4j/build.gradle | 90 --
.../examples/grails3-neo4j/gradle.properties | 23 -
.../grails3-neo4j/grails-app/views/error.gsp | 49 -
.../examples/neo4j-spring-boot/gradle.properties | 23 -
.../examples/neo4j-standalone/build.gradle | 23 -
.../examples/neo4j-standalone/gradle.properties | 23 -
.../examples/test-data-service/build.gradle | 37 -
.../examples/test-data-service/gradle.properties | 23 -
.../services/example/StudentService.groovy | 36 -
.../LoginAuthenticationSucessHandler.groovy | 40 -
grails-data-neo4j/gradle.properties | 49 -
.../gradle/neo4j-harness-test-config.gradle | 80 ++
.../grails-datastore-gorm-neo4j/build.gradle | 109 --
.../datastore/gorm/neo4j/engine/Neo4jQuery.groovy | 871 ------------
.../datastore/gorm/neo4j/parsers/PlingStemmer.java | 979 -------------
.../proxy/HashcodeEqualsAwareProxyFactory.java | 118 --
.../grails/gorm/tests/GormDatastoreSpec.groovy | 125 --
.../grails/datastore/gorm/neo4j/Neo4jSuite.groovy | 32 -
grails-data-neo4j/grails-plugin/build.gradle | 118 +-
.../Neo4jDataStoreSpringInitializer.groovy | 89 +-
.../main/groovy/grails/test/neo4j/Neo4jSpec.groovy | 17 +-
.../datastore/gorm/neo4j/Neo4jGrailsPlugin.groovy | 44 +-
.../neo4j/converters/InstantToLongConverter.groovy | 1 +
.../converters/LocalDateTimeToLongConverter.groovy | 1 +
.../converters/LocalDateToLongConverter.groovy | 1 +
.../converters/LocalTimeToLongConverter.groovy | 1 +
.../neo4j/converters/LongToInstantConverter.groovy | 1 +
.../converters/LongToLocalDateConverter.groovy | 1 +
.../converters/LongToLocalDateTimeConverter.groovy | 1 +
.../converters/LongToLocalTimeConverter.groovy | 3 +-
.../LongToOffsetDateTimeConverter.groovy | 1 +
.../converters/LongToOffsetTimeConverter.groovy | 1 +
.../converters/LongToZonedDateTimeConverter.groovy | 1 +
.../OffsetDateTimeToLongConverter.groovy | 1 +
.../converters/OffsetTimeToLongConverter.groovy | 1 +
.../converters/PeriodToStringConverter.groovy | 1 +
.../converters/StringToPeriodConverter.groovy | 1 +
.../converters/ZonedDateTimeToLongConverter.groovy | 1 +
.../Neo4jDataStoreSpringInitializerSpec.groovy | 46 +-
grails-data-neo4j/settings.gradle | 79 --
grails-data-simple/build.gradle | 2 +
.../mapping/simple/SimpleMapDatastore.java | 19 +-
.../mapping/simple/SimpleMapDatastoreSpec.groovy | 67 +
.../grails/databinding/FrameworkPropertyNames.java | 55 +
.../grails/databinding/SimpleDataBinder.groovy | 52 +-
.../grails/databinding/SimpleDataBinderSpec.groovy | 36 +
grails-databinding/build.gradle | 1 +
.../META-INF/spring-configuration-metadata.json | 6 +
grails-datamapping-core-test/build.gradle | 2 +-
.../org/grails/datastore/gorm/CoreTestSuite.groovy | 3 +-
.../gorm/ExplicitSaveRepersistsSpec.groovy | 64 +
grails-datamapping-core/build.gradle | 3 +-
.../main/groovy/grails/gorm/CriteriaBuilder.java | 25 +
.../groovy/grails/gorm/DetachedCriteria.groovy | 10 +-
.../src/main/groovy/grails/gorm/MultiTenant.groovy | 12 +-
.../grails/gorm/api/GormStaticOperations.groovy | 37 +
.../gorm/multitenancy/CurrentTenantHolder.groovy | 148 ++
.../groovy/grails/gorm/multitenancy/Tenants.groovy | 212 +--
.../transactions/GrailsTransactionTemplate.groovy | 5 +
.../grails/datamapping/aot/GormRuntimeHints.java | 112 ++
.../datastore/gorm/AbstractDatastoreApi.groovy | 29 +-
.../grails/datastore/gorm/AbstractGormApi.groovy | 182 ++-
.../datastore/gorm/AbstractGormApiRegistry.groovy | 197 +++
.../gorm/ConnectionSourceNameResolver.groovy | 106 ++
.../grails/datastore/gorm/DatastoreResolver.groovy | 20 +-
.../datastore/gorm/DefaultGormApiFactory.groovy | 83 ++
.../grails/datastore/gorm/GormApiFactory.groovy | 52 +
.../grails/datastore/gorm/GormApiResolver.groovy | 441 ++++++
.../org/grails/datastore/gorm/GormEnhancer.groovy | 738 ++++------
.../datastore/gorm/GormEnhancerRegistry.groovy | 99 ++
.../org/grails/datastore/gorm/GormEntity.groovy | 70 +-
.../datastore/gorm/GormEntityDirtyCheckable.groovy | 8 +-
.../grails/datastore/gorm/GormInstanceApi.groovy | 444 +++---
.../datastore/gorm/GormInstanceApiRegistry.groovy | 57 +
.../org/grails/datastore/gorm/GormRegistry.groovy | 1026 ++++++++++++++
.../org/grails/datastore/gorm/GormStaticApi.groovy | 1313 ++++++++----------
.../datastore/gorm/GormStaticApiRegistry.groovy | 57 +
.../grails/datastore/gorm/GormValidateable.groovy | 6 +-
.../grails/datastore/gorm/GormValidationApi.groovy | 145 +-
.../gorm/GormValidationApiRegistry.groovy | 57 +
.../bootstrap/AbstractDatastoreInitializer.groovy | 79 +-
.../gorm/events/AutoTimestampEventListener.java | 5 +
...igurableApplicationContextEventPublisher.groovy | 58 +-
.../gorm/finders/AbstractFindByFinder.java | 8 +-
.../datastore/gorm/finders/AbstractFinder.java | 29 +-
.../datastore/gorm/finders/CountByFinder.java | 55 +-
.../datastore/gorm/finders/DynamicFinder.java | 57 +-
.../gorm/finders/FindAllByBooleanFinder.java | 18 +-
.../datastore/gorm/finders/FindAllByFinder.java | 13 +-
.../gorm/finders/FindByBooleanFinder.java | 25 +-
.../datastore/gorm/finders/FindByFinder.java | 5 +
.../gorm/finders/FindOrCreateByFinder.java | 9 +
.../datastore/gorm/finders/FindOrSaveByFinder.java | 48 +-
.../datastore/gorm/finders/ListOrderByFinder.java | 76 +-
.../multitenancy/MultiTenantEventListener.java | 68 +-
.../TenantDelegatingGormOperations.groovy | 246 ++--
.../multitenancy/transform/TenantTransform.groovy | 30 +-
.../query/criteria/AbstractCriteriaBuilder.java | 19 +
.../gorm/services/DefaultTenantService.groovy | 66 +-
.../gorm/services/DefaultTransactionService.groovy | 13 +
.../implementers/AbstractServiceImplementer.groovy | 49 +-
.../AbstractStringQueryImplementer.groovy | 72 +-
.../implementers/FindAllByImplementer.groovy | 10 +-
...nterfaceProjectionStringQueryImplementer.groovy | 5 +
.../FindOneStringQueryImplementer.groovy | 21 +-
.../UpdateStringQueryImplementer.groovy | 5 +
.../transform/ServiceTransformation.groovy | 284 ++--
.../DefaultTransactionTemplateFactory.groovy | 51 +
.../transactions/TransactionTemplateFactory.groovy | 61 +
.../transform/TransactionalTransform.groovy | 429 +++---
...tDatastoreMethodDecoratingTransformation.groovy | 202 ++-
.../AbstractMethodDecoratingTransformation.groovy | 7 +-
.../gorm/transform/AstPropertyResolveUtils.java | 146 +-
.../constraints/builtin/UniqueConstraint.groovy | 4 +-
.../validation/jakarta/GormValidatorAdapter.groovy | 16 +-
.../MappingContextTraversableResolver.groovy | 3 +
.../listener/ValidationEventListener.groovy | 4 +-
.../main/resources/META-INF/spring/aot.factories | 2 +
.../groovy/grails/gorm/CriteriaBuilderSpec.groovy | 133 ++
.../MultiTenantCurrentTenantTransformSpec.groovy | 143 ++
.../transactions/TransactionalTransformSpec.groovy | 32 +
.../multitenancy/CurrentTenantHolderSpec.groovy | 235 ++++
.../grails/gorm/multitenancy/TenantsSpec.groovy | 587 ++++++++
.../AbstractServiceImplementerCoverageSpec.groovy | 57 +
...stractStringQueryImplementerCoverageSpec.groovy | 125 ++
.../CompileStaticServiceInjectionSpec.groovy | 2 -
.../FindAllByImplementerCoverageSpec.groovy | 84 ++
.../services/MethodValidationTransformSpec.groovy | 5 +-
.../gorm/services/ServiceTransformSpec.groovy | 46 +-
.../ServiceTransformationCoverageSpec.groovy | 101 ++
.../transform/ServiceTransformClasses.groovy | 382 ++++++
.../services/transform/ServiceTransformSpec.groovy | 532 ++++++++
.../GrailsTransactionTemplateSpec.groovy | 75 +
.../datamapping/aot/GormRuntimeHintsSpec.groovy | 81 ++
.../datastore/gorm/AbstractDatastoreApiSpec.groovy | 115 ++
.../gorm/AbstractGormApiRegistrySpec.groovy | 239 ++++
.../datastore/gorm/AbstractGormApiSpec.groovy | 191 +++
.../gorm/ActiveSessionDatastoreSelectorSpec.groovy | 73 +
.../gorm/ConnectionSourceNameResolverSpec.groovy | 105 ++
.../gorm/DefaultDatastoreSelectorSpec.groovy | 95 ++
.../gorm/DefaultGormApiFactorySpec.groovy | 63 +
.../datastore/gorm/GormApiFactorySpec.groovy | 132 ++
.../datastore/gorm/GormApiRegistrySpec.groovy | 123 ++
.../datastore/gorm/GormApiResolverSpec.groovy | 967 +++++++++++++
.../gorm/GormEnhancerAllQualifiersSpec.groovy | 354 +++--
.../datastore/gorm/GormEnhancerCoverageSpec.groovy | 393 ++++++
.../gorm/GormInstanceApiRegistrySpec.groovy | 95 ++
.../datastore/gorm/GormInstanceApiSpec.groovy | 410 ++++++
.../gorm/GormRegistryConcurrencySpec.groovy | 139 ++
.../datastore/gorm/GormRegistryCoverageSpec.groovy | 470 +++++++
.../gorm/GormRegistryEntityRegistrationSpec.groovy | 185 +++
.../datastore/gorm/GormRegistryFactorySpec.groovy | 73 +
.../grails/datastore/gorm/GormRegistrySpec.groovy | 491 +++++++
.../gorm/GormStaticApiRegistrySpec.groovy | 95 ++
.../grails/datastore/gorm/GormStaticApiSpec.groovy | 739 ++++++++++
.../GormStaticApiStringQueryDelegationSpec.groovy | 91 ++
.../GormStaticApiWithDatastoreSessionSpec.groovy | 70 +
.../gorm/GormValidationApiCoverageSpec.groovy | 436 ++++++
.../gorm/GormValidationApiRegistrySpec.groovy | 94 ++
.../datastore/gorm/GormValidationApiSpec.groovy | 119 ++
.../gorm/PreferredDatastoreSelectorSpec.groovy | 75 +
.../gorm/QualifiedDatastoreSelectorSpec.groovy | 96 ++
...actDatastoreInitializerConfigurationSpec.groovy | 190 +++
...ableApplicationContextEventPublisherSpec.groovy | 115 ++
.../gorm/finders/AbstractFinderSpec.groovy | 100 ++
.../gorm/finders/DynamicFinderCoverageSpec.groovy | 262 ++++
.../gorm/finders/FindOrSaveByFinderSpec.groovy | 88 ++
.../gorm/jdbc/MultiTenantConnectionSpec.groovy | 81 ++
.../MultiTenantEventListenerSpec.groovy | 321 +++++
.../TenantDelegatingGormOperationsSpec.groovy | 1432 +++++++++++++++++++
.../transform/WhereQueryClosureCaptureSpec.groovy | 12 +-
.../WhereQueryEmbeddedBlockTransformSpec.groovy | 11 +-
.../gorm/services/DefaultTenantServiceSpec.groovy | 214 +++
.../services/DefaultTransactionServiceSpec.groovy | 45 +
.../DefaultTransactionTemplateFactorySpec.groovy | 63 +
.../transform/AstPropertyResolveUtilsSpec.groovy | 289 ++++
.../MappingContextTraversableResolverSpec.groovy | 28 +
grails-datamapping-support/build.gradle | 3 +-
grails-datamapping-tck/build.gradle | 1 +
.../testing/tck/base/GrailsDataTckManager.groovy | 14 +-
...intWorksWithTargetProxiesConstraintsSpec.groovy | 4 +-
.../data/testing/tck/tests/FindWhereSpec.groovy | 3 +
.../data/testing/tck/tests/OneToManySpec.groovy | 2 +
.../testing/tck/tests/OptimisticLockingSpec.groovy | 13 +-
.../data/testing/tck/tests/PagedResultSpec.groovy | 7 +
.../testing/tck/tests/WithTransactionSpec.groovy | 51 +-
.../aot/ConstrainedPropertyRuntimeHints.java | 75 +
.../main/resources/META-INF/spring/aot.factories | 2 +
.../aot/ConstrainedPropertyRuntimeHintsSpec.groovy | 69 +
grails-datasource/build.gradle | 1 +
.../mapping/config/AbstractGormMappingFactory.java | 40 +-
.../datastore/mapping/config/Property.groovy | 11 +-
.../datastore/mapping/core/AbstractDatastore.java | 63 +-
.../datastore/mapping/core/DatastoreUtils.java | 44 +-
.../datastore/mapping/core/SessionResolver.groovy | 72 +
...ransactionSynchronizationSessionResolver.groovy | 101 ++
.../AbstractConnectionSourceFactory.java | 17 +-
... MultipleConnectionSourceCapableDatastore.java} | 8 +-
.../connections/SingleSessionCapableDatastore.java | 23 +-
.../mapping/model/AbstractMappingContext.java | 1 +
.../datastore/mapping/reflect/AstUtils.groovy | 21 +-
.../mapping/transactions/SessionHolder.java | 9 +
.../mapping/core/AbstractDatastoreSpec.groovy | 247 ++++
.../mapping/core/DatastoreUtilsSpec.groovy | 164 +++
.../core/SessionResolverIntegrationSpec.groovy | 62 +
...actionSynchronizationSessionResolverSpec.groovy | 254 ++++
.../AbstractConnectionSourceFactorySpec.groovy | 77 ++
.../config/DocumentMappingContextSpec.groovy | 89 ++
.../mapping/KeyValueMappingFactoryTests.groovy | 53 +-
.../datastore/mapping/reflect/AstUtilsSpec.groovy | 66 +
grails-doc/build.gradle | 29 +-
grails-doc/src/en/guide/GORM/multiTenancy.adoc | 129 ++
.../en/guide/GORM/quickStartGuide/basicCRUD.adoc | 38 +
grails-doc/src/en/guide/backgroundJobs.adoc | 81 ++
.../backgroundJobs/backgroundJobsAdvanced.adoc | 48 +
.../backgroundJobsAdvanced/quartzClustering.adoc | 81 ++
.../quartzConfiguration.adoc | 249 ++++
.../quartzDynamicScheduling.adoc | 91 ++
.../backgroundJobsAdvanced/quartzInstallation.adoc | 74 +
.../quartzJobManagerService.adoc | 88 ++
.../quartzJobProperties.adoc | 74 +
.../quartzLongRunningJobs.adoc | 157 +++
.../backgroundJobsAdvanced/quartzScheduling.adoc | 138 ++
.../backgroundJobsAdvanced/quartzTriggers.adoc | 180 +++
.../backgroundJobsAdvanced/quartzUsefulLinks.adoc | 27 +
.../guide/backgroundJobs/backgroundJobsBasic.adoc | 170 +++
.../guide/conf/applicationClass/customizing.adoc | 34 +-
.../src/en/guide/deployment/deploymentAot.adoc | 172 +++
.../en/guide/deployment/deploymentAotCache.adoc | 191 +++
grails-doc/src/en/guide/i18n/changingLocales.adoc | 5 +-
.../en/guide/i18n/understandingMessageBundles.adoc | 67 +
grails-doc/src/en/guide/index.adoc | 85 ++
grails-doc/src/en/guide/introduction/whatsNew.adoc | 149 ++
.../plugins/creatingAndInstallingPlugins.adoc | 12 +-
grails-doc/src/en/guide/reference.adoc | 25 +
.../security/securityPlugins/springSecurity.adoc | 4 +-
.../springSecurity/cas/configuration.adoc | 26 +-
.../springSecurity/cas/introduction.adoc | 2 +-
.../securityPlugins/springSecurity/cas/usage.adoc | 20 +-
.../springSecurity/ui/customization.adoc | 2 +-
.../grailsCompileStatic.adoc | 26 +
.../src/en/guide/testing/testingMongodb.adoc | 74 +
.../guide/theWebLayer/controllers/dataBinding.adoc | 4 +-
.../theWebLayer/gsp/GSPBasics/expressions.adoc | 12 +
.../theWebLayer/gsp/gspStaticCompilation.adoc | 247 ++++
.../gsp/makingChangesToADeployedApplication.adoc | 5 +-
.../theWebLayer/gsp/taglibs/compiledTags.adoc | 308 +++++
grails-doc/src/en/guide/toc.yml | 21 +
grails-doc/src/en/guide/upgrading.adoc | 13 +
.../src/en/guide/upgrading/upgrading60x.adoc | 118 ++
.../src/en/guide/upgrading/upgrading80x.adoc | 684 +++++++++-
grails-doc/src/en/ref/Constraints/bindable.adoc | 5 +-
grails-doc/src/en/ref/Controllers/bindData.adoc | 50 +-
grails-doc/src/en/ref/Database Mapping/type.adoc | 4 +-
grails-doc/src/en/ref/Dependency Versions.adoc | 5 +-
grails-doc/src/en/ref/Tags - GSP/set.adoc | 9 +
.../expressions.adoc => ref/Triggers.adoc} | 26 +-
grails-doc/src/en/ref/Triggers/cron.adoc | 59 +
grails-doc/src/en/ref/Triggers/custom.adoc | 58 +
grails-doc/src/en/ref/Triggers/simple.adoc | 57 +
grails-domain-class/build.gradle | 1 +
grails-encoder/build.gradle | 2 +
grails-events/plugin/build.gradle | 7 +-
grails-fields/build.gradle | 2 +
grails-forge/build.gradle | 28 +-
grails-forge/gradle/test-config.gradle | 2 +-
.../forge/feature/database/GrailsDataMongoDB.java | 29 +-
.../{MongoSync.java => MongoDBTestingSupport.java} | 47 +-
.../database/MongoDBTestingSupportValidator.java | 47 +
.../forge/feature/database/MongoFeature.java | 25 +
.../grails/forge/feature/database/MongoSync.java | 6 +-
.../{GrailsDataMongoDB.java => Neo4jGorm.java} | 39 +-
.../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/options/GormImpl.java | 3 +-
.../src/main/resources/gsp/index.gsp | 44 +-
.../src/main/resources/gsp/main.gsp | 6 +-
.../forge/ActiveProcessorCountForkSpec.groovy | 33 +-
.../feature/database/GrailsDataMongoDBSpec.groovy | 33 +
.../database/MongoDBTestingSupportSpec.groovy | 76 ++
.../forge/feature/database/MongoSyncSpec.groovy | 18 +
.../{MongoSyncSpec.groovy => Neo4JGormSpec.groovy} | 37 +-
.../security/SpringBootStarterSecuritySpec.groovy | 40 +-
.../org/grails/forge/options/GormImplSpec.groovy | 2 +-
grails-geb/build.gradle | 1 +
.../grails/plugin/geb/GebGrailsPlugin.groovy | 2 +-
grails-gradle/bom/build.gradle | 3 -
grails-gradle/build.gradle | 30 +-
grails-gradle/gradle/test-config.gradle | 2 +-
.../main/groovy/grails/util/BuildSettings.groovy | 21 +
grails-gradle/plugins/build.gradle | 7 +
.../gradle/plugin/aot/AotCacheExtension.groovy | 67 +
.../plugin/aot/ExtractApplicationTask.groovy | 96 ++
.../plugin/aot/GenerateNativeMetadataTask.groovy | 188 +++
.../plugin/aot/NativeMetadataExtension.groovy | 62 +
.../apache/grails/gradle/plugin/aot/RunPort.groovy | 64 +
.../grails/gradle/plugin/aot/StartupLog.groovy | 113 ++
.../plugin/aot/TraceNativeMetadataTask.groovy | 495 +++++++
.../gradle/plugin/aot/TrainAotCacheTask.groovy | 385 ++++++
.../GrailsCompileStaticArtefactsProvider.groovy | 11 +-
.../plugin/core/GrailsCompileStaticOptions.groovy | 112 +-
.../gradle/plugin/core/GrailsExtension.groovy | 18 +
.../gradle/plugin/core/GrailsGradlePlugin.groovy | 414 ++++++
.../core/GrailsGspCompileStaticProvider.groovy | 79 ++
.../gradle/plugin/core/GrailsI18nOptions.groovy | 64 +
.../plugin/core/GrailsPluginGradlePlugin.groovy | 32 +
.../plugin/i18n/GenerateI18nDescriptorTask.groovy | 177 +++
.../gradle/plugin/i18n/I18nBundleIndex.groovy | 222 +++
.../scaffolding/GenerateScaffoldedViewsTask.groovy | 301 ++++
.../views/gsp/GenerateTagLibraryIndexTask.groovy | 206 +++
.../views/gsp/GroovyPageForkCompileTask.groovy | 62 +-
.../plugin/views/gsp/GroovyPagePlugin.groovy | 367 ++++-
.../plugin/views/gsp/TagLibraryIndexFiles.groovy | 133 ++
.../plugin/aot/ExtractApplicationTaskSpec.groovy | 54 +
.../aot/GenerateNativeMetadataTaskSpec.groovy | 182 +++
.../grails/gradle/plugin/aot/RunPortSpec.groovy | 74 +
.../grails/gradle/plugin/aot/StartupLogSpec.groovy | 129 ++
.../plugin/aot/TraceNativeMetadataTaskSpec.groovy | 345 +++++
.../gradle/plugin/aot/TracedRunFixture.groovy | 138 ++
.../gradle/plugin/aot/TrainAotCacheTaskSpec.groovy | 383 ++++++
.../gradle/plugin/aot/TrainingRunFixture.groovy | 66 +
.../core/ActiveProcessorCountForkSpec.groovy | 38 +
.../plugin/core/AssetClasspathPackagingSpec.groovy | 47 +
...GrailsCompileStaticArtefactsProviderSpec.groovy | 39 +
.../core/GrailsCompileStaticOptionsSpec.groovy | 14 +-
.../gradle/plugin/core/GrailsExtensionSpec.groovy | 43 +-
.../core/GrailsGspCompileStaticProviderSpec.groovy | 153 +++
.../core/GrailsNativeImageDefaultsSpec.groovy | 101 ++
.../i18n/GenerateI18nDescriptorTaskSpec.groovy | 124 ++
.../gradle/plugin/i18n/I18nBundleIndexSpec.groovy | 148 ++
.../i18n/I18nDescriptorFunctionalSpec.groovy | 119 ++
.../GenerateScaffoldedViewsTaskSpec.groovy | 335 +++++
.../gsp/GenerateTagLibraryIndexTaskSpec.groovy | 231 ++++
.../gsp/GroovyPagePluginFunctionalSpec.groovy | 31 +
.../views/gsp/GroovyPageToolchainSpec.groovy | 108 ++
.../views/gsp/TagLibraryIndexFilesSpec.groovy | 113 ++
.../gsp/TagLibraryIndexWiringFunctionalSpec.groovy | 131 ++
.../asset-classpath-packaging/build.gradle | 42 +
.../asset-classpath-packaging/gradle.properties | 2 +
.../asset-classpath-packaging/settings.gradle | 1 +
.../gsp-compile-classpath/build.gradle | 2 +
.../test-projects/gsp-compile-static/build.gradle | 32 +
.../gradle.properties | 0
.../grails-app/conf/application.yml | 0
.../gsp-compile-static/settings.gradle | 1 +
.../test-projects/i18n-descriptor-app/build.gradle | 3 +
.../i18n-descriptor-app/gradle.properties | 2 +
.../grails-app/i18n/api_errors.properties | 1 +
.../grails-app/i18n/messages.properties | 1 +
.../grails-app/i18n/messages_de.properties | 1 +
.../grails-app/i18n/messages_pt_BR.properties | 1 +
.../i18n-descriptor-app/settings.gradle | 1 +
.../i18n-descriptor-declared/build.gradle | 9 +
.../i18n-descriptor-declared/gradle.properties | 2 +
.../grails-app/i18n/api.properties | 1 +
.../grails-app/i18n/api_errors.properties | 1 +
.../i18n-descriptor-declared/settings.gradle | 1 +
.../i18n-descriptor-plugin-collision/build.gradle | 3 +
.../gradle.properties | 2 +
.../grails-app/i18n/messages.properties | 1 +
.../settings.gradle | 1 +
.../demo/SpringSecurityDemoGrailsPlugin.groovy | 5 +
.../i18n-descriptor-plugin/build.gradle | 3 +
.../i18n-descriptor-plugin/gradle.properties | 2 +
.../spring-security-demo-validation.properties | 1 +
.../i18n/spring-security-demo.properties | 1 +
.../i18n/spring-security-demo_fr.properties | 1 +
.../i18n-descriptor-plugin/settings.gradle | 1 +
.../demo/SpringSecurityDemoGrailsPlugin.groovy | 5 +
.../test-projects/native-defaults-aot/build.gradle | 10 +
.../gradle.properties | 0
.../grails-app/conf/application.yml | 0
.../native-defaults-aot/settings.gradle | 1 +
.../test-projects/native-defaults-off/build.gradle | 12 +
.../gradle.properties | 0
.../grails-app/conf/application.yml | 0
.../native-defaults-off/settings.gradle | 1 +
.../test-projects/native-defaults-on/build.gradle | 10 +
.../gradle.properties | 0
.../grails-app/conf/application.yml | 0
.../native-defaults-on/settings.gradle | 1 +
.../native-metadata-ordering/build.gradle | 24 +
.../gradle.properties | 0
.../grails-app/conf/application.yml | 0
.../grails-app/views/index.gsp | 3 +
.../native-metadata-ordering/settings.gradle | 1 +
.../test-projects/taglib-index-wiring/build.gradle | 32 +
.../taglib-index-wiring/settings.gradle | 1 +
grails-gsp/core/build.gradle | 10 +-
.../gsp/aot/PrecompiledPageRuntimeHints.java | 52 +
.../org/grails/gsp/CompileStaticGroovyPage.groovy | 5 +
.../src/main/groovy/org/grails/gsp/GroovyPage.java | 47 +
.../groovy/org/grails/gsp/GroovyPageMetaInfo.java | 117 +-
.../org/grails/gsp/GroovyPagesMetaUtils.groovy | 25 +-
.../org/grails/gsp/GroovyPagesTemplateEngine.java | 12 +-
.../grails/gsp/compiler/GroovyPageCompiler.groovy | 54 +-
.../org/grails/gsp/compiler/GroovyPageParser.java | 312 ++++-
.../org/grails/gsp/compiler/GroovyPageScanner.java | 13 +-
.../gsp/compiler/GroovyPageTypeCheckingConfig.java | 22 +
.../GroovyPageTypeCheckingExtension.groovy | 255 +++-
.../org/grails/gsp/compiler/tags/GroovyDefTag.java | 25 +-
.../grails/gsp/io/DefaultGroovyPageLocator.java | 25 +-
.../main/resources/META-INF/spring/aot.factories | 2 +
.../gsp/aot/PrecompiledPageRuntimeHintsSpec.groovy | 64 +
.../grails/gsp/GroovyPageMetaInfoReloadSpec.groovy | 162 +++
.../grails/gsp/GroovyPageMethodMissingSpec.groovy | 120 ++
.../GroovyPagesTemplateEngineChecksumSpec.groovy | 52 +
.../gsp/GroovyPagesTemplateEngineTests.groovy | 58 +
.../grails/gsp/GspCompileStaticConfigSpec.groovy | 670 +++++++++
.../org/grails/gsp/GspCompileStaticSpec.groovy | 9 +
.../GroovyPageCompilerReproducibilitySpec.groovy | 107 ++
.../DefaultGroovyPageLocatorPrecompiledSpec.groovy | 120 ++
grails-gsp/grails-layout/build.gradle | 4 +
.../plugins/sitemesh3/Sitemesh3GrailsPlugin.groovy | 4 +-
.../sitemesh3/GrailsSiteMeshViewResolver.java | 12 +-
...lsSiteMeshViewResolverServletContextSpec.groovy | 105 ++
grails-gsp/grails-taglib/build.gradle | 5 +-
.../grails/core/gsp/DefaultGrailsTagLibClass.java | 24 +-
.../org/grails/taglib/CompiledTagInvocation.java | 215 +++
.../grails/taglib/NamespacedTagDispatcher.groovy | 23 +-
.../taglib/TagLibNamespaceMethodDispatcher.groovy | 2 +-
.../org/grails/taglib/TagLibraryMetaUtils.groovy | 56 +-
.../groovy/org/grails/taglib/TagMethodInvoker.java | 217 +--
.../taglib/TemplateNamespacedTagDispatcher.groovy | 16 +-
.../grails/taglib/discovery/AstTagLibraryView.java | 85 ++
.../grails/taglib/discovery/AstTagMethodView.java | 127 ++
.../taglib/discovery/ReflectedTagLibraryView.java | 73 +
.../taglib/discovery/ReflectedTagMethodView.java | 110 ++
.../grails/taglib/discovery/TagDiscoveryRules.java | 187 +++
.../taglib/discovery/TagLibraryAstDiscovery.java | 88 ++
.../grails/taglib/discovery/TagLibraryView.java | 53 +
.../org/grails/taglib/discovery/TagMethodView.java | 103 ++
.../org/grails/taglib/index/TagLibraryIndex.java | 526 +++++++
.../grails/taglib/index/TagLibraryIndexEntry.java | 17 +-
.../taglib/index/TagLibraryIndexGenerator.java | 431 ++++++
.../grails/taglib/index/TagLibraryIndexWriter.java | 212 +++
.../grails/taglib/index/TagLibraryIndexSpec.groovy | 340 +++++
.../TagLibraryIndexWriterConcurrencySpec.groovy | 127 ++
grails-gsp/grails-web-gsp-taglib/build.gradle | 2 +
grails-gsp/grails-web-gsp/build.gradle | 4 +-
.../GrailsConventionGroovyPageLocatorSpec.groovy | 1 -
grails-gsp/grails-web-jsp/build.gradle | 2 +
grails-gsp/grails-web-taglib/build.gradle | 3 +-
.../main/groovy/grails/artefact/TagLibrary.groovy | 29 +-
.../grails/artefact/gsp/TagLibraryInvoker.groovy | 20 +-
.../taglib/compiler/CompiledTagCallRewriter.java | 616 +++++++++
.../gsp/taglib/compiler/LocalNameCollector.java | 131 ++
.../gsp/taglib/compiler/PageBindingCollector.java | 93 ++
.../TagLibArtefactTypeAstTransformation.java | 88 +-
.../taglib/WebRequestTemplateVariableBinding.java | 7 +
.../taglib/discovery/TagDiscoveryRulesSpec.groovy | 122 ++
.../taglib/discovery/TagSetAgreementSpec.groovy | 98 ++
.../taglib/index/SingleIndexProducerSpec.groovy | 126 ++
.../index/SourceResolvedIndexGeneratorSpec.groovy | 452 ++++++
.../index/TagLibraryIndexGeneratorSpec.groovy | 301 ++++
.../web/taglib/NoMetaClassMutationSpec.groovy | 104 ++
.../web/taglib/TagLibraryLookupIndexSpec.groovy | 118 ++
.../org/grails/web/taglib/TagPrecedenceSpec.groovy | 112 ++
grails-gsp/plugin/build.gradle | 10 +-
.../traits/CompiledTagCallTransformation.groovy | 109 ++
...org.codehaus.groovy.transform.ASTTransformation | 1 +
.../TagLibBeanDefinitionsPostProcessor.groovy | 95 ++
.../grails/gsp/taglib/aot/TagLibRuntimeHints.java | 136 ++
.../plugins/web/GroovyPagesGrailsPlugin.groovy | 88 +-
.../META-INF/spring-configuration-metadata.json | 211 +--
.../main/resources/META-INF/spring/aot.factories | 2 +
.../TagLibBeanDefinitionsPostProcessorSpec.groovy | 117 ++
.../gsp/taglib/aot/TagLibRuntimeHintsSpec.groovy | 84 ++
.../groovy/org/grails/gsp/compiler/ScanTests.java | 33 +
.../GroovyPagesGrailsPluginPrecompiledSpec.groovy | 77 ++
.../groovy/org/grails/web/pages/ParseSpec.groovy | 2 +-
.../web/taglib/CompiledPageTagCallSpec.groovy | 138 ++
.../web/taglib/CompiledTagCallBytecodeSpec.groovy | 284 ++++
.../web/taglib/CompiledTagCallRewriterSpec.groovy | 53 +
.../CompiledTagCallTransformationOrderSpec.groovy | 68 +
.../web/taglib/CompiledTagInvocationSpec.groovy | 146 ++
.../web/taglib/ControllerTagCallRewriteSpec.groovy | 156 +++
.../taglib/GroovyMethodNameCollisionSpec.groovy | 212 +++
.../web/taglib/GspStaticTagResolutionSpec.groovy | 181 +++
.../grails/web/taglib/IndexEdgeCaseTagLib.groovy | 65 +
.../grails/web/taglib/RewrittenCallsTagLib.groovy | 52 +
.../web/taglib/RewrittenPageRenderingSpec.groovy | 92 ++
.../web/taglib/SameProjectTagResolutionSpec.groovy | 129 ++
.../grails/web/taglib/TagCallShadowingSpec.groovy | 236 ++++
.../web/taglib/TagLibraryIndexAgreementSpec.groovy | 119 ++
.../taglib/TagLibraryInvokerDispatchSpec.groovy | 176 +++
.../org/grails/web/taglib/TypedSetTagSpec.groovy | 43 +-
grails-i18n/build.gradle | 1 +
.../plugins/i18n/AvailableLocaleResolver.java | 155 +--
.../plugins/i18n/EffectiveI18nDescriptors.java | 141 ++
.../org/grails/plugins/i18n/I18nDescriptor.java | 60 +
.../org/grails/plugins/i18n/I18nDescriptors.java | 175 +++
.../plugins/i18n/I18nEnvironmentPostProcessor.java | 251 ++++
.../grails/plugins/i18n/I18nGrailsPlugin.groovy | 58 +-
.../plugins/i18n/I18nRuntimeHintsProcessor.java | 117 ++
.../src/main/resources/META-INF/spring.factories | 13 +-
.../main/resources/META-INF/spring/aot.factories | 14 +-
.../i18n/AvailableLocaleResolverSpec.groovy | 190 +--
.../plugins/i18n/I18nAutoConfigurationSpec.groovy | 67 +-
.../grails/plugins/i18n/I18nDescriptorsSpec.groovy | 184 +++
.../i18n/I18nEnvironmentPostProcessorSpec.groovy | 291 ++++
.../plugins/i18n/I18nGrailsPluginSpec.groovy | 17 +-
.../i18n/I18nRuntimeHintsProcessorSpec.groovy | 119 ++
.../i18n/MessageSourcePrecedenceSpec.groovy | 124 ++
.../plugins/i18n/MessageSourceReloadSpec.groovy | 97 ++
.../i18n/fixtures/AlphaPluginGrailsPlugin.groovy | 15 +-
.../i18n/fixtures/BetaPluginGrailsPlugin.groovy | 15 +-
.../test/resources/META-INF/grails/i18n.properties | 8 +
.../src/test/resources/alpha-plugin.properties | 3 +
.../src/test/resources/beta-plugin.properties | 3 +
grails-interceptors/build.gradle | 1 +
grails-logging/build.gradle | 2 +
grails-mail/build.gradle | 6 +-
.../grails/plugins/mail/MailGrailsPlugin.groovy | 14 +-
.../grails/plugins/mail/PlainTextMailTagLib.groovy | 2 +-
.../plugins/mail/PlainTextMailTagLibSpec.groovy | 50 +
grails-micronaut/build.gradle | 1 +
grails-mimetypes/build.gradle | 1 +
.../grails/mimetypes/aot/MimeTypeRuntimeHints.java | 57 +
.../main/resources/META-INF/spring/aot.factories | 2 +
.../web/skeleton/grails-app/views/index.gsp | 44 +-
.../web/skeleton/grails-app/views/layouts/main.gsp | 6 +-
grails-quartz/build.gradle | 89 ++
.../grails-app/conf/plugin.yml | 5 +-
.../grails/plugins/quartz/JobManagerService.groovy | 122 ++
.../plugins/quartz/CustomTriggerFactoryBean.java | 125 ++
.../plugins/quartz/DefaultGrailsJobClass.java | 128 ++
.../grails/plugins/quartz/GrailsJobClass.java | 89 ++
.../plugins/quartz/GrailsJobClassConstants.java | 92 ++
.../grails/plugins/quartz/GrailsJobFactory.java | 181 +++
.../plugins/quartz/JobArtefactHandler.groovy | 75 +
.../grails/plugins/quartz/JobDescriptor.groovy | 54 +
.../plugins/quartz/JobDetailFactoryBean.java | 130 ++
.../groovy/grails/plugins/quartz/QuartzJob.groovy | 154 +++
.../plugins/quartz/QuartzJobTraitInjector.groovy | 21 +-
.../grails/plugins/quartz/TriggerDescriptor.groovy | 52 +
.../grails/plugins/quartz/TriggerUtils.groovy | 64 +
.../plugins/quartz/cleanup/JdbcCleanup.groovy | 63 +
.../quartz/config/TriggersConfigBuilder.groovy | 257 ++++
.../listeners/ExceptionPrinterJobListener.java | 46 +
.../quartz/listeners/SessionBinderJobListener.java | 94 ++
.../main/groovy/quartz/QuartzGrailsPlugin.groovy | 453 ++++++
grails-quartz/src/main/scripts/CreateJob.groovy | 39 +
grails-quartz/src/main/templates/Job.groovy | 11 +
.../plugins/quartz/CronTriggerTimeZoneSpec.groovy | 62 +
.../quartz/CustomTriggerFactoryBeanSpec.groovy | 140 ++
.../quartz/DefaultGrailsJobClassSpec.groovy | 96 ++
.../plugins/quartz/GrailsJobFactorySpec.groovy | 198 +++
.../plugins/quartz/JobArtefactHandlerSpec.groovy | 61 +
.../grails/plugins/quartz/JobDescriptorSpec.groovy | 64 +
.../plugins/quartz/JobDetailFactoryBeanSpec.groovy | 162 +++
.../grails/plugins/quartz/MockDoWithSpring.groovy | 49 +
.../grails/plugins/quartz/QuartzJobSpec.groovy | 325 +++++
.../quartz/QuartzJobTraitInjectorSpec.groovy | 17 +-
.../grails/plugins/quartz/TestQuartzJob.groovy | 14 +-
.../plugins/quartz/TriggerDescriptorSpec.groovy | 73 +
.../quartz/config/TriggersConfigBuilderSpec.groovy | 166 +++
.../groovy/quartz/QuartzGrailsPluginSpec.groovy | 371 +++++
.../groovy/quartz/QuartzJobStoreCleanupSpec.groovy | 242 ++++
.../quartz/QuartzSchedulerContextSpec.groovy | 145 ++
.../quartz/QuartzStartupSchedulingSpec.groovy | 198 +++
.../test/groovy/quartz/jobs/ContextSpecJob.groovy | 24 +-
grails-redis/build.gradle | 3 +-
.../src/main/groovy/redis/RedisGrailsPlugin.groovy | 21 +-
grails-rest-transforms/build.gradle | 1 +
grails-scaffolding/build.gradle | 7 +
.../grails/plugin/scaffolding/GormService.groovy | 2 -
.../scaffolding/ScaffoldingGrailsPlugin.groovy | 8 +-
.../scaffolding/aot/ScaffoldingRuntimeHints.java | 54 +
.../main/resources/META-INF/spring/aot.factories | 2 +
.../src/main/templates/scaffolding/create.gsp | 1 +
.../src/main/templates/scaffolding/edit.gsp | 1 +
.../src/main/templates/scaffolding/index.gsp | 3 +-
.../src/main/templates/scaffolding/show.gsp | 1 +
grails-services/build.gradle | 1 +
.../gradle/RunningApplicationProcessSpec.groovy | 20 +-
.../acl/SpringSecurityAclGrailsPlugin.groovy | 8 +-
.../conf/DefaultCasSecurityConfig.groovy | 5 +-
.../cas/SpringSecurityCasGrailsPlugin.groovy | 48 +-
grails-spring-security/ldap/plugin/build.gradle | 4 +
.../ldap/SpringSecurityLdapGrailsPlugin.groovy | 8 +-
grails-spring-security/oauth2/plugin/build.gradle | 4 +-
...roperties => spring-security-oauth2.properties} | 0
.../oauth2/SpringSecurityOauth2GrailsPlugin.groovy | 2 +-
grails-spring-security/plugin/build.gradle | 4 +
.../SpringSecurityCoreGrailsPlugin.groovy | 8 +-
...tContextHolderExceptionTranslationFilter.groovy | 6 -
grails-spring-security/rest/core/build.gradle | 3 +
.../rest/SpringSecurityRestGrailsPlugin.groovy | 10 +-
grails-spring-security/rest/gorm/build.gradle | 1 +
.../rest/SpringSecurityRestGormGrailsPlugin.groovy | 10 +-
.../rest/grailscache/build.gradle | 3 +
...pringSecurityRestGrailsCacheGrailsPlugin.groovy | 10 +-
grails-spring-security/rest/memcached/build.gradle | 1 +
.../SpringSecurityRestMemcachedGrailsPlugin.groovy | 8 +-
grails-spring-security/rest/redis/build.gradle | 1 +
.../SpringSecurityRestRedisGrailsPlugin.groovy | 10 +-
grails-spring-security/ui/plugin/build.gradle | 4 +
...ui.properties => spring-security-ui.properties} | 0
.../ui/SpringSecurityUiGrailsPlugin.groovy | 8 +-
grails-spring/build.gradle | 1 +
.../spring/DefaultRuntimeSpringConfiguration.java | 32 +-
...DefaultRuntimeSpringConfigurationAotSpec.groovy | 96 ++
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 -
grails-test-examples/aot/build.gradle | 96 ++
.../aot/grails-app/conf}/application.yml | 10 +-
.../controllers/aot/GreetingController.groovy | 17 +-
.../grails-app/controllers/aot}/UrlMappings.groovy | 14 +-
.../aot/grails-app/init/aot/Application.groovy | 112 ++
.../grails-app/services/aot/GreetingService.groovy | 14 +-
.../grails-app/taglib/aot/GreetingTagLib.groovy | 24 +-
.../aot/grails-app/views/greeting/index.gsp | 25 +-
.../functionaltests/IncludesController.groovy | 13 +
.../functionaltests/ManagedEntityDomain.groovy | 11 +-
.../functionaltests/CompiledTagCallSpec.groovy | 66 +
grails-test-examples/beans-dsl-plugin/build.gradle | 4 +
.../domain/grails/test/app/Address.groovy | 3 +
.../grails-app/domain/grails/test/app/User.groovy | 3 +-
.../domain/grails/test/app/UserRole.groovy | 2 +
.../grails/test/app/CommentIntegrationSpec.groovy | 5 +
.../grails/test/app/TagIntegrationSpec.groovy | 5 +
.../grails/test/app/UserRoleIntegrationSpec.groovy | 5 +
.../groovy/grails/test/app/pogo/Profile.groovy | 6 +
.../build.gradle | 31 +-
.../grails-app/conf}/application.yml | 13 +-
.../grails-app/controllers/gspstatic}/Book.groovy | 6 +-
.../controllers/gspstatic/DemoController.groovy | 23 +-
.../controllers/gspstatic}/UrlMappings.groovy | 16 +-
.../grails-app/init/gspstatic}/Application.groovy | 5 +-
.../grails-app/taglib/gspstatic/DemoTagLib.groovy | 13 +-
.../grails-app/views/demo/declared.gsp | 30 +
.../grails-app/views/demo/frameworkNames.gsp | 31 +
.../grails-app/views/demo/index.gsp | 34 +
.../gsp-compile-static/grails-app/views/error.gsp | 20 +
.../grails-app/views/notFound.gsp | 20 +
.../groovy/gspstatic/GspCompileStaticSpec.groovy | 129 ++
grails-test-examples/gsp-layout/build.gradle | 4 +
.../hibernate5/criteria-extension/build.gradle | 4 +
.../build.gradle | 2 +
.../grails-hibernate-groovy-proxy/build.gradle | 4 +
.../domain/functional/tests/Organization.groovy | 6 +-
.../tests/OrganizationValidationSpec.groovy | 23 +-
.../grails-multiple-datasources/build.gradle | 2 +
.../build.gradle | 2 +
.../functionaltests/ManagedEntityDomain.groovy | 11 +-
.../hibernate7/criteria-extension/build.gradle | 4 +
.../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 +
.../{gsp-layout => neo4j/base}/build.gradle | 45 +-
.../assets/images/apple-touch-icon-retina.png | Bin
.../grails-app/assets/images/apple-touch-icon.png | Bin
.../base}/grails-app/assets/images/favicon.ico | Bin
.../base}/grails-app/assets/images/grails_logo.png | Bin
.../grails-app/assets/images/skin/database_add.png | Bin
.../assets/images/skin/database_delete.png | Bin
.../assets/images/skin/database_edit.png | Bin
.../assets/images/skin/database_save.png | Bin
.../assets/images/skin/database_table.png | Bin
.../grails-app/assets/images/skin/exclamation.png | Bin
.../base}/grails-app/assets/images/skin/house.png | Bin
.../grails-app/assets/images/skin/information.png | Bin
.../base}/grails-app/assets/images/skin/shadow.jpg | Bin
.../grails-app/assets/images/skin/sorted_asc.gif | Bin
.../grails-app/assets/images/skin/sorted_desc.gif | Bin
.../base}/grails-app/assets/images/spinner.gif | Bin
.../grails-app/assets/javascripts/application.js | 0
.../grails-app/assets/stylesheets/application.css | 0
.../base}/grails-app/assets/stylesheets/errors.css | 0
.../base}/grails-app/assets/stylesheets/main.css | 0
.../base}/grails-app/assets/stylesheets/mobile.css | 0
.../neo4j/base}/grails-app/conf/application.yml | 0
.../neo4j/base}/grails-app/conf/logback.xml | 0
.../base}/grails-app/conf/spring/resources.groovy | 0
.../grails-app/controllers/UrlMappings.groovy | 0
.../functional/tests/BookController.groovy | 0
.../grails-app/domain/functional/tests/Book.groovy | 0
.../domain/functional/tests/Person.groovy | 0
.../base}/grails-app/i18n/messages.properties | 0
.../grails-app/i18n/messages_cs_CZ.properties | 0
.../base}/grails-app/i18n/messages_da.properties | 0
.../base}/grails-app/i18n/messages_de.properties | 0
.../base}/grails-app/i18n/messages_es.properties | 0
.../base}/grails-app/i18n/messages_fr.properties | 0
.../base}/grails-app/i18n/messages_it.properties | 0
.../base}/grails-app/i18n/messages_ja.properties | 0
.../base}/grails-app/i18n/messages_nb.properties | 0
.../base}/grails-app/i18n/messages_nl.properties | 0
.../base}/grails-app/i18n/messages_pl.properties | 0
.../grails-app/i18n/messages_pt_BR.properties | 0
.../grails-app/i18n/messages_pt_PT.properties | 0
.../base}/grails-app/i18n/messages_ru.properties | 0
.../base}/grails-app/i18n/messages_sv.properties | 0
.../base}/grails-app/i18n/messages_th.properties | 0
.../grails-app/i18n/messages_zh_CN.properties | 0
.../neo4j/base}/grails-app/init/BootStrap.groovy | 0
.../init/functional/tests/Application.groovy | 0
.../services/functional/tests/PersonService.groovy | 0
.../neo4j/base}/grails-app/views/book/create.gsp | 0
.../neo4j/base}/grails-app/views/book/edit.gsp | 0
.../neo4j/base}/grails-app/views/book/index.gsp | 0
.../neo4j/base}/grails-app/views/book/show.gsp | 0
.../base}/grails-app/views/error.gsp | 0
.../neo4j/base}/grails-app/views/index.gsp | 0
.../neo4j/base}/grails-app/views/layouts/main.gsp | 0
.../neo4j/base}/grails-app/views/notFound.gsp | 0
.../functional/tests/BookControllerSpec.groovy | 27 +-
.../groovy/functional/tests/pages/BookPages.groovy | 0
.../test/groovy/functional/tests/BookSpec.groovy | 0
.../test/groovy/functional/tests/PersonSpec.groovy | 0
.../functional/tests/StandaloneNeo4jSpec.groovy | 0
.../{redis => neo4j/hibernate5}/build.gradle | 46 +-
.../assets/images/apple-touch-icon-retina.png | Bin
.../grails-app/assets/images/apple-touch-icon.png | Bin
.../grails-app/assets/images/favicon.ico | Bin
.../grails-app/assets/images/grails_logo.png | Bin
.../grails-app/assets/images/skin/database_add.png | Bin
.../assets/images/skin/database_delete.png | Bin
.../assets/images/skin/database_edit.png | Bin
.../assets/images/skin/database_save.png | Bin
.../assets/images/skin/database_table.png | Bin
.../grails-app/assets/images/skin/exclamation.png | Bin
.../grails-app/assets/images/skin/house.png | Bin
.../grails-app/assets/images/skin/information.png | Bin
.../grails-app/assets/images/skin/shadow.jpg | Bin
.../grails-app/assets/images/skin/sorted_asc.gif | Bin
.../grails-app/assets/images/skin/sorted_desc.gif | Bin
.../grails-app/assets/images/spinner.gif | Bin
.../grails-app/assets/javascripts/application.js | 0
.../grails-app/assets/stylesheets/application.css | 0
.../grails-app/assets/stylesheets/errors.css | 0
.../grails-app/assets/stylesheets/main.css | 0
.../grails-app/assets/stylesheets/mobile.css | 0
.../hibernate5}/grails-app/conf/application.yml | 0
.../neo4j/hibernate5}/grails-app/conf/logback.xml | 0
.../grails-app/conf/spring/resources.groovy | 0
.../grails-app/controllers/UrlMappings.groovy | 0
.../functional/tests/AuthorController.groovy | 0
.../functional/tests/BookController.groovy | 0
.../domain/functional/tests/Author.groovy | 0
.../grails-app/domain/functional/tests/Book.groovy | 0
.../grails-app/i18n/messages.properties | 0
.../grails-app/i18n/messages_cs_CZ.properties | 0
.../grails-app/i18n/messages_da.properties | 0
.../grails-app/i18n/messages_de.properties | 0
.../grails-app/i18n/messages_es.properties | 0
.../grails-app/i18n/messages_fr.properties | 0
.../grails-app/i18n/messages_it.properties | 0
.../grails-app/i18n/messages_ja.properties | 0
.../grails-app/i18n/messages_nb.properties | 0
.../grails-app/i18n/messages_nl.properties | 0
.../grails-app/i18n/messages_pl.properties | 0
.../grails-app/i18n/messages_pt_BR.properties | 0
.../grails-app/i18n/messages_pt_PT.properties | 0
.../grails-app/i18n/messages_ru.properties | 0
.../grails-app/i18n/messages_sv.properties | 0
.../grails-app/i18n/messages_th.properties | 0
.../grails-app/i18n/messages_zh_CN.properties | 0
.../hibernate5}/grails-app/init/BootStrap.groovy | 0
.../init/functional/tests/Application.groovy | 0
.../hibernate5}/grails-app/views/author/create.gsp | 0
.../hibernate5}/grails-app/views/author/edit.gsp | 0
.../hibernate5}/grails-app/views/author/index.gsp | 0
.../hibernate5}/grails-app/views/author/show.gsp | 0
.../hibernate5}/grails-app/views/book/create.gsp | 0
.../hibernate5}/grails-app/views/book/edit.gsp | 0
.../hibernate5}/grails-app/views/book/index.gsp | 0
.../hibernate5}/grails-app/views/book/show.gsp | 0
.../hibernate5}/grails-app/views/error.gsp | 0
.../neo4j/hibernate5}/grails-app/views/index.gsp | 0
.../hibernate5}/grails-app/views/layouts/main.gsp | 0
.../hibernate5}/grails-app/views/notFound.gsp | 0
.../functional/tests/AuthorControllerSpec.groovy | 27 +-
.../functional/tests/BookControllerSpec.groovy | 26 +-
.../functional/tests/pages/AuthorPages.groovy} | 43 +-
.../groovy/functional/tests/pages/BookPages.groovy | 0
.../functional/tests/Neo4jWithHibernateSpec.groovy | 8 +
.../neo4j-standalone}/build.gradle | 23 +-
.../src/main/groovy/example/Person.groovy | 0
.../src/main/groovy/example/PersonService.groovy | 0
.../test/groovy/example/PersonServiceSpec.groovy | 0
.../spring-boot}/build.gradle | 30 +-
.../src/main/groovy/example/Application.groovy | 0
.../src/main/groovy/example/Book.groovy | 0
.../src/main/groovy/example/BookController.groovy | 0
.../src/main/groovy/example/BookService.groovy | 0
.../src/main/resources/application.yml | 0
.../test/groovy/example/BookControllerSpec.groovy | 0
.../test-data-service/build.gradle | 9 +-
.../grails-app/conf/application.groovy | 0
.../grails-app/conf/application.yml | 31 -
.../test-data-service/grails-app/conf/logback.xml | 0
.../grails-app/conf/spring/resources.groovy | 0
.../example/ApplicationController.groovy | 0
.../controllers/example/UrlMappings.groovy | 0
.../grails-app/domain/example/Book.groovy | 0
.../grails-app/domain/example/Person.groovy | 0
.../grails-app/domain/example/Student.groovy | 0
.../grails-app/i18n/messages.properties | 0
.../grails-app/init/example/Application.groovy | 0
.../grails-app/init/example/BootStrap.groovy | 0
.../grails-app/services/example/BookService.groovy | 0
.../services/example/LibraryService.groovy | 0
.../services/example/PersonService.groovy | 0
.../services/example/StudentService.groovy | 0
.../grails-app/services/example/TestService.groovy | 0
.../grails-app/views/application/index.gson | 0
.../test-data-service/grails-app/views/error.gson | 0
.../grails-app/views/errors/_errors.gson | 0
.../grails-app/views/notFound.gson | 0
.../grails-app/views/object/_object.gson | 0
.../groovy/example/StudentServiceSpec.groovy | 0
.../groovy/example/TestServiceSpec.groovy | 0
.../LoginAuthenticationSucessHandler.groovy | 0
.../src/main/groovy/example/TestBean.groovy | 0
.../issue11767/plugin/MyPluginGrailsPlugin.groovy | 2 +-
.../{messages.properties => loadfirst.properties} | 0
...en_US.properties => loadfirst_en_US.properties} | 0
.../{undertow => quartz}/build.gradle | 45 +-
.../quartz/grails-app/conf}/application.yml | 10 +-
.../quartz/grails-app/conf/logback.xml | 27 +
.../grails-app/init/quartzapp}/Application.groovy | 8 +-
.../grails-app/init/quartzapp}/BootStrap.groovy | 11 +-
.../grails-app/jobs/quartzapp/DisabledJob.groovy} | 12 +-
.../jobs/quartzapp/InterruptibleJob.groovy | 46 +-
.../jobs/quartzapp/LongRunningJob.groovy | 40 +-
.../jobs/quartzapp/NeverFiringJob.groovy | 15 +-
.../grails-app/jobs/quartzapp/OnDemandJob.groovy | 27 +-
.../grails-app/jobs/quartzapp/RepeatingJob.groovy | 28 +-
.../quartzapp/QuartzLongRunningJobSpec.groovy | 110 ++
.../groovy/quartzapp/QuartzSchedulingSpec.groovy | 144 ++
.../groovy/quartzapp/RecordingJobListener.groovy | 49 +-
grails-test-examples/redis/build.gradle | 4 +
grails-test-examples/scaffolding/build.gradle | 8 +
.../com/example/BookController.groovy} | 22 +-
.../grails-app/domain/com/example}/Book.groovy | 9 +-
.../grails-app/init/com/example/BootStrap.groovy | 4 +
.../services/com}/example/BookService.groovy | 15 +-
.../groovy/com/example/BookControllerSpec.groovy | 61 +
.../groovy/com/example/pages/BookListPage.groovy | 15 +-
.../acl/functional-test-app/build.gradle | 2 +
.../acl/integration-test-app/build.gradle | 2 +
grails-test-examples/spring-security/cas/README.md | 85 +-
.../spring-security/cas/test1/build.gradle | 27 +
.../cas/test1/grails-app/conf/application.groovy | 80 +-
.../test1}/grails-app/conf/spring/resources.groovy | 4 +-
.../cas/test/SecureController.groovy | 58 +
.../springsecurity/cas/test}/UrlMappings.groovy | 2 +-
.../spring/security/cas/SecureController.groovy | 35 -
.../plugin/springsecurity/cas}/test/Role.groovy | 2 +-
.../plugin/springsecurity/cas}/test/User.groovy | 2 +-
.../springsecurity/cas}/test/UserRole.groovy | 2 +-
.../springsecurity}/cas/test/Application.groovy | 2 +-
.../springsecurity}/cas/test/BootStrap.groovy | 6 +-
.../springsecurity/cas/test/AbstractCasSpec.groovy | 185 +++
.../springsecurity/cas/test/CasLoginSpec.groovy | 93 ++
.../cas/test/CasNoProxyReceptorSpec.groovy | 81 ++
.../cas/test/CasNoSingleSignOutSpec.groovy | 58 +
.../cas/test/CasProxyTicketSpec.groovy | 63 +
.../cas/test/CasSingleSignOutSpec.groovy | 74 +
.../cas/test/CasContainerHolder.groovy | 111 ++
.../cas/test/CasServiceUrlConfigurer.groovy | 57 +
.../springsecurity/cas/test/CasTestConfig.groovy | 84 ++
.../test/CasTestEnvironmentPostProcessor.groovy | 62 +
.../src/main/resources/META-INF/spring.factories | 13 +-
.../cas/services/grailsTest-10000001.json | 12 +
.../core/functional-test-app/build.gradle | 2 +
.../core/integration-test-app/build.gradle | 2 +
.../springsecurity/PluginMessageBundleSpec.groovy | 55 +
.../misc-functional-test-app/group/build.gradle | 2 +
.../integration-test/groovy/demo/LoginPage.groovy | 6 +
.../misc-functional-test-app/roles/build.gradle | 2 +
.../integration-test/groovy/demo/LoginPage.groovy | 6 +
.../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-report/build.gradle | 18 +-
grails-test-suite-base/build.gradle | 1 +
grails-test-suite-persistence/build.gradle | 2 +-
.../web/databinding/GrailsWebDataBinderSpec.groovy | 446 +++++-
grails-test-suite-uber/build.gradle | 20 +-
.../ResourceAnnotationRestfulControllerSpec.groovy | 2 +-
.../grails/test/mixin/RestfulControllerSpec.groovy | 2 +-
.../groovy/org/grails/plugins/PluginTests.java | 7 +-
.../org/grails/web/util/WebUtilsTests.groovy | 40 +
grails-test-suite-web/build.gradle | 17 +-
...ngHelperDomainClassSpecialPropertiesSpec.groovy | 113 +-
.../web/commandobjects/CommandObjectsSpec.groovy | 29 +
.../grails/web/servlet/BindDataMethodTests.groovy | 1441 +++++++++++++++++++-
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-mongodb/build.gradle | 5 +
.../testing/mongo/EmbeddedReplicaSetSpec.groovy | 126 ++
grails-testing-support-redis/build.gradle | 1 +
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 | 1 +
.../UrlMappingsBeanDefinitionsPostProcessor.groovy | 34 +-
.../web/mapping/UrlMappingsGrailsPlugin.groovy | 15 +-
.../web/mapping/UrlMappingsGrailsPluginSpec.groovy | 35 +
grails-validation/build.gradle | 1 +
grails-views-core/build.gradle | 4 +-
grails-views-gson/build.gradle | 6 +-
.../plugin/json/view/JsonViewGrailsPlugin.groovy | 9 +-
.../grails/plugin/json/view/ExpandSpec.groovy | 18 +-
.../grails/plugin/json/view/HalEmbeddedSpec.groovy | 52 +-
.../json/view/IncludeAssociationsSpec.groovy | 4 +-
.../plugin/json/view/IterableRenderSpec.groovy | 44 +-
.../grails/plugin/json/view/MapRenderSpec.groovy | 31 +-
.../plugin/json/view/NullRenderingSpec.groovy | 26 +-
.../json/view/TemplateInheritanceSpec.groovy | 3 +
.../view/api/JsonApiHandleAssociationsSpec.groovy | 2 +-
.../grails/plugin/json/view/api/JsonApiSpec.groovy | 22 +-
.../view/api/handleassociations/Fixtures.groovy | 11 +-
.../grails/plugin/json/view/expand/Fixtures.groovy | 41 +-
.../plugin/json/view/halembedded/Fixtures.groovy | 57 +-
.../plugin/json/view/include/Fixtures.groovy | 41 +-
.../plugin/json/view/iterable/Fixtures.groovy | 41 +-
.../plugin/json/view/maprender/Fixtures.groovy | 47 +-
.../plugin/json/view/nullrendering/Fixtures.groovy | 47 +-
grails-views-markup/build.gradle | 3 +-
.../markup/view/MarkupViewGrailsPlugin.groovy | 9 +-
grails-web-boot/build.gradle | 1 +
grails-web-common/build.gradle | 2 +
.../main/groovy/org/grails/web/util/WebUtils.java | 19 +-
grails-web-core/build.gradle | 1 +
grails-web-databinding/build.gradle | 1 +
.../groovy/grails/web/databinding/BindAllowed.java | 11 +-
.../grails/web/databinding/DataBinder.groovy | 8 +-
.../grails/web/databinding/DataBindingUtils.java | 412 +++++-
.../web/databinding/GrailsWebDataBinder.groovy | 410 +++++-
.../web/databinding/MissingPropertyClearer.java | 823 +++++++++++
.../databinding/aot/DataBindingRuntimeHints.java | 62 +
.../DataBindingEventMulticastListener.groovy | 4 +
.../databinding/DefaultASTDatabindingHelper.java | 107 +-
.../main/resources/META-INF/spring/aot.factories | 2 +
.../web/databinding/DenyByDefaultConfigSpec.groovy | 103 ++
grails-web-mvc/build.gradle | 3 +-
.../web/errors/GrailsExceptionResolverSpec.groovy | 68 +-
grails-web-url-mappings/build.gradle | 2 +
.../web/mapping/aot/UrlMappingRuntimeHints.java | 61 +
.../main/resources/META-INF/spring/aot.factories | 2 +
settings.gradle | 48 +
1396 files changed, 76259 insertions(+), 12848 deletions(-)
create mode 100755 .github/scripts/ossIndexReport.sh
create mode 100755 .github/scripts/postStickyComment.sh
create mode 100644 .github/workflows/benchmark.yml
create mode 100644 end-to-end/taglib-index-incremental/build.gradle
create mode 100644 end-to-end/taglib-index-incremental/src/test/groovy/org/apache/grails/e2e/taglib/TagLibraryIndexIncrementalSpec.groovy
create mode 100644 grails-async/plugin/src/test/groovy/org/grails/plugins/web/async/AsyncWebRequestPromiseDecoratorLookupStrategySpec.groovy
create mode 100644 grails-async/plugin/src/test/groovy/org/grails/plugins/web/async/AsyncWebRequestPromiseDecoratorSpec.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-data-neo4j/examples/grails3-neo4j/grails-app/domain/functional/tests/Book.groovy => grails-benchmarks/src/main/groovy/org/apache/grails/benchmarks/interceptors/InterceptorFixture.groovy (77%)
create mode 100644 grails-benchmarks/src/main/groovy/org/apache/grails/benchmarks/urlmappings/UrlMappingsFixture.groovy
copy grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/JavaxValidationSpec.groovy => grails-benchmarks/src/main/groovy/org/apache/grails/benchmarks/views/ViewTemplateFixture.groovy (52%)
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
copy grails-bom/{hibernate7 => neo4j}/build.gradle (95%)
create mode 100644 grails-common/src/main/groovy/org/apache/grails/common/aot/AheadOfTimeProcessing.java
create mode 100644 grails-common/src/main/groovy/org/apache/grails/common/aot/RegistrableTypes.java
create mode 100644 grails-common/src/test/groovy/org/apache/grails/common/aot/RegistrableTypesSpec.groovy
create mode 100644 grails-controllers/src/main/groovy/org/apache/grails/controllers/aot/ControllerRuntimeHints.java
create mode 100644 grails-controllers/src/main/resources/META-INF/spring/aot.factories
create mode 100644 grails-controllers/src/test/groovy/org/apache/grails/controllers/aot/ControllerRuntimeHintsSpec.groovy
create mode 100644 grails-core/src/main/groovy/org/apache/grails/core/aot/AbstractBeanDefinitionExcludeFilter.java
create mode 100644 grails-core/src/main/groovy/org/apache/grails/core/aot/ArtefactClassesBeanFactoryInitializationAotProcessor.java
create mode 100644 grails-core/src/main/groovy/org/apache/grails/core/aot/AutowireModeBeanRegistrationAotProcessor.java
create mode 100644 grails-core/src/main/groovy/org/apache/grails/core/aot/BeanRegistrarRuntimeHints.java
create mode 100644 grails-core/src/main/groovy/org/apache/grails/core/aot/GrailsApiRuntimeHints.java
create mode 100644 grails-core/src/main/groovy/org/apache/grails/core/aot/GrailsBannerRuntimeHints.java
create mode 100644 grails-core/src/main/groovy/org/apache/grails/core/aot/GrailsClosureRuntimeHints.java
create mode 100644 grails-core/src/main/groovy/org/apache/grails/core/aot/GrailsResourceRuntimeHints.java
create mode 100644 grails-core/src/main/groovy/org/apache/grails/core/aot/GroovyExtensionModuleRuntimeHints.java
create mode 100644 grails-core/src/main/groovy/org/apache/grails/core/aot/VarargsBeanRegistrationAotProcessor.java
delete mode 100644 grails-core/src/main/groovy/org/grails/spring/context/support/PluginAwareResourceBundleMessageSource.java
delete mode 100644 grails-core/src/main/groovy/org/grails/spring/context/support/ReloadableResourceBundleMessageSource.java
create mode 100644 grails-core/src/main/resources/META-INF/native-image/org.apache.grails/grails-core/native-image.properties
create mode 100644 grails-core/src/main/resources/META-INF/spring/aot.factories
create mode 100644 grails-core/src/test/groovy/grails/boot/GrailsBannerColourSpec.groovy
create mode 100644 grails-core/src/test/groovy/grails/boot/GrailsBannerNativeMarkSpec.groovy
create mode 100644 grails-core/src/test/groovy/grails/boot/GrailsBannerVersionLookupSpec.groovy
create mode 100644 grails-core/src/test/groovy/grails/boot/config/GrailsApplicationPostProcessorAnnotationConfigSpec.groovy
create mode 100644 grails-core/src/test/groovy/grails/boot/config/GrailsAutoConfigurationArtefactsSpec.groovy
create mode 100644 grails-core/src/test/groovy/grails/util/ActiveProcessorCountForkTests.java
create mode 100644 grails-core/src/test/groovy/org/apache/grails/core/aot/AbstractBeanDefinitionExcludeFilterSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/apache/grails/core/aot/ArtefactClassesBeanFactoryInitializationAotProcessorSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/apache/grails/core/aot/AutowireModeBeanRegistrationAotProcessorSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/apache/grails/core/aot/BeanRegistrarRuntimeHintsSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/apache/grails/core/aot/GrailsApiRuntimeHintsSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/apache/grails/core/aot/GrailsBannerRuntimeHintsSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/apache/grails/core/aot/GrailsClosureRuntimeHintsSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/apache/grails/core/aot/GrailsResourceRuntimeHintsSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/apache/grails/core/aot/GroovyExtensionModuleRuntimeHintsSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/apache/grails/core/aot/VarargsBeanRegistrationAotProcessorSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/grails/plugins/CoreGrailsPluginAotSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/grails/spring/beans/AbstractResourceLocatorPostProcessorSpec.groovy
delete mode 100644 grails-core/src/test/groovy/org/grails/spring/context/ResourceBundleMessageSourceSpec.groovy
create mode 100644 grails-core/src/test/resources/grails/boot/version-in-a-resource.properties
create mode 100644 grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/HibernateGormApiFactory.groovy
create mode 100644 grails-data-hibernate5/core/src/test/groovy/org/apache/grails/data/testing/tck/base/GrailsDataTckManagerSpec.groovy
create mode 100644 grails-data-hibernate5/core/src/test/groovy/org/grails/orm/hibernate/connections/DatabaseMultiTenantServiceRoutingSpec.groovy
create mode 100644 grails-data-hibernate5/core/src/test/groovy/org/grails/orm/hibernate/connections/MultiTenantFinderDispatchSpec.groovy
create mode 100644 grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/HibernateGormApiFactory.groovy
create mode 100644 grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/hibernate/HibernateBasicEnumProperty.java
create mode 100644 grails-data-hibernate7/core/src/test/groovy/grails/gorm/tests/EnumHasManyDdlSpec.groovy
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-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/GormTextTypeColumnIntegrationSpec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/GormTextTypeColumnLengthSpec.groovy
create mode 100644 grails-data-mongodb/core/src/main/groovy/org/grails/datastore/gorm/mongo/MongoGormApiFactory.groovy
create mode 100644 grails-data-mongodb/core/src/test/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializerBeanDefinitionsSpec.groovy
create mode 100644 grails-data-mongodb/core/src/test/groovy/org/grails/datastore/gorm/mongo/api/MongoStaticApiSpec.groovy
create mode 100644 grails-data-mongodb/core/src/test/groovy/org/grails/datastore/mapping/mongo/MongoDatastoreLifecycleSpec.groovy
create mode 100644 grails-data-mongodb/core/src/test/groovy/org/grails/datastore/mapping/mongo/config/MongoMappingContextSpec.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/ReplicaSetInitiator.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/EmbeddedMongoReplicaSetSpec.groovy
create mode 100644 grails-data-mongodb/embedded/src/test/groovy/org/grails/datastore/gorm/mongodb/embedded/EmbeddedMongoSettingsSpec.groovy
delete mode 100644 grails-data-neo4j/build.gradle
create mode 100644 grails-data-neo4j/core/build.gradle
copy grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/grails/neo4j/Direction.groovy (99%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/grails/neo4j/Neo4jEntity.groovy (94%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/grails/neo4j/Node.groovy (99%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/grails/neo4j/Path.groovy (96%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/grails/neo4j/Relationship.groovy (76%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/grails/neo4j/mapping/MappingBuilder.groovy (97%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/grails/neo4j/services/Cypher.groovy (99%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/CypherBuilder.java (85%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/GraphClassMapping.groovy (86%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/GraphGormMappingFactory.groovy (52%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/GraphPersistentEntity.groovy (87%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/IdGenerator.java (99%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jDatastore.java (80%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jDatastoreTransactionManager.java (97%)
copy grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jEntityTraitProvider.groovy (94%)
create mode 100644 grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jGormApiFactory.groovy
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jMappingContext.java (77%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jSession.java (89%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jTransaction.groovy (86%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/RelationshipPersistentEntity.groovy (80%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/RelationshipUtils.groovy (87%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/SessionFlushedEvent.java (99%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/TypeDirectionPair.java (92%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/api/Neo4jGormStaticApi.groovy (81%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/GraphAdapter.groovy (78%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jAssociationResultList.groovy (94%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jList.groovy (90%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPath.groovy (82%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPersistentList.groovy (95%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPersistentSet.groovy (91%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jPersistentSortedSet.groovy (94%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jRelationship.groovy (97%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jResultList.groovy (80%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jSet.groovy (89%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/collection/Neo4jSortedSet.groovy (89%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/config/Neo4jDriverConfigBuilder.groovy (90%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/config/Settings.java (97%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jConnectionSourceFactory.java (83%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jConnectionSourceSettings.groovy (99%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jConnectionSourceSettingsBuilder.groovy (99%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/connections/Neo4jEmbeddedConnectionSource.java (99%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/DynamicAssociationSupport.java (82%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jAssociationQueryExecutor.groovy (71%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jEntityPersister.java (73%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jModificationTrackingEntityAccess.groovy (99%)
create mode 100644 grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jQuery.groovy
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/RelationshipPendingDelete.java (90%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/RelationshipPendingInsert.java (71%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/extensions/Neo4jExtensions.groovy (77%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/identity/SnowflakeIdGenerator.java (94%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/Attribute.groovy (99%)
copy grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicAssociation.java (99%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicToManyAssociation.java (98%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicToOneAssociation.java (93%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/NodeConfig.groovy (95%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/RelationshipConfig.groovy (96%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/reflect/Neo4jNameUtils.groovy (91%)
create mode 100644 grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/parsers/PlingStemmer.java
create mode 100644 grails-data-neo4j/core/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/HashcodeEqualsAwareProxyFactory.java
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/Neo4jAssociationQueryProxyHandler.java (99%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/Neo4jProxyFactory.java (99%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindAllCypherQueryImplementer.groovy (93%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindOneCypherQueryImplementer.groovy (92%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindPathCypherQueryImplementer.groovy (83%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/FindShortestPathImplementer.groovy (76%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/StatementResultCypherQueryImplementer.groovy (88%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/services/implementers/UpdateCypherQueryImplementer.groovy (82%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/services/transform/CypherQueryStringTransformer.groovy (96%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/util/EmbeddedNeo4jServer.java (84%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/groovy/org/grails/datastore/gorm/neo4j/util/IteratorUtil.java (96%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/resources/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/resources/META-INF/services/org.grails.compiler.gorm.GormEntityTraitProvider (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/main/resources/META-INF/services/org.grails.datastore.gorm.services.ServiceImplementer (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/AssignedIdSpec.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/CascadingDeleteSpec.groovy (87%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/CustomLabelWithDynamicAssociationSpec.groovy (88%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/CypherQueryStringSpec.groovy (94%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/EagerFetchingSpec.groovy (88%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/EntityParseSpec.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/FindByIsNullSpec.groovy (87%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/GroovyProxySpec.groovy (83%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/HasManyInheritanceSpec.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/InheritanceProxySpec.groovy (81%)
copy grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/JavaxValidationSpec.groovy (84%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/JoinCriteriaSpec.groovy (89%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/LabelStrategySpec.groovy (93%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/LikeQuerySpec.groovy (91%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/ManyToManyQuerySpec.groovy (90%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/ManyToManySpec.groovy (87%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/MapPropertySpec.groovy (88%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/MarkDirtyFalseSpec.groovy (73%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/MiscSpec.groovy (85%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/MultipleConnectionsSpec.groovy (93%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/NativeIdentityGeneratorSpec.groovy (87%)
copy grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/Neo4jNameUtilsSpec.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/Neo4jResultListSpec.groovy (85%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/NullValueEqualSpec.groovy (84%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/OneToManyUpdateSpec.groovy (89%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/OneToOneSpec.groovy (82%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/OptimisticLockingSpec.groovy (72%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/OrphanDeleteSpec.groovy (87%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/PagedResultSpec.groovy (91%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/PersistenceEventListenerSpec.groovy (87%)
copy grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/Pet.groovy (88%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/ProjectionsSpec.groovy (89%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/ProxySpec.groovy (86%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/ReadManyObjectsSpec.groovy (86%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/RelationshipMappingSpec.groovy (93%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/RelationshipUtilsSpec.groovy (73%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/SchemalessSpec.groovy (80%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/TransientsSpec.groovy (87%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/UniqueConstraintSpec.groovy (91%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/UpdateWithProxyPresentSpec.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/ValidationSpec.groovy (86%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/WithTransactionSpec.groovy (90%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/assignedid/OneToManyCreateSpec.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/assignedid/domain/Owner.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/assignedid/domain/Pet.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/cypher/OneToManyCreateSpec.groovy (91%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/cypher/domain/Owner.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/cypher/domain/Pet.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/idgeneration/CustomIdGeneratorSpec.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/idgeneration/SnowflakeIdGeneratorSpec.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/multitenancy/MultiTenancySpec.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/multitenancy/SingleTenancySpec.groovy (95%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/path/PathSpec.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/path/RelationshipSpec.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/path/domain/Person.groovy (100%)
copy grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/services/Author.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/services/AuthorBooks.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/services/Book.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/gorm/tests/services/CypherQueryTransformerSpec.groovy (100%)
copy grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/grails/neo4j/Neo4jEntitySpec.groovy (100%)
create mode 100644 grails-data-neo4j/core/src/test/groovy/org/apache/grails/data/neo4j/core/GrailsDataNeo4jTckManager.groovy
create mode 100644 grails-data-neo4j/core/src/test/groovy/org/apache/grails/data/neo4j/core/Neo4jGormDatastoreSpec.groovy
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/org/grails/datastore/gorm/neo4j/ApiExtensionsSpec.groovy (86%)
create mode 100644 grails-data-neo4j/core/src/test/groovy/org/grails/datastore/gorm/neo4j/Neo4jMappingContextSpec.groovy
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/org/grails/datastore/gorm/neo4j/RelationshipUtilsSpec.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/org/grails/datastore/gorm/neo4j/TransactionPropagationSpec.groovy (89%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/org/grails/datastore/gorm/neo4j/config/Neo4jConnectionSourceSettingsSpec.groovy (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/groovy/org/grails/datastore/gorm/neo4j/config/Neo4jDriverConfigBuilderSpec.groovy (100%)
create mode 100644 grails-data-neo4j/core/src/test/resources/META-INF/services/org.apache.grails.data.testing.tck.base.GrailsDataTckManager
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/resources/logback.xml (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/resources/neo4j-server.properties (100%)
rename grails-data-neo4j/{grails-datastore-gorm-neo4j => core}/src/test/resources/spy.properties (100%)
delete mode 100644 grails-data-neo4j/examples/grails3-neo4j-hibernate/build.gradle
delete mode 100644 grails-data-neo4j/examples/grails3-neo4j-hibernate/gradle.properties
delete mode 100644 grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/views/error.gsp
delete mode 100644 grails-data-neo4j/examples/grails3-neo4j/build.gradle
delete mode 100644 grails-data-neo4j/examples/grails3-neo4j/gradle.properties
delete mode 100644 grails-data-neo4j/examples/grails3-neo4j/grails-app/views/error.gsp
delete mode 100644 grails-data-neo4j/examples/neo4j-spring-boot/gradle.properties
delete mode 100644 grails-data-neo4j/examples/neo4j-standalone/build.gradle
delete mode 100644 grails-data-neo4j/examples/neo4j-standalone/gradle.properties
delete mode 100644 grails-data-neo4j/examples/test-data-service/build.gradle
delete mode 100644 grails-data-neo4j/examples/test-data-service/gradle.properties
delete mode 100644 grails-data-neo4j/examples/test-data-service/grails-app/services/example/StudentService.groovy
delete mode 100644 grails-data-neo4j/examples/test-data-service/src/main/groovy/example/LoginAuthenticationSucessHandler.groovy
delete mode 100644 grails-data-neo4j/gradle.properties
create mode 100644 grails-data-neo4j/gradle/neo4j-harness-test-config.gradle
delete mode 100644 grails-data-neo4j/grails-datastore-gorm-neo4j/build.gradle
delete mode 100644 grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/engine/Neo4jQuery.groovy
delete mode 100644 grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/parsers/PlingStemmer.java
delete mode 100644 grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/proxy/HashcodeEqualsAwareProxyFactory.java
delete mode 100644 grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/GormDatastoreSpec.groovy
delete mode 100644 grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/org/grails/datastore/gorm/neo4j/Neo4jSuite.groovy
delete mode 100644 grails-data-neo4j/settings.gradle
create mode 100644 grails-data-simple/src/test/groovy/org/grails/datastore/mapping/simple/SimpleMapDatastoreSpec.groovy
create mode 100644 grails-databinding-core/src/main/groovy/grails/databinding/FrameworkPropertyNames.java
create mode 100644 grails-datamapping-core-test/src/test/groovy/org/grails/datastore/gorm/ExplicitSaveRepersistsSpec.groovy
create mode 100644 grails-datamapping-core/src/main/groovy/grails/gorm/multitenancy/CurrentTenantHolder.groovy
create mode 100644 grails-datamapping-core/src/main/groovy/org/apache/grails/datamapping/aot/GormRuntimeHints.java
create mode 100644 grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/AbstractGormApiRegistry.groovy
create mode 100644 grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/ConnectionSourceNameResolver.groovy
copy grails-data-neo4j/grails-plugin/src/main/groovy/org/grails/datastore/gorm/neo4j/converters/LocalDateToLongConverter.groovy => grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/DatastoreResolver.groovy (68%)
create mode 100644 grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/DefaultGormApiFactory.groovy
create mode 100644 grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormApiFactory.groovy
create mode 100644 grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormApiResolver.groovy
create mode 100644 grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormEnhancerRegistry.groovy
create mode 100644 grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormInstanceApiRegistry.groovy
create mode 100644 grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormRegistry.groovy
create mode 100644 grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormStaticApiRegistry.groovy
create mode 100644 grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/GormValidationApiRegistry.groovy
create mode 100644 grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/transactions/DefaultTransactionTemplateFactory.groovy
create mode 100644 grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/transactions/TransactionTemplateFactory.groovy
create mode 100644 grails-datamapping-core/src/main/resources/META-INF/spring/aot.factories
create mode 100644 grails-datamapping-core/src/test/groovy/grails/gorm/CriteriaBuilderSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/grails/gorm/annotation/multitenancy/MultiTenantCurrentTenantTransformSpec.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/services/transform/ServiceTransformClasses.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/grails/gorm/services/transform/ServiceTransformSpec.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/apache/grails/datamapping/aot/GormRuntimeHintsSpec.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/AbstractGormApiRegistrySpec.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/ActiveSessionDatastoreSelectorSpec.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/DefaultDatastoreSelectorSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/DefaultGormApiFactorySpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormApiFactorySpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormApiRegistrySpec.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/GormRegistryConcurrencySpec.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/GormRegistryEntityRegistrationSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormRegistryFactorySpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormRegistrySpec.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/GormStaticApiStringQueryDelegationSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/GormStaticApiWithDatastoreSessionSpec.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/GormValidationApiSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/PreferredDatastoreSelectorSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/QualifiedDatastoreSelectorSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/bootstrap/AbstractDatastoreInitializerConfigurationSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/events/ConfigurableApplicationContextEventPublisherSpec.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/jdbc/MultiTenantConnectionSpec.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/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-core/src/test/groovy/org/grails/datastore/gorm/transform/AstPropertyResolveUtilsSpec.groovy
create mode 100644 grails-datamapping-validation/src/main/groovy/org/apache/grails/datamapping/validation/aot/ConstrainedPropertyRuntimeHints.java
create mode 100644 grails-datamapping-validation/src/main/resources/META-INF/spring/aot.factories
create mode 100644 grails-datamapping-validation/src/test/groovy/org/apache/grails/datamapping/validation/aot/ConstrainedPropertyRuntimeHintsSpec.groovy
create mode 100644 grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/core/SessionResolver.groovy
create mode 100644 grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/core/TransactionSynchronizationSessionResolver.groovy
rename grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/core/connections/{MultipleConnectionSourceCapableDatastore.groovy => MultipleConnectionSourceCapableDatastore.java} (82%)
rename grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/Neo4jEntityTraitProvider.groovy => grails-datastore-core/src/main/groovy/org/grails/datastore/mapping/core/connections/SingleSessionCapableDatastore.java (51%)
create mode 100644 grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/core/AbstractDatastoreSpec.groovy
create mode 100644 grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/core/SessionResolverIntegrationSpec.groovy
create mode 100644 grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/core/TransactionSynchronizationSessionResolverSpec.groovy
create mode 100644 grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/core/connections/AbstractConnectionSourceFactorySpec.groovy
create mode 100644 grails-datastore-core/src/test/groovy/org/grails/datastore/mapping/document/config/DocumentMappingContextSpec.groovy
create mode 100644 grails-doc/src/en/guide/GORM/multiTenancy.adoc
create mode 100644 grails-doc/src/en/guide/backgroundJobs.adoc
create mode 100644 grails-doc/src/en/guide/backgroundJobs/backgroundJobsAdvanced.adoc
create mode 100644 grails-doc/src/en/guide/backgroundJobs/backgroundJobsAdvanced/quartzClustering.adoc
create mode 100644 grails-doc/src/en/guide/backgroundJobs/backgroundJobsAdvanced/quartzConfiguration.adoc
create mode 100644 grails-doc/src/en/guide/backgroundJobs/backgroundJobsAdvanced/quartzDynamicScheduling.adoc
create mode 100644 grails-doc/src/en/guide/backgroundJobs/backgroundJobsAdvanced/quartzInstallation.adoc
create mode 100644 grails-doc/src/en/guide/backgroundJobs/backgroundJobsAdvanced/quartzJobManagerService.adoc
create mode 100644 grails-doc/src/en/guide/backgroundJobs/backgroundJobsAdvanced/quartzJobProperties.adoc
create mode 100644 grails-doc/src/en/guide/backgroundJobs/backgroundJobsAdvanced/quartzLongRunningJobs.adoc
create mode 100644 grails-doc/src/en/guide/backgroundJobs/backgroundJobsAdvanced/quartzScheduling.adoc
create mode 100644 grails-doc/src/en/guide/backgroundJobs/backgroundJobsAdvanced/quartzTriggers.adoc
create mode 100644 grails-doc/src/en/guide/backgroundJobs/backgroundJobsAdvanced/quartzUsefulLinks.adoc
create mode 100644 grails-doc/src/en/guide/backgroundJobs/backgroundJobsBasic.adoc
create mode 100644 grails-doc/src/en/guide/deployment/deploymentAot.adoc
create mode 100644 grails-doc/src/en/guide/deployment/deploymentAotCache.adoc
create mode 100644 grails-doc/src/en/guide/testing/testingMongodb.adoc
create mode 100644 grails-doc/src/en/guide/theWebLayer/gsp/gspStaticCompilation.adoc
create mode 100644 grails-doc/src/en/guide/theWebLayer/gsp/taglibs/compiledTags.adoc
copy grails-doc/src/en/{guide/theWebLayer/gsp/GSPBasics/expressions.adoc => ref/Triggers.adoc} (50%)
create mode 100644 grails-doc/src/en/ref/Triggers/cron.adoc
create mode 100644 grails-doc/src/en/ref/Triggers/custom.adoc
create mode 100644 grails-doc/src/en/ref/Triggers/simple.adoc
copy grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/database/{MongoSync.java => MongoDBTestingSupport.java} (67%)
create mode 100644 grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/database/MongoDBTestingSupportValidator.java
copy grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/database/{GrailsDataMongoDB.java => Neo4jGorm.java} (67%)
delete mode 100644 grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/security/template/securityConfig.rocker.raw
rename grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/Neo4jNameUtilsSpec.groovy => grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/ActiveProcessorCountForkSpec.groovy (61%)
create mode 100644 grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/MongoDBTestingSupportSpec.groovy
copy grails-forge/grails-forge-core/src/test/groovy/org/grails/forge/feature/database/{MongoSyncSpec.groovy => Neo4JGormSpec.groovy} (56%)
create mode 100644 grails-gradle/plugins/src/main/groovy/org/apache/grails/gradle/plugin/aot/AotCacheExtension.groovy
create mode 100644 grails-gradle/plugins/src/main/groovy/org/apache/grails/gradle/plugin/aot/ExtractApplicationTask.groovy
create mode 100644 grails-gradle/plugins/src/main/groovy/org/apache/grails/gradle/plugin/aot/GenerateNativeMetadataTask.groovy
create mode 100644 grails-gradle/plugins/src/main/groovy/org/apache/grails/gradle/plugin/aot/NativeMetadataExtension.groovy
create mode 100644 grails-gradle/plugins/src/main/groovy/org/apache/grails/gradle/plugin/aot/RunPort.groovy
create mode 100644 grails-gradle/plugins/src/main/groovy/org/apache/grails/gradle/plugin/aot/StartupLog.groovy
create mode 100644 grails-gradle/plugins/src/main/groovy/org/apache/grails/gradle/plugin/aot/TraceNativeMetadataTask.groovy
create mode 100644 grails-gradle/plugins/src/main/groovy/org/apache/grails/gradle/plugin/aot/TrainAotCacheTask.groovy
create mode 100644 grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/core/GrailsGspCompileStaticProvider.groovy
create mode 100644 grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/core/GrailsI18nOptions.groovy
create mode 100644 grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/i18n/GenerateI18nDescriptorTask.groovy
create mode 100644 grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/i18n/I18nBundleIndex.groovy
create mode 100644 grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/scaffolding/GenerateScaffoldedViewsTask.groovy
create mode 100644 grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/views/gsp/GenerateTagLibraryIndexTask.groovy
create mode 100644 grails-gradle/plugins/src/main/groovy/org/grails/gradle/plugin/views/gsp/TagLibraryIndexFiles.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/apache/grails/gradle/plugin/aot/ExtractApplicationTaskSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/apache/grails/gradle/plugin/aot/GenerateNativeMetadataTaskSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/apache/grails/gradle/plugin/aot/RunPortSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/apache/grails/gradle/plugin/aot/StartupLogSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/apache/grails/gradle/plugin/aot/TraceNativeMetadataTaskSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/apache/grails/gradle/plugin/aot/TracedRunFixture.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/apache/grails/gradle/plugin/aot/TrainAotCacheTaskSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/apache/grails/gradle/plugin/aot/TrainingRunFixture.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/core/ActiveProcessorCountForkSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/core/AssetClasspathPackagingSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/core/GrailsGspCompileStaticProviderSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/core/GrailsNativeImageDefaultsSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/i18n/GenerateI18nDescriptorTaskSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/i18n/I18nBundleIndexSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/i18n/I18nDescriptorFunctionalSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/scaffolding/GenerateScaffoldedViewsTaskSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/views/gsp/GenerateTagLibraryIndexTaskSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/views/gsp/GroovyPageToolchainSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/views/gsp/TagLibraryIndexFilesSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/views/gsp/TagLibraryIndexWiringFunctionalSpec.groovy
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/asset-classpath-packaging/build.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/asset-classpath-packaging/gradle.properties
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/asset-classpath-packaging/settings.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/gsp-compile-static/build.gradle
copy grails-gradle/plugins/src/test/resources/test-projects/{auto-apply-bom-disabled => gsp-compile-static}/gradle.properties (100%)
copy grails-gradle/plugins/src/test/resources/test-projects/{boot-run-pid-web => gsp-compile-static}/grails-app/conf/application.yml (100%)
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/gsp-compile-static/settings.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-app/build.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-app/gradle.properties
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-app/grails-app/i18n/api_errors.properties
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-app/grails-app/i18n/messages.properties
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-app/grails-app/i18n/messages_de.properties
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-app/grails-app/i18n/messages_pt_BR.properties
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-app/settings.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-declared/build.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-declared/gradle.properties
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-declared/grails-app/i18n/api.properties
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-declared/grails-app/i18n/api_errors.properties
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-declared/settings.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-plugin-collision/build.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-plugin-collision/gradle.properties
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-plugin-collision/grails-app/i18n/messages.properties
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-plugin-collision/settings.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-plugin-collision/src/main/groovy/demo/SpringSecurityDemoGrailsPlugin.groovy
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-plugin/build.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-plugin/gradle.properties
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-plugin/grails-app/i18n/spring-security-demo-validation.properties
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-plugin/grails-app/i18n/spring-security-demo.properties
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-plugin/grails-app/i18n/spring-security-demo_fr.properties
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-plugin/settings.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/i18n-descriptor-plugin/src/main/groovy/demo/SpringSecurityDemoGrailsPlugin.groovy
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/native-defaults-aot/build.gradle
copy grails-gradle/plugins/src/test/resources/test-projects/{auto-apply-bom-disabled => native-defaults-aot}/gradle.properties (100%)
copy grails-gradle/plugins/src/test/resources/test-projects/{boot-run-pid-web => native-defaults-aot}/grails-app/conf/application.yml (100%)
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/native-defaults-aot/settings.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/native-defaults-off/build.gradle
copy grails-gradle/plugins/src/test/resources/test-projects/{auto-apply-bom-disabled => native-defaults-off}/gradle.properties (100%)
copy grails-gradle/plugins/src/test/resources/test-projects/{boot-run-pid-web => native-defaults-off}/grails-app/conf/application.yml (100%)
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/native-defaults-off/settings.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/native-defaults-on/build.gradle
copy grails-gradle/plugins/src/test/resources/test-projects/{auto-apply-bom-disabled => native-defaults-on}/gradle.properties (100%)
copy grails-gradle/plugins/src/test/resources/test-projects/{boot-run-pid-web => native-defaults-on}/grails-app/conf/application.yml (100%)
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/native-defaults-on/settings.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/native-metadata-ordering/build.gradle
copy grails-gradle/plugins/src/test/resources/test-projects/{auto-apply-bom-disabled => native-metadata-ordering}/gradle.properties (100%)
copy grails-gradle/plugins/src/test/resources/test-projects/{boot-run-pid-web => native-metadata-ordering}/grails-app/conf/application.yml (100%)
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/native-metadata-ordering/grails-app/views/index.gsp
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/native-metadata-ordering/settings.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/taglib-index-wiring/build.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/taglib-index-wiring/settings.gradle
create mode 100644 grails-gsp/core/src/main/groovy/org/apache/grails/gsp/aot/PrecompiledPageRuntimeHints.java
create mode 100644 grails-gsp/core/src/main/resources/META-INF/spring/aot.factories
create mode 100644 grails-gsp/core/src/test/groovy/org/apache/grails/gsp/aot/PrecompiledPageRuntimeHintsSpec.groovy
create mode 100644 grails-gsp/core/src/test/groovy/org/grails/gsp/GroovyPageMetaInfoReloadSpec.groovy
create mode 100644 grails-gsp/core/src/test/groovy/org/grails/gsp/GroovyPageMethodMissingSpec.groovy
create mode 100644 grails-gsp/core/src/test/groovy/org/grails/gsp/GroovyPagesTemplateEngineChecksumSpec.groovy
create mode 100644 grails-gsp/core/src/test/groovy/org/grails/gsp/GspCompileStaticConfigSpec.groovy
create mode 100644 grails-gsp/core/src/test/groovy/org/grails/gsp/compiler/GroovyPageCompilerReproducibilitySpec.groovy
create mode 100644 grails-gsp/core/src/test/groovy/org/grails/gsp/io/DefaultGroovyPageLocatorPrecompiledSpec.groovy
create mode 100644 grails-gsp/grails-sitemesh3/src/test/groovy/org/grails/plugins/sitemesh3/GrailsSiteMeshViewResolverServletContextSpec.groovy
create mode 100644 grails-gsp/grails-taglib/src/main/groovy/org/grails/taglib/CompiledTagInvocation.java
create mode 100644 grails-gsp/grails-taglib/src/main/groovy/org/grails/taglib/discovery/AstTagLibraryView.java
create mode 100644 grails-gsp/grails-taglib/src/main/groovy/org/grails/taglib/discovery/AstTagMethodView.java
create mode 100644 grails-gsp/grails-taglib/src/main/groovy/org/grails/taglib/discovery/ReflectedTagLibraryView.java
create mode 100644 grails-gsp/grails-taglib/src/main/groovy/org/grails/taglib/discovery/ReflectedTagMethodView.java
create mode 100644 grails-gsp/grails-taglib/src/main/groovy/org/grails/taglib/discovery/TagDiscoveryRules.java
create mode 100644 grails-gsp/grails-taglib/src/main/groovy/org/grails/taglib/discovery/TagLibraryAstDiscovery.java
create mode 100644 grails-gsp/grails-taglib/src/main/groovy/org/grails/taglib/discovery/TagLibraryView.java
create mode 100644 grails-gsp/grails-taglib/src/main/groovy/org/grails/taglib/discovery/TagMethodView.java
create mode 100644 grails-gsp/grails-taglib/src/main/groovy/org/grails/taglib/index/TagLibraryIndex.java
rename grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/org/grails/datastore/gorm/neo4j/mapping/config/DynamicAssociation.java => grails-gsp/grails-taglib/src/main/groovy/org/grails/taglib/index/TagLibraryIndexEntry.java (61%)
create mode 100644 grails-gsp/grails-taglib/src/main/groovy/org/grails/taglib/index/TagLibraryIndexGenerator.java
create mode 100644 grails-gsp/grails-taglib/src/main/groovy/org/grails/taglib/index/TagLibraryIndexWriter.java
create mode 100644 grails-gsp/grails-taglib/src/test/groovy/org/grails/taglib/index/TagLibraryIndexSpec.groovy
create mode 100644 grails-gsp/grails-taglib/src/test/groovy/org/grails/taglib/index/TagLibraryIndexWriterConcurrencySpec.groovy
create mode 100644 grails-gsp/grails-web-taglib/src/main/groovy/grails/gsp/taglib/compiler/CompiledTagCallRewriter.java
create mode 100644 grails-gsp/grails-web-taglib/src/main/groovy/grails/gsp/taglib/compiler/LocalNameCollector.java
create mode 100644 grails-gsp/grails-web-taglib/src/main/groovy/grails/gsp/taglib/compiler/PageBindingCollector.java
create mode 100644 grails-gsp/grails-web-taglib/src/test/groovy/org/grails/taglib/discovery/TagDiscoveryRulesSpec.groovy
create mode 100644 grails-gsp/grails-web-taglib/src/test/groovy/org/grails/taglib/discovery/TagSetAgreementSpec.groovy
create mode 100644 grails-gsp/grails-web-taglib/src/test/groovy/org/grails/taglib/index/SingleIndexProducerSpec.groovy
create mode 100644 grails-gsp/grails-web-taglib/src/test/groovy/org/grails/taglib/index/SourceResolvedIndexGeneratorSpec.groovy
create mode 100644 grails-gsp/grails-web-taglib/src/test/groovy/org/grails/taglib/index/TagLibraryIndexGeneratorSpec.groovy
create mode 100644 grails-gsp/grails-web-taglib/src/test/groovy/org/grails/web/taglib/NoMetaClassMutationSpec.groovy
create mode 100644 grails-gsp/grails-web-taglib/src/test/groovy/org/grails/web/taglib/TagLibraryLookupIndexSpec.groovy
create mode 100644 grails-gsp/grails-web-taglib/src/test/groovy/org/grails/web/taglib/TagPrecedenceSpec.groovy
create mode 100644 grails-gsp/plugin/src/ast/groovy/grails/compiler/traits/CompiledTagCallTransformation.groovy
create mode 100644 grails-gsp/plugin/src/ast/resources/META-INF/services/org.codehaus.groovy.transform.ASTTransformation
create mode 100644 grails-gsp/plugin/src/main/groovy/org/apache/grails/gsp/taglib/TagLibBeanDefinitionsPostProcessor.groovy
create mode 100644 grails-gsp/plugin/src/main/groovy/org/apache/grails/gsp/taglib/aot/TagLibRuntimeHints.java
create mode 100644 grails-gsp/plugin/src/main/resources/META-INF/spring/aot.factories
create mode 100644 grails-gsp/plugin/src/test/groovy/org/apache/grails/gsp/taglib/TagLibBeanDefinitionsPostProcessorSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/apache/grails/gsp/taglib/aot/TagLibRuntimeHintsSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/plugins/web/GroovyPagesGrailsPluginPrecompiledSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/CompiledPageTagCallSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/CompiledTagCallBytecodeSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/CompiledTagCallRewriterSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/CompiledTagCallTransformationOrderSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/CompiledTagInvocationSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/ControllerTagCallRewriteSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/GroovyMethodNameCollisionSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/GspStaticTagResolutionSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/IndexEdgeCaseTagLib.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/RewrittenCallsTagLib.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/RewrittenPageRenderingSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/SameProjectTagResolutionSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/TagCallShadowingSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/TagLibraryIndexAgreementSpec.groovy
create mode 100644 grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/TagLibraryInvokerDispatchSpec.groovy
copy grails-data-neo4j/examples/test-data-service/src/integration-test/groovy/example/TestServiceSpec.groovy => grails-gsp/plugin/src/test/groovy/org/grails/web/taglib/TypedSetTagSpec.groovy (51%)
create mode 100644 grails-i18n/src/main/groovy/org/grails/plugins/i18n/EffectiveI18nDescriptors.java
create mode 100644 grails-i18n/src/main/groovy/org/grails/plugins/i18n/I18nDescriptor.java
create mode 100644 grails-i18n/src/main/groovy/org/grails/plugins/i18n/I18nDescriptors.java
create mode 100644 grails-i18n/src/main/groovy/org/grails/plugins/i18n/I18nEnvironmentPostProcessor.java
create mode 100644 grails-i18n/src/main/groovy/org/grails/plugins/i18n/I18nRuntimeHintsProcessor.java
copy grails-spring-security/oauth2/plugin/grails-app/i18n/messages.properties => grails-i18n/src/main/resources/META-INF/spring.factories (52%)
copy grails-spring-security/oauth2/plugin/grails-app/i18n/messages.properties => grails-i18n/src/main/resources/META-INF/spring/aot.factories (52%)
create mode 100644 grails-i18n/src/test/groovy/org/grails/plugins/i18n/I18nDescriptorsSpec.groovy
create mode 100644 grails-i18n/src/test/groovy/org/grails/plugins/i18n/I18nEnvironmentPostProcessorSpec.groovy
create mode 100644 grails-i18n/src/test/groovy/org/grails/plugins/i18n/I18nRuntimeHintsProcessorSpec.groovy
create mode 100644 grails-i18n/src/test/groovy/org/grails/plugins/i18n/MessageSourcePrecedenceSpec.groovy
create mode 100644 grails-i18n/src/test/groovy/org/grails/plugins/i18n/MessageSourceReloadSpec.groovy
copy grails-data-neo4j/examples/grails3-neo4j/grails-app/domain/functional/tests/Book.groovy => grails-i18n/src/test/groovy/org/grails/plugins/i18n/fixtures/AlphaPluginGrailsPlugin.groovy (78%)
copy grails-data-neo4j/examples/grails3-neo4j/grails-app/domain/functional/tests/Book.groovy => grails-i18n/src/test/groovy/org/grails/plugins/i18n/fixtures/BetaPluginGrailsPlugin.groovy (78%)
create mode 100644 grails-i18n/src/test/resources/META-INF/grails/i18n.properties
create mode 100644 grails-i18n/src/test/resources/alpha-plugin.properties
create mode 100644 grails-i18n/src/test/resources/beta-plugin.properties
create mode 100644 grails-mail/src/test/groovy/grails/plugins/mail/PlainTextMailTagLibSpec.groovy
create mode 100644 grails-mimetypes/src/main/groovy/org/apache/grails/mimetypes/aot/MimeTypeRuntimeHints.java
create mode 100644 grails-mimetypes/src/main/resources/META-INF/spring/aot.factories
create mode 100644 grails-quartz/build.gradle
copy grails-test-examples/plugins/loadfirst/grails-app/i18n/messages.properties => grails-quartz/grails-app/conf/plugin.yml (90%)
create mode 100644 grails-quartz/grails-app/services/grails/plugins/quartz/JobManagerService.groovy
create mode 100644 grails-quartz/src/main/groovy/grails/plugins/quartz/CustomTriggerFactoryBean.java
create mode 100644 grails-quartz/src/main/groovy/grails/plugins/quartz/DefaultGrailsJobClass.java
create mode 100644 grails-quartz/src/main/groovy/grails/plugins/quartz/GrailsJobClass.java
create mode 100644 grails-quartz/src/main/groovy/grails/plugins/quartz/GrailsJobClassConstants.java
create mode 100644 grails-quartz/src/main/groovy/grails/plugins/quartz/GrailsJobFactory.java
create mode 100644 grails-quartz/src/main/groovy/grails/plugins/quartz/JobArtefactHandler.groovy
create mode 100644 grails-quartz/src/main/groovy/grails/plugins/quartz/JobDescriptor.groovy
create mode 100644 grails-quartz/src/main/groovy/grails/plugins/quartz/JobDetailFactoryBean.java
create mode 100644 grails-quartz/src/main/groovy/grails/plugins/quartz/QuartzJob.groovy
copy grails-mail/src/main/groovy/grails/plugins/mail/PlainTextMailTagLib.groovy => grails-quartz/src/main/groovy/grails/plugins/quartz/QuartzJobTraitInjector.groovy (59%)
create mode 100644 grails-quartz/src/main/groovy/grails/plugins/quartz/TriggerDescriptor.groovy
create mode 100644 grails-quartz/src/main/groovy/grails/plugins/quartz/TriggerUtils.groovy
create mode 100644 grails-quartz/src/main/groovy/grails/plugins/quartz/cleanup/JdbcCleanup.groovy
create mode 100644 grails-quartz/src/main/groovy/grails/plugins/quartz/config/TriggersConfigBuilder.groovy
create mode 100644 grails-quartz/src/main/groovy/grails/plugins/quartz/listeners/ExceptionPrinterJobListener.java
create mode 100644 grails-quartz/src/main/groovy/grails/plugins/quartz/listeners/SessionBinderJobListener.java
create mode 100644 grails-quartz/src/main/groovy/quartz/QuartzGrailsPlugin.groovy
create mode 100644 grails-quartz/src/main/scripts/CreateJob.groovy
create mode 100644 grails-quartz/src/main/templates/Job.groovy
create mode 100644 grails-quartz/src/test/groovy/grails/plugins/quartz/CronTriggerTimeZoneSpec.groovy
create mode 100644 grails-quartz/src/test/groovy/grails/plugins/quartz/CustomTriggerFactoryBeanSpec.groovy
create mode 100644 grails-quartz/src/test/groovy/grails/plugins/quartz/DefaultGrailsJobClassSpec.groovy
create mode 100644 grails-quartz/src/test/groovy/grails/plugins/quartz/GrailsJobFactorySpec.groovy
create mode 100644 grails-quartz/src/test/groovy/grails/plugins/quartz/JobArtefactHandlerSpec.groovy
create mode 100644 grails-quartz/src/test/groovy/grails/plugins/quartz/JobDescriptorSpec.groovy
create mode 100644 grails-quartz/src/test/groovy/grails/plugins/quartz/JobDetailFactoryBeanSpec.groovy
create mode 100644 grails-quartz/src/test/groovy/grails/plugins/quartz/MockDoWithSpring.groovy
create mode 100644 grails-quartz/src/test/groovy/grails/plugins/quartz/QuartzJobSpec.groovy
copy grails-data-neo4j/examples/grails3-neo4j/grails-app/domain/functional/tests/Book.groovy => grails-quartz/src/test/groovy/grails/plugins/quartz/QuartzJobTraitInjectorSpec.groovy (73%)
copy grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/services/Author.groovy => grails-quartz/src/test/groovy/grails/plugins/quartz/TestQuartzJob.groovy (73%)
create mode 100644 grails-quartz/src/test/groovy/grails/plugins/quartz/TriggerDescriptorSpec.groovy
create mode 100644 grails-quartz/src/test/groovy/grails/plugins/quartz/config/TriggersConfigBuilderSpec.groovy
create mode 100644 grails-quartz/src/test/groovy/quartz/QuartzGrailsPluginSpec.groovy
create mode 100644 grails-quartz/src/test/groovy/quartz/QuartzJobStoreCleanupSpec.groovy
create mode 100644 grails-quartz/src/test/groovy/quartz/QuartzSchedulerContextSpec.groovy
create mode 100644 grails-quartz/src/test/groovy/quartz/QuartzStartupSchedulingSpec.groovy
copy grails-datamapping-core/src/main/groovy/org/grails/datastore/gorm/finders/FindByFinder.java => grails-quartz/src/test/groovy/quartz/jobs/ContextSpecJob.groovy (57%)
create mode 100644 grails-scaffolding/src/main/groovy/org/apache/grails/scaffolding/aot/ScaffoldingRuntimeHints.java
create mode 100644 grails-scaffolding/src/main/resources/META-INF/spring/aot.factories
copy grails-spring-security/oauth2/plugin/grails-app/i18n/{messages.properties => spring-security-oauth2.properties} (100%)
rename grails-spring-security/ui/plugin/grails-app/i18n/{messages.spring-security-ui.properties => spring-security-ui.properties} (100%)
create mode 100644 grails-spring/src/test/groovy/org/grails/spring/DefaultRuntimeSpringConfigurationAotSpec.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
create mode 100644 grails-test-examples/aot/build.gradle
copy {grails-data-neo4j/examples/neo4j-spring-boot/src/main/resources => grails-test-examples/aot/grails-app/conf}/application.yml (88%)
copy grails-data-neo4j/examples/test-data-service/grails-app/controllers/example/ApplicationController.groovy => grails-test-examples/aot/grails-app/controllers/aot/GreetingController.groovy (74%)
copy {grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/controllers => grails-test-examples/aot/grails-app/controllers/aot}/UrlMappings.groovy (73%)
create mode 100644 grails-test-examples/aot/grails-app/init/aot/Application.groovy
copy grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/domain/functional/tests/Author.groovy => grails-test-examples/aot/grails-app/services/aot/GreetingService.groovy (74%)
copy grails-data-neo4j/examples/grails3-neo4j/src/test/groovy/functional/tests/BookSpec.groovy => grails-test-examples/aot/grails-app/taglib/aot/GreetingTagLib.groovy (61%)
copy grails-data-neo4j/examples/grails3-neo4j/grails-app/views/notFound.gsp => grails-test-examples/aot/grails-app/views/greeting/index.gsp (57%)
copy grails-data-neo4j/examples/test-data-service/grails-app/init/example/BootStrap.groovy => grails-test-examples/app1/grails-app/domain/functionaltests/ManagedEntityDomain.groovy (85%)
create mode 100644 grails-test-examples/app1/src/test/groovy/functionaltests/CompiledTagCallSpec.groovy
copy grails-test-examples/{hibernate5/grails-multitenant-multi-datasource => gsp-compile-static}/build.gradle (70%)
copy {grails-data-neo4j/examples/neo4j-spring-boot/src/main/resources => grails-test-examples/gsp-compile-static/grails-app/conf}/application.yml (87%)
copy {grails-data-neo4j/examples/test-data-service/grails-app/domain/example => grails-test-examples/gsp-compile-static/grails-app/controllers/gspstatic}/Book.groovy (90%)
copy grails-data-neo4j/examples/test-data-service/grails-app/controllers/example/ApplicationController.groovy => grails-test-examples/gsp-compile-static/grails-app/controllers/gspstatic/DemoController.groovy (62%)
copy {grails-data-neo4j/examples/grails3-neo4j/grails-app/controllers => grails-test-examples/gsp-compile-static/grails-app/controllers/gspstatic}/UrlMappings.groovy (79%)
rename {grails-data-neo4j/examples/test-data-service/grails-app/init/example => grails-test-examples/gsp-compile-static/grails-app/init/gspstatic}/Application.groovy (98%)
copy grails-data-neo4j/examples/grails3-neo4j/grails-app/domain/functional/tests/Book.groovy => grails-test-examples/gsp-compile-static/grails-app/taglib/gspstatic/DemoTagLib.groovy (79%)
create mode 100644 grails-test-examples/gsp-compile-static/grails-app/views/demo/declared.gsp
create mode 100644 grails-test-examples/gsp-compile-static/grails-app/views/demo/frameworkNames.gsp
create mode 100644 grails-test-examples/gsp-compile-static/grails-app/views/demo/index.gsp
create mode 100644 grails-test-examples/gsp-compile-static/grails-app/views/error.gsp
create mode 100644 grails-test-examples/gsp-compile-static/grails-app/views/notFound.gsp
create mode 100644 grails-test-examples/gsp-compile-static/src/integration-test/groovy/gspstatic/GspCompileStaticSpec.groovy
copy grails-data-neo4j/examples/test-data-service/grails-app/domain/example/Book.groovy => grails-test-examples/hibernate5/grails-hibernate/grails-app/domain/functional/tests/Organization.groovy (93%)
copy grails-data-neo4j/examples/test-data-service/src/integration-test/groovy/example/StudentServiceSpec.groovy => grails-test-examples/hibernate5/grails-hibernate/src/integration-test/groovy/functional/tests/OrganizationValidationSpec.groovy (67%)
copy grails-data-neo4j/examples/test-data-service/grails-app/services/example/BookService.groovy => grails-test-examples/hibernate7/app1/grails-app/domain/functionaltests/ManagedEntityDomain.groovy (85%)
copy grails-test-examples/{gsp-layout => neo4j/base}/build.gradle (70%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/apple-touch-icon-retina.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/apple-touch-icon.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/favicon.ico (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/grails_logo.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/skin/database_add.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/skin/database_delete.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/skin/database_edit.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/skin/database_save.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/skin/database_table.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/skin/exclamation.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/skin/house.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/skin/information.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/skin/shadow.jpg (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/skin/sorted_asc.gif (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/skin/sorted_desc.gif (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/images/spinner.gif (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/javascripts/application.js (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/stylesheets/application.css (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/stylesheets/errors.css (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/stylesheets/main.css (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/assets/stylesheets/mobile.css (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/base}/grails-app/conf/application.yml (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/conf/logback.xml (100%)
copy {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/conf/spring/resources.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/controllers/UrlMappings.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/base}/grails-app/controllers/functional/tests/BookController.groovy (100%)
copy {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/base}/grails-app/domain/functional/tests/Book.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/base}/grails-app/domain/functional/tests/Person.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_cs_CZ.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_da.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_de.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_es.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_fr.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_it.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_ja.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_nb.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_nl.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_pl.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_pt_BR.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_pt_PT.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_ru.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_sv.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_th.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/i18n/messages_zh_CN.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/init/BootStrap.groovy (100%)
copy {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/base}/grails-app/init/functional/tests/Application.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/base}/grails-app/services/functional/tests/PersonService.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/views/book/create.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/views/book/edit.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/views/book/index.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/views/book/show.gsp (100%)
copy grails-test-examples/{app2 => neo4j/base}/grails-app/views/error.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/views/index.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/views/layouts/main.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/base}/grails-app/views/notFound.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/base}/src/integration-test/groovy/functional/tests/BookControllerSpec.groovy (65%)
copy grails-test-examples/{hibernate5/grails-hibernate => neo4j/base}/src/integration-test/groovy/functional/tests/pages/BookPages.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/base}/src/test/groovy/functional/tests/BookSpec.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/base}/src/test/groovy/functional/tests/PersonSpec.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/base}/src/test/groovy/functional/tests/StandaloneNeo4jSpec.groovy (100%)
copy grails-test-examples/{redis => neo4j/hibernate5}/build.gradle (63%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/apple-touch-icon-retina.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/apple-touch-icon.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/favicon.ico (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/grails_logo.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/skin/database_add.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/skin/database_delete.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/skin/database_edit.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/skin/database_save.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/skin/database_table.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/skin/exclamation.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/skin/house.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/skin/information.png (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/skin/shadow.jpg (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/skin/sorted_asc.gif (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/skin/sorted_desc.gif (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/images/spinner.gif (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/javascripts/application.js (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/stylesheets/application.css (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/stylesheets/errors.css (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/stylesheets/main.css (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/assets/stylesheets/mobile.css (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/hibernate5}/grails-app/conf/application.yml (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/conf/logback.xml (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/conf/spring/resources.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/controllers/UrlMappings.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/hibernate5}/grails-app/controllers/functional/tests/AuthorController.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/hibernate5}/grails-app/controllers/functional/tests/BookController.groovy (100%)
copy {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/hibernate5}/grails-app/domain/functional/tests/Author.groovy (100%)
copy {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/hibernate5}/grails-app/domain/functional/tests/Book.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_cs_CZ.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_da.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_de.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_es.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_fr.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_it.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_ja.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_nb.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_nl.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_pl.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_pt_BR.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_pt_PT.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_ru.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_sv.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_th.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/i18n/messages_zh_CN.properties (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/init/BootStrap.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/hibernate5}/grails-app/init/functional/tests/Application.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/hibernate5}/grails-app/views/author/create.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/hibernate5}/grails-app/views/author/edit.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/hibernate5}/grails-app/views/author/index.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/hibernate5}/grails-app/views/author/show.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/views/book/create.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/views/book/edit.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/views/book/index.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/views/book/show.gsp (100%)
copy grails-test-examples/{app2 => neo4j/hibernate5}/grails-app/views/error.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/views/index.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/views/layouts/main.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j => grails-test-examples/neo4j/hibernate5}/grails-app/views/notFound.gsp (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/hibernate5}/src/integration-test/groovy/functional/tests/AuthorControllerSpec.groovy (64%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/hibernate5}/src/integration-test/groovy/functional/tests/BookControllerSpec.groovy (66%)
copy grails-test-examples/{spring-security/core/misc-functional-test-app/group/src/integration-test/groovy/demo/LoginPage.groovy => neo4j/hibernate5/src/integration-test/groovy/functional/tests/pages/AuthorPages.groovy} (52%)
copy grails-test-examples/{hibernate5/grails-hibernate => neo4j/hibernate5}/src/integration-test/groovy/functional/tests/pages/BookPages.groovy (100%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/neo4j/hibernate5}/src/test/groovy/functional/tests/Neo4jWithHibernateSpec.groovy (76%)
copy grails-test-examples/{hibernate7/grails-hibernate-groovy-proxy => neo4j/neo4j-standalone}/build.gradle (63%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/neo4j-standalone/src/main/groovy/example/Person.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/neo4j-standalone/src/main/groovy/example/PersonService.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/neo4j-standalone/src/test/groovy/example/PersonServiceSpec.groovy (100%)
copy grails-test-examples/{hibernate7/grails-hibernate-groovy-proxy => neo4j/spring-boot}/build.gradle (56%)
rename {grails-data-neo4j/examples/neo4j-spring-boot => grails-test-examples/neo4j/spring-boot}/src/main/groovy/example/Application.groovy (100%)
rename {grails-data-neo4j/examples/neo4j-spring-boot => grails-test-examples/neo4j/spring-boot}/src/main/groovy/example/Book.groovy (100%)
rename {grails-data-neo4j/examples/neo4j-spring-boot => grails-test-examples/neo4j/spring-boot}/src/main/groovy/example/BookController.groovy (100%)
copy {grails-data-neo4j/examples/neo4j-spring-boot => grails-test-examples/neo4j/spring-boot}/src/main/groovy/example/BookService.groovy (100%)
copy {grails-data-neo4j/examples/neo4j-spring-boot => grails-test-examples/neo4j/spring-boot}/src/main/resources/application.yml (100%)
rename {grails-data-neo4j/examples/neo4j-spring-boot => grails-test-examples/neo4j/spring-boot}/src/test/groovy/example/BookControllerSpec.groovy (100%)
copy grails-test-examples/{mongodb => neo4j}/test-data-service/build.gradle (88%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/conf/application.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/conf/application.yml (69%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/conf/logback.xml (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/conf/spring/resources.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/controllers/example/ApplicationController.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/controllers/example/UrlMappings.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/domain/example/Book.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/domain/example/Person.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/domain/example/Student.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/i18n/messages.properties (100%)
copy grails-test-examples/{hibernate5/criteria-extension => neo4j/test-data-service}/grails-app/init/example/Application.groovy (100%)
copy grails-test-examples/{hibernate5/criteria-extension => neo4j/test-data-service}/grails-app/init/example/BootStrap.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/services/example/BookService.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/services/example/LibraryService.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/services/example/PersonService.groovy (100%)
copy grails-test-examples/{mongodb => neo4j}/test-data-service/grails-app/services/example/StudentService.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/services/example/TestService.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/views/application/index.gson (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/views/error.gson (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/views/errors/_errors.gson (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/views/notFound.gson (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/grails-app/views/object/_object.gson (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/src/integration-test/groovy/example/StudentServiceSpec.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/src/integration-test/groovy/example/TestServiceSpec.groovy (100%)
copy grails-test-examples/{mongodb => neo4j}/test-data-service/src/main/groovy/example/LoginAuthenticationSucessHandler.groovy (100%)
rename {grails-data-neo4j/examples => grails-test-examples/neo4j}/test-data-service/src/main/groovy/example/TestBean.groovy (100%)
rename grails-test-examples/plugins/loadfirst/grails-app/i18n/{messages.properties => loadfirst.properties} (100%)
rename grails-test-examples/plugins/loadfirst/grails-app/i18n/{messages_en_US.properties => loadfirst_en_US.properties} (100%)
copy grails-test-examples/{undertow => quartz}/build.gradle (65%)
rename {grails-data-neo4j/examples/neo4j-spring-boot/src/main/resources => grails-test-examples/quartz/grails-app/conf}/application.yml (88%)
create mode 100644 grails-test-examples/quartz/grails-app/conf/logback.xml
rename {grails-data-neo4j/examples/grails3-neo4j/grails-app/init/functional/tests => grails-test-examples/quartz/grails-app/init/quartzapp}/Application.groovy (93%)
rename {grails-data-neo4j/examples/test-data-service/grails-app/init/example => grails-test-examples/quartz/grails-app/init/quartzapp}/BootStrap.groovy (81%)
copy grails-test-examples/{graphql/grails-test-app/src/main/groovy/grails/test/app/pogo/Profile.groovy => quartz/grails-app/jobs/quartzapp/DisabledJob.groovy} (77%)
rename grails-data-neo4j/examples/neo4j-spring-boot/build.gradle => grails-test-examples/quartz/grails-app/jobs/quartzapp/InterruptibleJob.groovy (51%)
rename grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/JavaxValidationSpec.groovy => grails-test-examples/quartz/grails-app/jobs/quartzapp/LongRunningJob.groovy (53%)
rename grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/domain/functional/tests/Author.groovy => grails-test-examples/quartz/grails-app/jobs/quartzapp/NeverFiringJob.groovy (72%)
copy grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/neo4j/Neo4jEntitySpec.groovy => grails-test-examples/quartz/grails-app/jobs/quartzapp/OnDemandJob.groovy (68%)
rename grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/neo4j/Neo4jEntitySpec.groovy => grails-test-examples/quartz/grails-app/jobs/quartzapp/RepeatingJob.groovy (66%)
create mode 100644 grails-test-examples/quartz/src/integration-test/groovy/quartzapp/QuartzLongRunningJobSpec.groovy
create mode 100644 grails-test-examples/quartz/src/integration-test/groovy/quartzapp/QuartzSchedulingSpec.groovy
rename grails-data-neo4j/grails-datastore-gorm-neo4j/src/main/groovy/grails/neo4j/Direction.groovy => grails-test-examples/quartz/src/main/groovy/quartzapp/RecordingJobListener.groovy (50%)
copy grails-test-examples/scaffolding/grails-app/{init/com/example/BootStrap.groovy => controllers/com/example/BookController.groovy} (61%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate/grails-app/domain/functional/tests => grails-test-examples/scaffolding/grails-app/domain/com/example}/Book.groovy (90%)
rename {grails-data-neo4j/examples/neo4j-spring-boot/src/main/groovy => grails-test-examples/scaffolding/grails-app/services/com}/example/BookService.groovy (78%)
create mode 100644 grails-test-examples/scaffolding/src/integrationTest/groovy/com/example/BookControllerSpec.groovy
rename grails-data-neo4j/examples/grails3-neo4j/grails-app/domain/functional/tests/Book.groovy => grails-test-examples/scaffolding/src/integrationTest/groovy/com/example/pages/BookListPage.groovy (76%)
rename {grails-data-neo4j/examples/grails3-neo4j-hibernate => grails-test-examples/spring-security/cas/test1}/grails-app/conf/spring/resources.groovy (87%)
create mode 100644 grails-test-examples/spring-security/cas/test1/grails-app/controllers/grails/plugin/springsecurity/cas/test/SecureController.groovy
rename grails-test-examples/spring-security/cas/test1/grails-app/controllers/{spring/security/cas => grails/plugin/springsecurity/cas/test}/UrlMappings.groovy (96%)
delete mode 100644 grails-test-examples/spring-security/cas/test1/grails-app/controllers/spring/security/cas/SecureController.groovy
rename grails-test-examples/spring-security/cas/test1/grails-app/domain/{com => grails/plugin/springsecurity/cas}/test/Role.groovy (96%)
rename grails-test-examples/spring-security/cas/test1/grails-app/domain/{com => grails/plugin/springsecurity/cas}/test/User.groovy (97%)
rename grails-test-examples/spring-security/cas/test1/grails-app/domain/{com => grails/plugin/springsecurity/cas}/test/UserRole.groovy (98%)
rename grails-test-examples/spring-security/cas/test1/grails-app/init/{spring/security => grails/plugin/springsecurity}/cas/test/Application.groovy (95%)
rename grails-test-examples/spring-security/cas/test1/grails-app/init/{spring/security => grails/plugin/springsecurity}/cas/test/BootStrap.groovy (93%)
create mode 100644 grails-test-examples/spring-security/cas/test1/src/integration-test/groovy/grails/plugin/springsecurity/cas/test/AbstractCasSpec.groovy
create mode 100644 grails-test-examples/spring-security/cas/test1/src/integration-test/groovy/grails/plugin/springsecurity/cas/test/CasLoginSpec.groovy
create mode 100644 grails-test-examples/spring-security/cas/test1/src/integration-test/groovy/grails/plugin/springsecurity/cas/test/CasNoProxyReceptorSpec.groovy
create mode 100644 grails-test-examples/spring-security/cas/test1/src/integration-test/groovy/grails/plugin/springsecurity/cas/test/CasNoSingleSignOutSpec.groovy
create mode 100644 grails-test-examples/spring-security/cas/test1/src/integration-test/groovy/grails/plugin/springsecurity/cas/test/CasProxyTicketSpec.groovy
create mode 100644 grails-test-examples/spring-security/cas/test1/src/integration-test/groovy/grails/plugin/springsecurity/cas/test/CasSingleSignOutSpec.groovy
create mode 100644 grails-test-examples/spring-security/cas/test1/src/main/groovy/grails/plugin/springsecurity/cas/test/CasContainerHolder.groovy
create mode 100644 grails-test-examples/spring-security/cas/test1/src/main/groovy/grails/plugin/springsecurity/cas/test/CasServiceUrlConfigurer.groovy
create mode 100644 grails-test-examples/spring-security/cas/test1/src/main/groovy/grails/plugin/springsecurity/cas/test/CasTestConfig.groovy
create mode 100644 grails-test-examples/spring-security/cas/test1/src/main/groovy/grails/plugin/springsecurity/cas/test/CasTestEnvironmentPostProcessor.groovy
rename grails-spring-security/oauth2/plugin/grails-app/i18n/messages.properties => grails-test-examples/spring-security/cas/test1/src/main/resources/META-INF/spring.factories (52%)
create mode 100644 grails-test-examples/spring-security/cas/test1/src/main/resources/cas/services/grailsTest-10000001.json
create mode 100644 grails-test-examples/spring-security/core/integration-test-app/src/integration-test/groovy/grails/plugin/springsecurity/PluginMessageBundleSpec.groovy
create mode 100644 grails-testing-support-mongodb/src/main/groovy/org/apache/grails/testing/mongo/EmbeddedReplicaSetSpec.groovy
rename grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/services/Author.groovy => grails-views-gson/src/test/groovy/grails/plugin/json/view/api/handleassociations/Fixtures.groovy (72%)
copy grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/Pet.groovy => grails-views-gson/src/test/groovy/grails/plugin/json/view/expand/Fixtures.groovy (60%)
copy grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/Pet.groovy => grails-views-gson/src/test/groovy/grails/plugin/json/view/halembedded/Fixtures.groovy (51%)
copy grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/Pet.groovy => grails-views-gson/src/test/groovy/grails/plugin/json/view/include/Fixtures.groovy (60%)
copy grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/Pet.groovy => grails-views-gson/src/test/groovy/grails/plugin/json/view/iterable/Fixtures.groovy (60%)
copy grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/Pet.groovy => grails-views-gson/src/test/groovy/grails/plugin/json/view/maprender/Fixtures.groovy (57%)
rename grails-data-neo4j/grails-datastore-gorm-neo4j/src/test/groovy/grails/gorm/tests/Pet.groovy => grails-views-gson/src/test/groovy/grails/plugin/json/view/nullrendering/Fixtures.groovy (55%)
copy grails-gsp/core/src/main/groovy/org/grails/gsp/compiler/GroovyPageTypeCheckingConfig.java => grails-web-databinding/src/main/groovy/grails/web/databinding/BindAllowed.java (84%)
create mode 100644 grails-web-databinding/src/main/groovy/grails/web/databinding/MissingPropertyClearer.java
create mode 100644 grails-web-databinding/src/main/groovy/org/apache/grails/web/databinding/aot/DataBindingRuntimeHints.java
create mode 100644 grails-web-databinding/src/main/resources/META-INF/spring/aot.factories
create mode 100644 grails-web-databinding/src/test/groovy/grails/web/databinding/DenyByDefaultConfigSpec.groovy
create mode 100644 grails-web-url-mappings/src/main/groovy/org/apache/grails/web/mapping/aot/UrlMappingRuntimeHints.java
create mode 100644 grails-web-url-mappings/src/main/resources/META-INF/spring/aot.factories