You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by sc...@apache.org on 2026/08/19 20:50:29 UTC
(grails-core) branch 8.0.x updated (6ee0ba756a -> 983e502f1c)
This is an automated email from the ASF dual-hosted git repository.
codeconsole pushed a change to branch 8.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git
from 6ee0ba756a Merge pull request #16034 from apache/fix/flaky-where-query-closure-capture-cache
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 8444cc5466 Merge remote-tracking branch 'upstream/8.0.x' into fix/aot-live-instance-beans-8.0.x
new 983e502f1c Merge pull request #16094 from codeconsole/fix/aot-live-instance-beans-8.0.x
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.github/workflows/release-publish-docs.yml | 2 +-
.github/workflows/release.yml | 2 +-
.sdkmanrc | 2 +-
dependencies.gradle | 8 +-
etc/bin/Dockerfile | 2 +-
.../grails/common/aot/AheadOfTimeProcessing.java | 54 +++
.../apache/grails/common/aot/RegistrableTypes.java | 251 +++++++++++
.../grails/common/aot/RegistrableTypesSpec.groovy | 194 ++++++++
.../controllers/aot/ControllerRuntimeHints.java | 92 ++++
.../main/resources/META-INF/spring/aot.factories | 2 +
.../aot/ControllerRuntimeHintsSpec.groovy | 84 ++++
.../main/groovy/grails/boot/GrailsBanner.groovy | 446 ++++++++++++++++---
.../config/GrailsApplicationPostProcessor.groovy | 55 ++-
.../boot/config/GrailsAutoConfiguration.groovy | 44 ++
.../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 ++++++++
.../org/grails/plugins/CoreGrailsPlugin.groovy | 59 ++-
.../AbstractResourceLocatorPostProcessor.java | 18 +-
.../additional-spring-configuration-metadata.json | 55 ++-
.../grails-core/native-image.properties | 30 ++
.../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 ++++
.../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 +++++
.../grails/boot/version-in-a-resource.properties | 5 +
.../HibernateDatastoreSpringInitializer.groovy | 10 +-
...rnateDatastoreConnectionSourcesRegistrar.groovy | 7 +-
...eDatastoreConnectionSourcesRegistrarSpec.groovy | 20 +-
.../HibernateDatastoreSpringInitializer.groovy | 10 +-
.../MongoDbDataStoreSpringInitializer.groovy | 29 +-
...toreSpringInitializerBeanDefinitionsSpec.groovy | 85 ++++
.../Neo4jDataStoreSpringInitializer.groovy | 59 ++-
.../grails/datamapping/aot/GormRuntimeHints.java | 112 +++++
.../bootstrap/AbstractDatastoreInitializer.groovy | 79 +++-
...igurableApplicationContextEventPublisher.groovy | 58 ++-
.../main/resources/META-INF/spring/aot.factories | 2 +
.../datamapping/aot/GormRuntimeHintsSpec.groovy | 81 ++++
...actDatastoreInitializerConfigurationSpec.groovy | 190 ++++++++
...ableApplicationContextEventPublisherSpec.groovy | 115 +++++
.../aot/ConstrainedPropertyRuntimeHints.java | 75 ++++
.../main/resources/META-INF/spring/aot.factories | 2 +
.../aot/ConstrainedPropertyRuntimeHintsSpec.groovy | 69 +++
.../guide/conf/applicationClass/customizing.adoc | 34 +-
.../src/en/guide/deployment/deploymentAot.adoc | 172 +++++++
.../en/guide/deployment/deploymentAotCache.adoc | 191 ++++++++
grails-doc/src/en/guide/introduction/whatsNew.adoc | 62 +++
grails-doc/src/en/guide/toc.yml | 2 +
.../src/en/guide/upgrading/upgrading80x.adoc | 38 ++
.../src/main/resources/gsp/index.gsp | 8 +-
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 ++++++++++++++++
.../gradle/plugin/core/GrailsGradlePlugin.groovy | 355 +++++++++++++++
.../views/gsp/GroovyPageForkCompileTask.groovy | 22 +-
.../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 +++
.../plugin/core/AssetClasspathPackagingSpec.groovy | 47 ++
.../core/GrailsNativeImageDefaultsSpec.groovy | 101 +++++
.../views/gsp/GroovyPageToolchainSpec.groovy | 2 +-
.../asset-classpath-packaging/build.gradle | 42 ++
.../asset-classpath-packaging/gradle.properties | 2 +
.../asset-classpath-packaging/settings.gradle | 1 +
.../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 +
.../gsp/aot/PrecompiledPageRuntimeHints.java | 52 +++
.../grails/gsp/io/DefaultGroovyPageLocator.java | 25 +-
.../main/resources/META-INF/spring/aot.factories | 2 +
.../gsp/aot/PrecompiledPageRuntimeHintsSpec.groovy | 64 +++
.../DefaultGroovyPageLocatorPrecompiledSpec.groovy | 125 ++++++
.../sitemesh3/GrailsSiteMeshViewResolver.java | 12 +-
...lsSiteMeshViewResolverServletContextSpec.groovy | 105 +++++
.../TagLibBeanDefinitionsPostProcessor.groovy | 95 ++++
.../grails/gsp/taglib/aot/TagLibRuntimeHints.java | 136 ++++++
.../plugins/web/GroovyPagesGrailsPlugin.groovy | 84 ++--
.../main/resources/META-INF/spring/aot.factories | 2 +
.../TagLibBeanDefinitionsPostProcessorSpec.groovy | 117 +++++
.../gsp/taglib/aot/TagLibRuntimeHintsSpec.groovy | 84 ++++
.../GroovyPagesGrailsPluginPrecompiledSpec.groovy | 77 ++++
.../grails/mimetypes/aot/MimeTypeRuntimeHints.java | 57 +++
.../main/resources/META-INF/spring/aot.factories | 2 +
.../web/skeleton/grails-app/views/index.gsp | 8 +-
.../scaffolding/aot/ScaffoldingRuntimeHints.java | 54 +++
.../main/resources/META-INF/spring/aot.factories | 2 +
.../src/main/templates/scaffolding/index.gsp | 2 +-
grails-spring/build.gradle | 1 +
.../spring/DefaultRuntimeSpringConfiguration.java | 32 +-
...DefaultRuntimeSpringConfigurationAotSpec.groovy | 96 ++++
grails-test-examples/aot/build.gradle | 96 ++++
.../aot/grails-app/conf/application.yml | 20 +
.../controllers/aot/GreetingController.groovy | 30 ++
.../grails-app/controllers/aot/UrlMappings.groovy | 29 ++
.../aot/grails-app/init/aot/Application.groovy | 112 +++++
.../grails-app/services/aot/GreetingService.groovy | 30 ++
.../grails-app/taglib/aot/GreetingTagLib.groovy | 38 ++
.../aot/grails-app/views/greeting/index.gsp | 35 ++
.../databinding/aot/DataBindingRuntimeHints.java | 62 +++
.../main/resources/META-INF/spring/aot.factories | 2 +
.../web/mapping/aot/UrlMappingRuntimeHints.java | 61 +++
.../main/resources/META-INF/spring/aot.factories | 2 +
settings.gradle | 2 +
149 files changed, 11232 insertions(+), 185 deletions(-)
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
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/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
create mode 100644 grails-core/src/test/resources/grails/boot/version-in-a-resource.properties
create mode 100644 grails-data-mongodb/core/src/test/groovy/grails/mongodb/bootstrap/MongoDbDataStoreSpringInitializerBeanDefinitionsSpec.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/resources/META-INF/spring/aot.factories
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/bootstrap/AbstractDatastoreInitializerConfigurationSpec.groovy
create mode 100644 grails-datamapping-core/src/test/groovy/org/grails/datastore/gorm/events/ConfigurableApplicationContextEventPublisherSpec.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-doc/src/en/guide/deployment/deploymentAot.adoc
create mode 100644 grails-doc/src/en/guide/deployment/deploymentAotCache.adoc
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/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/AssetClasspathPackagingSpec.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/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/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-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/io/DefaultGroovyPageLocatorPrecompiledSpec.groovy
create mode 100644 grails-gsp/grails-sitemesh3/src/test/groovy/org/grails/plugins/sitemesh3/GrailsSiteMeshViewResolverServletContextSpec.groovy
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-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-scaffolding/src/main/groovy/org/apache/grails/scaffolding/aot/ScaffoldingRuntimeHints.java
create mode 100644 grails-scaffolding/src/main/resources/META-INF/spring/aot.factories
create mode 100644 grails-spring/src/test/groovy/org/grails/spring/DefaultRuntimeSpringConfigurationAotSpec.groovy
create mode 100644 grails-test-examples/aot/build.gradle
create mode 100644 grails-test-examples/aot/grails-app/conf/application.yml
create mode 100644 grails-test-examples/aot/grails-app/controllers/aot/GreetingController.groovy
create mode 100644 grails-test-examples/aot/grails-app/controllers/aot/UrlMappings.groovy
create mode 100644 grails-test-examples/aot/grails-app/init/aot/Application.groovy
create mode 100644 grails-test-examples/aot/grails-app/services/aot/GreetingService.groovy
create mode 100644 grails-test-examples/aot/grails-app/taglib/aot/GreetingTagLib.groovy
create mode 100644 grails-test-examples/aot/grails-app/views/greeting/index.gsp
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-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
(grails-core) 01/01: Merge pull request #16094 from codeconsole/fix/aot-live-instance-beans-8.0.x
Posted by sc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
codeconsole pushed a commit to branch 8.0.x
in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit 983e502f1c4e542a154c44e29a12b53a2346e0ab
Merge: 6ee0ba756a 8444cc5466
Author: Scott Murphy <sc...@alwaysvip.com>
AuthorDate: Wed Aug 19 13:50:20 2026 -0700
Merge pull request #16094 from codeconsole/fix/aot-live-instance-beans-8.0.x
Make Grails applications processable by Spring AOT (Leyden AOT Cache + GraalVM Native Image Support)
.github/workflows/release-publish-docs.yml | 2 +-
.github/workflows/release.yml | 2 +-
.sdkmanrc | 2 +-
dependencies.gradle | 8 +-
etc/bin/Dockerfile | 2 +-
.../grails/common/aot/AheadOfTimeProcessing.java | 54 +++
.../apache/grails/common/aot/RegistrableTypes.java | 251 +++++++++++
.../grails/common/aot/RegistrableTypesSpec.groovy | 194 ++++++++
.../controllers/aot/ControllerRuntimeHints.java | 92 ++++
.../main/resources/META-INF/spring/aot.factories | 2 +
.../aot/ControllerRuntimeHintsSpec.groovy | 84 ++++
.../main/groovy/grails/boot/GrailsBanner.groovy | 446 ++++++++++++++++---
.../config/GrailsApplicationPostProcessor.groovy | 55 ++-
.../boot/config/GrailsAutoConfiguration.groovy | 44 ++
.../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 ++++++++
.../org/grails/plugins/CoreGrailsPlugin.groovy | 59 ++-
.../AbstractResourceLocatorPostProcessor.java | 18 +-
.../additional-spring-configuration-metadata.json | 55 ++-
.../grails-core/native-image.properties | 30 ++
.../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 ++++
.../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 +++++
.../grails/boot/version-in-a-resource.properties | 5 +
.../HibernateDatastoreSpringInitializer.groovy | 10 +-
...rnateDatastoreConnectionSourcesRegistrar.groovy | 7 +-
...eDatastoreConnectionSourcesRegistrarSpec.groovy | 20 +-
.../HibernateDatastoreSpringInitializer.groovy | 10 +-
.../MongoDbDataStoreSpringInitializer.groovy | 29 +-
...toreSpringInitializerBeanDefinitionsSpec.groovy | 85 ++++
.../Neo4jDataStoreSpringInitializer.groovy | 59 ++-
.../grails/datamapping/aot/GormRuntimeHints.java | 112 +++++
.../bootstrap/AbstractDatastoreInitializer.groovy | 79 +++-
...igurableApplicationContextEventPublisher.groovy | 58 ++-
.../main/resources/META-INF/spring/aot.factories | 2 +
.../datamapping/aot/GormRuntimeHintsSpec.groovy | 81 ++++
...actDatastoreInitializerConfigurationSpec.groovy | 190 ++++++++
...ableApplicationContextEventPublisherSpec.groovy | 115 +++++
.../aot/ConstrainedPropertyRuntimeHints.java | 75 ++++
.../main/resources/META-INF/spring/aot.factories | 2 +
.../aot/ConstrainedPropertyRuntimeHintsSpec.groovy | 69 +++
.../guide/conf/applicationClass/customizing.adoc | 34 +-
.../src/en/guide/deployment/deploymentAot.adoc | 172 +++++++
.../en/guide/deployment/deploymentAotCache.adoc | 191 ++++++++
grails-doc/src/en/guide/introduction/whatsNew.adoc | 62 +++
grails-doc/src/en/guide/toc.yml | 2 +
.../src/en/guide/upgrading/upgrading80x.adoc | 38 ++
.../src/main/resources/gsp/index.gsp | 8 +-
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 ++++++++++++++++
.../gradle/plugin/core/GrailsGradlePlugin.groovy | 355 +++++++++++++++
.../views/gsp/GroovyPageForkCompileTask.groovy | 22 +-
.../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 +++
.../plugin/core/AssetClasspathPackagingSpec.groovy | 47 ++
.../core/GrailsNativeImageDefaultsSpec.groovy | 101 +++++
.../views/gsp/GroovyPageToolchainSpec.groovy | 2 +-
.../asset-classpath-packaging/build.gradle | 42 ++
.../asset-classpath-packaging/gradle.properties | 2 +
.../asset-classpath-packaging/settings.gradle | 1 +
.../test-projects/native-defaults-aot/build.gradle | 10 +
.../native-defaults-aot/gradle.properties | 1 +
.../grails-app/conf/application.yml | 0
.../native-defaults-aot/settings.gradle | 1 +
.../test-projects/native-defaults-off/build.gradle | 12 +
.../native-defaults-off/gradle.properties | 1 +
.../grails-app/conf/application.yml | 0
.../native-defaults-off/settings.gradle | 1 +
.../test-projects/native-defaults-on/build.gradle | 10 +
.../native-defaults-on/gradle.properties | 1 +
.../grails-app/conf/application.yml | 0
.../native-defaults-on/settings.gradle | 1 +
.../native-metadata-ordering/build.gradle | 24 +
.../native-metadata-ordering/gradle.properties | 1 +
.../grails-app/conf/application.yml | 0
.../grails-app/views/index.gsp | 3 +
.../native-metadata-ordering/settings.gradle | 1 +
.../gsp/aot/PrecompiledPageRuntimeHints.java | 52 +++
.../grails/gsp/io/DefaultGroovyPageLocator.java | 25 +-
.../main/resources/META-INF/spring/aot.factories | 2 +
.../gsp/aot/PrecompiledPageRuntimeHintsSpec.groovy | 64 +++
.../DefaultGroovyPageLocatorPrecompiledSpec.groovy | 125 ++++++
.../sitemesh3/GrailsSiteMeshViewResolver.java | 12 +-
...lsSiteMeshViewResolverServletContextSpec.groovy | 105 +++++
.../TagLibBeanDefinitionsPostProcessor.groovy | 95 ++++
.../grails/gsp/taglib/aot/TagLibRuntimeHints.java | 136 ++++++
.../plugins/web/GroovyPagesGrailsPlugin.groovy | 84 ++--
.../main/resources/META-INF/spring/aot.factories | 2 +
.../TagLibBeanDefinitionsPostProcessorSpec.groovy | 117 +++++
.../gsp/taglib/aot/TagLibRuntimeHintsSpec.groovy | 84 ++++
.../GroovyPagesGrailsPluginPrecompiledSpec.groovy | 77 ++++
.../grails/mimetypes/aot/MimeTypeRuntimeHints.java | 57 +++
.../main/resources/META-INF/spring/aot.factories | 2 +
.../web/skeleton/grails-app/views/index.gsp | 8 +-
.../scaffolding/aot/ScaffoldingRuntimeHints.java | 54 +++
.../main/resources/META-INF/spring/aot.factories | 2 +
.../src/main/templates/scaffolding/index.gsp | 2 +-
grails-spring/build.gradle | 1 +
.../spring/DefaultRuntimeSpringConfiguration.java | 32 +-
...DefaultRuntimeSpringConfigurationAotSpec.groovy | 96 ++++
grails-test-examples/aot/build.gradle | 96 ++++
.../aot/grails-app/conf/application.yml | 20 +
.../controllers/aot/GreetingController.groovy | 30 ++
.../grails-app/controllers/aot/UrlMappings.groovy | 29 ++
.../aot/grails-app/init/aot/Application.groovy | 112 +++++
.../grails-app/services/aot/GreetingService.groovy | 30 ++
.../grails-app/taglib/aot/GreetingTagLib.groovy | 38 ++
.../aot/grails-app/views/greeting/index.gsp | 35 ++
.../databinding/aot/DataBindingRuntimeHints.java | 62 +++
.../main/resources/META-INF/spring/aot.factories | 2 +
.../web/mapping/aot/UrlMappingRuntimeHints.java | 61 +++
.../main/resources/META-INF/spring/aot.factories | 2 +
settings.gradle | 2 +
149 files changed, 11236 insertions(+), 185 deletions(-)