This is an automated email from the ASF dual-hosted git repository.
jamesfredley pushed a change to branch fix/binddata-mass-assignment
in repository https://gitbox.apache.org/repos/asf/grails-core.git
from d5335f4a9e Merge branch '8.0.x' into fix/binddata-mass-assignment
add 94067b6c1f Remove logback-spring.xml from the app skeleton
add 81e26bed44 Stop generating logback-spring.xml in Grails Forge
add 0eea153db8 feat: add opt-in Logback Configuration feature to Grails
Forge
add ed420b14a8 docs: document logback-spring.xml generation change and
Logback Configuration feature
add 2fac042396 Merge remote-tracking branch 'apache/8.0.x' into
remove-skeleton-logback-spring-xml
add 3f3732e681 docs: document zero-XML per-environment logging via the
environments block
add 45968fd538 Merge branch '8.0.x' into remove-skeleton-logback-spring-xml
add 298cd594ad Keep generating logback-spring.xml by default; make
zero-config the opt-in Forge feature
add d2422cdab8 Simplify generated logback-spring.xml: compose Spring Boot
defaults, INFO root level
add 2b1902fbc2 Docs: fix logback-spring.xml example and scope zero-config
vs generated-file behavior
add 8395a4775d Merge branch '8.0.x' into remove-skeleton-logback-spring-xml
add 537614e383 Stop generating logback-spring.xml by default; add opt-in
Logback Configuration feature
add a62acb7a9d Docs: expand config-driven logging coverage in the logging
reference
add 3f378fae04 Merge remote-tracking branch 'upstream/8.0.x' into
remove-skeleton-logback-spring-xml
add 07242bf9bf Merge remote-tracking branch 'upstream/8.0.x' into
remove-skeleton-logback-spring-xml
add 66a25164f3 Merge pull request #15757 from
codeconsole/remove-skeleton-logback-spring-xml
add 9a8a9a11dd Restore backwards compatibility for Grails 7 command
plugins on Grails 8
add 7831d7dfa2 Merge remote-tracking branch 'origin/8.0.x' into
feat/8.0.x-legacy-command-compat
add 71f73fc7a7 Address review feedback and expand backwards-compatibility
test coverage
add be98c6228a Deduplicate legacy command classes across classloaders and
fix docs
add 5069bef718 Use @Slf4j annotation for ApplicationContextCommandRegistry
logger
add d1fe4956a6 Isolate Grails 7 command compat into execution-only
grails-core-cli-legacy
add 7b53bcc56b Harden legacy command provider: single name resolution and
loud linkage failures
add d64cef31ad Merge origin/8.0.x into feat/8.0.x-legacy-command-compat
add c798c93778 Add default-on legacyCommandSupport flag beside
cliAutoProvision
add cd6cbb81bb Stop inventing named Gradle tasks for legacy application
commands
add 3587ed6478 Prove Grails 7 Groovy 4 precompiled application-command
compatibility
add 1d8edac99e Fix CodeNarc style in legacy command compatibility layer
add 116b0efab3 Default legacyCommandSupport to false (opt-in Grails 7
bridge)
add 75ed39351b Harden legacy command compatibility diagnostics
add 1ed1a30a04 Move legacy command compatibility tests into an end-to-end
build
add e1b93a6927 Merge pull request #16059 from
jdaugherty/test/8.0.x-legacy-command-e2e
add b5d87ae5ea Merge branch '8.0.x' into feat/8.0.x-legacy-command-compat
add 08121444e3 chore: add license header to end-to-end properties
add ed1961adfc test: capture application command diagnostics from logger
add bdb98a6636 test: capture StackTrace filterer emissions via LogCapture
add 301b40c20a Merge pull request #16011 from
apache/feat/8.0.x-legacy-command-compat
add 57883c41e4 build: allow excluding the Spring DM example on an
unpublished branch version
add 4fdb88b163 fix: defer compile-classpath probes out of GroovyCompile
task configuration
add 457f2fb86d Merge pull request #16076 from
codeconsole/fix/eager-classpath-resolve-8.0.x
add 5d024d71b9 Issues #16060 Docs: Mixed-up version numbers
add ebe66140cf Fix: Add urlencoding to link to Grails BOM in docs
add 2e2ce06e9f Merge pull request #16074 from
apache/issues-16060-Upgrade-docs-mixed-up-version-numbers
add cd4202bfa7 Merge branch '8.0.x' into fix/binddata-mass-assignment
No new revisions were added by this update.
Summary of changes:
.github/workflows/end-to-end.yml | 144 ++++
AGENTS.md | 1 +
end-to-end/README.md | 111 +++
.../build.gradle | 44 +-
.../gradle.properties | 6 +-
.../gradle/wrapper/gradle-wrapper.jar | Bin
.../gradle/wrapper/gradle-wrapper.properties | 2 -
gradlew => end-to-end/gradlew | 4 +-
gradlew.bat => end-to-end/gradlew.bat | 4 +-
.../legacy-commands-plugin}/build.gradle | 18 +-
.../legacy/commands/plugin/GreetingService.groovy | 10 +-
.../commands/plugin/HelloLegacyAppCommand.groovy | 37 +-
.../plugin/HelloLegacyGrailsCommand.groovy | 31 +-
.../plugin/LegacyCommandsPluginGrailsPlugin.groovy | 14 +-
.../src/main/resources/META-INF/grails.factories | 9 +-
.../src/main/scripts/hello-legacy-script.groovy | 15 +-
.../legacy-commands}/build.gradle | 80 +-
.../grails-app/conf/application.yml | 17 +-
.../legacy-commands}/grails-app/conf/logback.xml | 0
.../controllers/legacycommands}/UrlMappings.groovy | 2 +-
.../init/legacycommands}/Application.groovy | 4 +-
.../services/legacycommands/GreetingService.groovy | 10 +-
...egacyCommandCompatibilityIntegrationSpec.groovy | 236 ++++++
end-to-end/legacy-g7-command-plugin/.sdkmanrc | 4 +
end-to-end/legacy-g7-command-plugin/build.gradle | 83 +++
.../gradle/wrapper/gradle-wrapper.jar | Bin
.../gradle/wrapper/gradle-wrapper.properties | 6 +
.../legacy-g7-command-plugin/gradlew | 4 +-
.../legacy-g7-command-plugin/gradlew.bat | 4 +-
.../legacy-g7-command-plugin}/settings.gradle | 40 +-
.../g7/commands/HelloDerivedNameCommand.groovy | 29 +-
.../g7/commands/HelloG7PrecompiledCommand.groovy | 43 +-
.../HelloG7PrecompiledGrailsCommand.groovy | 27 +-
.../src/main/resources/META-INF/grails.factories | 1 +
end-to-end/settings.gradle | 112 +++
gradle-bootstrap/build.gradle | 47 +-
gradle/publish-root-config.gradle | 1 +
.../GrailsApplicationContextCommandRunner.groovy | 49 +-
...railsApplicationContextCommandRunnerSpec.groovy | 100 +++
.../build.gradle | 36 +-
.../grails/dev/commands}/ApplicationCommand.groovy | 5 +-
.../grails/dev/commands}/ExecutionContext.groovy | 5 +-
.../dev/commands}/GrailsApplicationCommand.groovy | 14 +-
.../dev}/commands/io/FileSystemInteraction.groovy | 6 +-
.../commands}/io/FileSystemInteractionImpl.groovy | 5 +-
.../commands/template}/TemplateException.groovy | 4 +-
.../dev/commands}/template/TemplateRenderer.groovy | 4 +-
.../commands}/template/TemplateRendererImpl.groovy | 8 +-
.../compat/LegacyApplicationCommandAdapter.groovy | 90 +++
.../compat/LegacyApplicationCommandProvider.groovy | 163 ++++
.../main/resources/META-INF/grails-cli.factories | 2 +-
.../cli/LegacyCommandRegistryLoadingSpec.groovy | 601 +++++++++++++++
.../LegacyApplicationCommandAdapterSpec.groovy | 107 +++
.../core/cli/ApplicationCommandDiagnostics.groovy | 87 +++
.../ApplicationCommandFactoryKeyProvider.groovy | 10 +-
.../core/cli/ApplicationCommandProvider.groovy | 13 +-
.../core/cli/ApplicationCommandRegistrar.groovy | 14 +-
.../core/cli/ApplicationCommandTargetAware.groovy | 10 +-
.../cli/ApplicationContextCommandRegistry.groovy | 216 +++++-
.../compiler/CommandFactoriesTransformation.groovy | 14 +-
.../core/io/support/GrailsFactoriesLoader.groovy | 54 ++
.../grails/util/GrailsUtilStackFiltererSpec.groovy | 23 +-
.../GrailsBootstrapRegistryInitializerSpec.groovy | 19 +-
.../core/cli/ApplicationCommandProviderSpec.groovy | 822 +++++++++++++++++++++
.../CommandFactoriesTransformationSpec.groovy | 16 +
.../test/resources/META-INF/grails-cli.factories | 2 +-
grails-doc/src/en/guide/conf/config/logging.adoc | 67 +-
grails-doc/src/en/guide/introduction/whatsNew.adoc | 26 +-
.../src/en/guide/upgrading/upgrading70x.adoc | 6 +-
.../src/en/guide/upgrading/upgrading80x.adoc | 199 ++++-
.../groovy/org/grails/forge/cli/CommandSpec.groovy | 50 +-
.../org/grails/forge/feature/logging/Logback.java | 11 +-
.../logging/{Logback.java => LogbackConfig.java} | 39 +-
.../forge/feature/logging/LogbackSpec.groovy | 32 +-
.../plugin/commands/GrailsCliGradlePlugin.groovy | 83 ++-
.../gradle/plugin/core/GrailsExtension.groovy | 15 +
.../gradle/plugin/core/GrailsGradlePlugin.groovy | 55 +-
.../plugin/commands/CliAutoDiscoverySpec.groovy | 129 +++-
.../commands/LegacyCommandTaskDiscoverySpec.groovy | 44 ++
.../cli-companion-autodiscovery/app/build.gradle | 37 +-
.../included-digit-bearing-plugin/build.gradle | 21 +
.../my-plugin-2fa-one/build.gradle | 1 +
.../my-plugin-2fa-snapshot/build.gradle | 1 +
.../my-plugin-2fa-timestamp/build.gradle | 1 +
.../my-plugin-2fa-unspecified/build.gradle | 1 +
.../included-digit-bearing-plugin/settings.gradle | 3 +
.../cli-companion-autodiscovery/settings.gradle | 9 +
.../legacy-command-discovery/app/build.gradle | 15 +
.../gradle.properties | 0
.../legacy-command-api/build.gradle | 3 +
.../grails/dev/commands/ApplicationCommand.java | 12 +-
.../java/grails/dev/commands/ExecutionContext.java | 6 +-
.../legacy-command-plugin/build.gradle | 14 +
.../example/legacy/HelloLegacyAppCommand.groovy | 22 +-
.../src/main/resources/META-INF/grails.factories | 1 +
.../legacy-command-discovery/settings.gradle | 3 +
.../skeleton/grails-app/conf/logback-spring.xml | 25 -
.../org/grails/cli/profile/AbstractProfile.groovy | 4 +-
.../ApplicationContextCommandFactory.groovy | 62 +-
.../factory/GroovyScriptCommandFactory.groovy | 2 +
.../grails/cli/profile/AbstractProfileSpec.groovy | 119 +++
.../ApplicationContextCommandFactorySpec.groovy | 113 +++
.../factory/LegacyPluginScriptCompatSpec.groovy | 107 +++
settings.gradle | 12 +-
104 files changed, 4542 insertions(+), 507 deletions(-)
create mode 100644 .github/workflows/end-to-end.yml
create mode 100644 end-to-end/README.md
copy
grails-databinding-core/src/main/groovy/org/grails/databinding/converters/FormattedLocalDateTimeValueConverter.groovy
=> end-to-end/build.gradle (50%)
copy
grails-test-suite-uber/src/test/resources/org/grails/commons/cfg/ExampleConfig.properties
=> end-to-end/gradle.properties (83%)
copy {build-logic => end-to-end}/gradle/wrapper/gradle-wrapper.jar (100%)
copy {build-logic => end-to-end}/gradle/wrapper/gradle-wrapper.properties (51%)
copy gradlew => end-to-end/gradlew (99%)
copy gradlew.bat => end-to-end/gradlew.bat (97%)
copy {grails-test-examples/views-functional-tests-plugin =>
end-to-end/legacy-commands-plugin}/build.gradle (61%)
copy grails-data-graphql/plugin/grails-app/views/graphql/invalidRequest.gson
=>
end-to-end/legacy-commands-plugin/src/main/groovy/legacy/commands/plugin/GreetingService.groovy
(91%)
copy
grails-test-examples/hibernate5/spring-boot-hibernate/src/main/groovy/example/BookController.groovy
=>
end-to-end/legacy-commands-plugin/src/main/groovy/legacy/commands/plugin/HelloLegacyAppCommand.groovy
(61%)
copy grails-test-examples/demo33/src/test/groovy/demo/FirstTagLibSpec.groovy
=>
end-to-end/legacy-commands-plugin/src/main/groovy/legacy/commands/plugin/HelloLegacyGrailsCommand.groovy
(60%)
copy
grails-test-examples/plugins/micronaut-singleton/src/main/groovy/micronaut/singleton/MicronautSingletonGrailsPlugin.groovy
=>
end-to-end/legacy-commands-plugin/src/main/groovy/legacy/commands/plugin/LegacyCommandsPluginGrailsPlugin.groovy
(71%)
copy
grails-data-neo4j/examples/neo4j-spring-boot/src/main/resources/application.yml
=>
end-to-end/legacy-commands-plugin/src/main/resources/META-INF/grails.factories
(85%)
copy grails-core/src/main/groovy/grails/boot/GrailsPluginApplication.groovy =>
end-to-end/legacy-commands-plugin/src/main/scripts/hello-legacy-script.groovy
(80%)
copy {grails-test-examples/geb => end-to-end/legacy-commands}/build.gradle
(53%)
copy {grails-test-examples/database-cleanup =>
end-to-end/legacy-commands}/grails-app/conf/application.yml (79%)
copy {grails-test-examples/config-report =>
end-to-end/legacy-commands}/grails-app/conf/logback.xml (100%)
copy {grails-test-examples/config-report/grails-app/controllers/configreport
=>
end-to-end/legacy-commands/grails-app/controllers/legacycommands}/UrlMappings.groovy
(97%)
copy
{grails-test-examples/hibernate5/grails-multitenant-multi-datasource/grails-app/init/example
=>
end-to-end/legacy-commands/grails-app/init/legacycommands}/Application.groovy
(97%)
copy
grails-data-graphql/plugin/grails-app/controllers/org/grails/gorm/graphql/plugin/UrlMappings.groovy
=>
end-to-end/legacy-commands/grails-app/services/legacycommands/GreetingService.groovy
(84%)
create mode 100644
end-to-end/legacy-commands/src/integration-test/groovy/legacycommands/LegacyCommandCompatibilityIntegrationSpec.groovy
create mode 100644 end-to-end/legacy-g7-command-plugin/.sdkmanrc
create mode 100644 end-to-end/legacy-g7-command-plugin/build.gradle
copy {build-logic =>
end-to-end/legacy-g7-command-plugin}/gradle/wrapper/gradle-wrapper.jar (100%)
create mode 100644
end-to-end/legacy-g7-command-plugin/gradle/wrapper/gradle-wrapper.properties
copy gradlew => end-to-end/legacy-g7-command-plugin/gradlew (99%)
copy gradlew.bat => end-to-end/legacy-g7-command-plugin/gradlew.bat (97%)
copy {grails-forge => end-to-end/legacy-g7-command-plugin}/settings.gradle
(66%)
copy grails-test-examples/demo33/src/test/groovy/demo/FirstTagLibSpec.groovy
=>
end-to-end/legacy-g7-command-plugin/src/main/groovy/legacy/g7/commands/HelloDerivedNameCommand.groovy
(54%)
copy
grails-core/src/main/groovy/grails/core/GrailsApplicationLifeCycleAdapter.groovy
=>
end-to-end/legacy-g7-command-plugin/src/main/groovy/legacy/g7/commands/HelloG7PrecompiledCommand.groovy
(56%)
copy
grails-test-examples/hibernate7/views-functional-tests/src/main/groovy/functional/tests/MyConverter.groovy
=>
end-to-end/legacy-g7-command-plugin/src/main/groovy/legacy/g7/commands/HelloG7PrecompiledGrailsCommand.groovy
(62%)
create mode 100644
end-to-end/legacy-g7-command-plugin/src/main/resources/META-INF/grails.factories
create mode 100644 end-to-end/settings.gradle
copy {grails-services => grails-core-cli-legacy}/build.gradle (78%)
copy {grails-core/src/cli/groovy/org/apache/grails/core/cli =>
grails-core-cli-legacy/src/main/groovy/grails/dev/commands}/ApplicationCommand.groovy
(89%)
copy {grails-core/src/cli/groovy/org/apache/grails/core/cli =>
grails-core-cli-legacy/src/main/groovy/grails/dev/commands}/ExecutionContext.groovy
(85%)
copy {grails-core/src/cli/groovy/org/apache/grails/core/cli =>
grails-core-cli-legacy/src/main/groovy/grails/dev/commands}/GrailsApplicationCommand.groovy
(75%)
copy {grails-shell-cli/src/main/groovy/org/grails/cli/profile =>
grails-core-cli-legacy/src/main/groovy/grails/dev}/commands/io/FileSystemInteraction.groovy
(93%)
copy {grails-core/src/cli/groovy/org/apache/grails/core/cli =>
grails-core-cli-legacy/src/main/groovy/grails/dev/commands}/io/FileSystemInteractionImpl.groovy
(96%)
copy
{grails-shell-cli/src/main/groovy/org/grails/cli/profile/commands/templates =>
grails-core-cli-legacy/src/main/groovy/grails/dev/commands/template}/TemplateException.groovy
(79%)
copy {grails-core/src/cli/groovy/org/apache/grails/core/cli =>
grails-core-cli-legacy/src/main/groovy/grails/dev/commands}/template/TemplateRenderer.groovy
(95%)
copy {grails-core/src/cli/groovy/org/apache/grails/core/cli =>
grails-core-cli-legacy/src/main/groovy/grails/dev/commands}/template/TemplateRendererImpl.groovy
(96%)
create mode 100644
grails-core-cli-legacy/src/main/groovy/org/apache/grails/core/cli/compat/LegacyApplicationCommandAdapter.groovy
create mode 100644
grails-core-cli-legacy/src/main/groovy/org/apache/grails/core/cli/compat/LegacyApplicationCommandProvider.groovy
copy grails-data-hibernate5/dbmigration/src/test/resources/logging.properties
=> grails-core-cli-legacy/src/main/resources/META-INF/grails-cli.factories (86%)
create mode 100644
grails-core-cli-legacy/src/test/groovy/org/apache/grails/core/cli/LegacyCommandRegistryLoadingSpec.groovy
create mode 100644
grails-core-cli-legacy/src/test/groovy/org/apache/grails/core/cli/compat/LegacyApplicationCommandAdapterSpec.groovy
create mode 100644
grails-core/src/cli/groovy/org/apache/grails/core/cli/ApplicationCommandDiagnostics.groovy
copy
grails-data-graphql/core/src/test/groovy/org/grails/gorm/graphql/domain/hibernate/HibernatePackage.groovy
=>
grails-core/src/cli/groovy/org/apache/grails/core/cli/ApplicationCommandFactoryKeyProvider.groovy
(78%)
copy
grails-data-graphql/core/src/test/groovy/org/grails/gorm/graphql/domain/hibernate/HibernatePackage.groovy
=>
grails-core/src/cli/groovy/org/apache/grails/core/cli/ApplicationCommandProvider.groovy
(72%)
copy
grails-async/core/src/main/groovy/grails/async/decorator/PromiseDecoratorProvider.groovy
=>
grails-core/src/cli/groovy/org/apache/grails/core/cli/ApplicationCommandRegistrar.groovy
(73%)
copy
grails-data-graphql/core/src/test/groovy/org/grails/gorm/graphql/domain/hibernate/HibernatePackage.groovy
=>
grails-core/src/cli/groovy/org/apache/grails/core/cli/ApplicationCommandTargetAware.groovy
(81%)
create mode 100644
grails-core/src/test/groovy/org/apache/grails/core/cli/ApplicationCommandProviderSpec.groovy
copy grails-data-hibernate5/dbmigration/src/test/resources/logging.properties
=> grails-core/src/test/resources/META-INF/grails-cli.factories (87%)
copy
grails-forge/grails-forge-core/src/main/java/org/grails/forge/feature/logging/{Logback.java
=> LogbackConfig.java} (58%)
create mode 100644
grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/commands/LegacyCommandTaskDiscoverySpec.groovy
create mode 100644
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-autodiscovery/included-digit-bearing-plugin/build.gradle
create mode 100644
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-autodiscovery/included-digit-bearing-plugin/my-plugin-2fa-one/build.gradle
create mode 100644
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-autodiscovery/included-digit-bearing-plugin/my-plugin-2fa-snapshot/build.gradle
create mode 100644
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-autodiscovery/included-digit-bearing-plugin/my-plugin-2fa-timestamp/build.gradle
create mode 100644
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-autodiscovery/included-digit-bearing-plugin/my-plugin-2fa-unspecified/build.gradle
create mode 100644
grails-gradle/plugins/src/test/resources/test-projects/cli-companion-autodiscovery/included-digit-bearing-plugin/settings.gradle
create mode 100644
grails-gradle/plugins/src/test/resources/test-projects/legacy-command-discovery/app/build.gradle
copy
grails-gradle/plugins/src/test/resources/test-projects/{cli-companion-autodiscovery
=> legacy-command-discovery}/gradle.properties (100%)
create mode 100644
grails-gradle/plugins/src/test/resources/test-projects/legacy-command-discovery/legacy-command-api/build.gradle
copy
grails-data-hibernate5/core/src/test/groovy/grails/gorm/tests/autoimport/other/A.groovy
=>
grails-gradle/plugins/src/test/resources/test-projects/legacy-command-discovery/legacy-command-api/src/main/java/grails/dev/commands/ApplicationCommand.java
(82%)
copy
grails-data-neo4j/examples/test-data-service/grails-app/domain/example/Book.groovy
=>
grails-gradle/plugins/src/test/resources/test-projects/legacy-command-discovery/legacy-command-api/src/main/java/grails/dev/commands/ExecutionContext.java
(93%)
create mode 100644
grails-gradle/plugins/src/test/resources/test-projects/legacy-command-discovery/legacy-command-plugin/build.gradle
copy
grails-forge/grails-forge-core/src/main/java/org/grails/forge/build/Comment.java
=>
grails-gradle/plugins/src/test/resources/test-projects/legacy-command-discovery/legacy-command-plugin/src/main/groovy/org/example/legacy/HelloLegacyAppCommand.groovy
(70%)
create mode 100644
grails-gradle/plugins/src/test/resources/test-projects/legacy-command-discovery/legacy-command-plugin/src/main/resources/META-INF/grails.factories
create mode 100644
grails-gradle/plugins/src/test/resources/test-projects/legacy-command-discovery/settings.gradle
delete mode 100644
grails-profiles/base/skeleton/grails-app/conf/logback-spring.xml
create mode 100644
grails-shell-cli/src/test/groovy/org/grails/cli/profile/AbstractProfileSpec.groovy
create mode 100644
grails-shell-cli/src/test/groovy/org/grails/cli/profile/commands/factory/ApplicationContextCommandFactorySpec.groovy
create mode 100644
grails-shell-cli/src/test/groovy/org/grails/cli/profile/commands/factory/LegacyPluginScriptCompatSpec.groovy