You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@grails.apache.org by bo...@apache.org on 2026/10/18 16:23:39 UTC
(grails-core) branch groovyism/build-tooling updated (2830da863a -> fc8c30d600)
This is an automated email from the ASF dual-hosted git repository.
borinquenkid pushed a change to branch groovyism/build-tooling
in repository https://gitbox.apache.org/repos/asf/grails-core.git
from 2830da863a Merge branch 'refactor/java-to-groovy-build-tooling' into groovyism/build-tooling
add 50d97beae4 Write grails.converters.JSON through Spring Boot's JsonMapper
add 95066b7b83 Write JSONWriter through Jackson; remove the unused JSON writers, marshallers and parser
add fc2cb3a76c Merge 9.0.x into the JSON mapper branch
add 9b0c6c1304 Get the JsonMapper's serialization context through its public API
add 850fc4d3cd Document that a Jackson module serializer renders the values it writes
add 0d9626e80c Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
add 208977c9c4 Render the values a Jackson module serializer writes with the converter
add a2dc99db23 Render domain classes with a Jackson serializer
add fea8b9b294 Pin the syntax and number types JSON.parse accepts
add 64e1733f58 Keep the JSON value marshallers, PrettyPrintJSONWriter and JSONParser, deprecated
add 2493e1e9d4 Render JSON as Grails 8 did with grails.converters.json.legacy
add 6f42133f0b Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
add ebf560153b Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
add 1b3a980f0d Keep grails.converters.json.legacy undeprecated, and make the domain Jackson module opt-in
add e41e7e431d Render domain classes, map keys and toString(false) as Grails 8 did with grails.converters.json.legacy
add 512e8d9fb7 Write exotic Numbers as text, keep compact JSON compact, and render enums with a @JsonValue by name
add f520e7dcbf Write domain classes on the JsonMapper with their type id, unwrapped, and with the mapper's names
add 18156ce6d0 Render a Path as the JsonMapper does
add 1b644c8973 Document the legacy and domain module defaults, and test the gaps the review found
add 26f1dda9ff Render Numbers with a module serializer, enum constants with a body and Iterable values as the mapper does
add 4a20e8dff3 Offer cycle references to the rendering, fail on unwrapped type ids, and name references as instances
add 5536958955 Document enum constants with a body, JsonNode, EXISTING_PROPERTY type ids and legacy with the domain module
add 102dbe2bf2 Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
add 0935518b09 Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
add 8acfac0aa9 Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
add 27a86d86b8 Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
add 6e9b680773 Render JSON as Grails 8 did by default in Grails 9, with the JsonMapper as an opt-in
add a41284e2d7 Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
add f2ac68cb2b Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
add 7852b429ef Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
add 1d77b314cd Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
add 8ce0e146ac Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
add 2ec20172f5 Warn while the JSON legacy setting is unset, and describe the default in the guides
add 37750d854f feat: enable Groovy invokedynamic by default on Grails 9
add 131cc80e38 fix: stop injecting unversioned groovy-callsite on indy=false CI
add 2cbd65150c fix: make security taglib and session lookup indy-safe
add 782b00ffe5 test: avoid Groovy with() String.contains under invokedynamic
add 0017bc62f4 test: stop using with(pageSource) contains under Groovy 6 indy
add ccce1baf53 test: call rolesTab methods without Groovy with() under indy
add 80b9c1d489 Merge branch '9.0.x' into feat/indy-default-groovy6
add 42a30d7ce6 Merge branch '8.0.x' into 8.1.x
add 92e2c82f5c Merge branch '8.1.x' into 9.0.x
add 477ef24571 Merge branch '9.0.x' into feat/indy-default-groovy6
add 919a12c2b8 build: default CompilePlugin indy on for Grails 9
add c43f28478f Merge branch '9.0.x' into feat/indy-default-groovy6
add d71024dd8b Leave indy at the Groovy compiler's default unless the application sets it
add 03883d8f60 Merge branch '9.0.x' into feat/indy-default-groovy6
add 6e4f085d85 Restore the with() blocks in the security functional specs
add e609d83c3a Fail the build when an application that builds a native image turns indy off
add 7d85b3fc33 Check each compile task's own indy option in a native image build
add 6838d1e117 Restore the session lookup and taglib filter chain
add 17d694d3af Ship groovy-callsite only when an application opts out of invokedynamic
add 80a04e555c Tell agents to drop indy settings by default and offer classic call sites
add 46284360f4 Give the classic lane groovy-callsite everywhere, and tests that load testcontainers-spock
add cae2aa3e36 Keep the classic lane's groovy-callsite out of the Gradle-side builds only
add 38fd73b5de Make the applications the Forge specs generate declare groovy-callsite in the classic lane
add 144c1161b9 Preserve Forge init-script paths when launching generated builds
add ebf174eb20 Merge pull request #16165 from apache/feat/indy-default-groovy6
add 4e69821b89 Merge branch '9.0.x' into feat/converters-json-on-jackson-9.0.x
add 1d3bf77306 Check that rendering a lazy association leaves its proxy uninitialized
add d0ecc35001 Merge pull request #16414 from codeconsole/feat/converters-json-on-jackson-9.0.x
add d3a41b38ec test: cover the default native id generator on every database RLikeHibernate7Spec covers
add ce72ecc848 fix: create the sequences of the default native id generator on sequence-based databases
add e43c8d2635 test: expect the generated sequence default for a native id on PostgreSQL
add 95228615d6 Update Bootstrap Icons to 1.13.2
add 60f75ee890 Merge pull request #16650 from codeconsole/deps/bootstrap-icons-1.13.2
add 5af9ef654f Merge 8.0.x into fix/hibernate7-native-id-generator-sequences-8.0.x
add 8400b27b03 docs(upgrade): document the per-table sequences of the default id mapping on Hibernate 7
add 122c3daa7c Merge pull request #16582 from apache/fix/hibernate7-native-id-generator-sequences-8.0.x
add 411501ddb7 Add unit tests for Grails CLI command helpers.
add 1da0239a00 Address review feedback on the CLI command helper specs
add 98091dc870 Merge pull request #16643 from apache/test/shell-cli-coverage-7.0.x
add 5daa297b9e Add unit tests for Gradle model IO helpers.
add 186b59c45d Tighten the Gradle model IO helper specs
add caa0815630 Merge pull request #16642 from apache/test/gradle-model-io-7.0.x
add 23d3d4be7a Add unit tests for AntPathMatcher and ByteArrayResource.
add 3c2fced307 Tighten the AntPathMatcher and ByteArrayResource specs
add 1eda77cac5 Merge pull request #16639 from apache/test/bootstrap-antpath-7.0.x
add 45828c7c7f Add unit tests for Grails layout capture and response buffering.
add 9f8c9b899c Tighten the grails-layout capture and buffering specs
add b5fe338956 Merge pull request #16640 from apache/test/gsp-layout-coverage-7.0.x
add b8752338ef Add unit tests for web request helpers and XML writers.
add d992cfeed4 Tighten the web util and XML writer specs
add 9833d23d8b Merge pull request #16637 from apache/test/web-util-coverage-7.0.x
add e155137772 Add unit tests for the Grails JSON writers.
add 60b6b39d45 Stop the JSON writer specs pinning two misreports
add 1886349ed1 Merge pull request #16636 from apache/test/json-writers-7.0.x
add 584d7329a5 Add unit tests for Atom and HAL XML renderers.
add 49090ba585 Tighten the Atom and HAL XML renderer specs
add 9e0e8b4069 Merge pull request #16641 from apache/test/rest-renderers-7.0.x
add 0c78d805f5 Add unit tests for composite config and small core utilities.
add 452d42d942 Tighten the core config and utility specs
add 8d707a2ff2 Merge pull request #16638 from apache/test/core-config-coverage-7.0.x
add b28f38e827 Merge branch '7.0.x' into 7.1.x
add fe958347a7 Merge branch '7.1.x' into 7.2.x
add 849bc57401 Merge branch '7.2.x' into 8.0.x
add 28c013a1bb Adapt the merged layout and template specs to the 8.0.x behaviour
add 4005921043 Merge branch '8.0.x' into 8.1.x
add 85cf13505a Merge branch '8.1.x' into 9.0.x
add b85f02d4c3 Adapt the merged JSON writer specs to the Jackson-backed writer
add 38bfb26742 Merge branch '9.0.x' into 9.1.x
add 27c3848d60 Merge branch '9.1.x' into 10.0.x
add 08082792ef fix(forge): keep the Grails Data plugin off the generated buildscript classpath (#16575)
add b1012aaca5 Implemented the fix for #16632.
add f89943293e Add a functional test for requests without an Authentication (#16632)
add a2f8c0ab59 Merge pull request #16654 from ruthst00/fix/16632-unauthenticated-request
add 41cea2f0a4 fix: create proxies for Groovy entities whose trait declares default values
add 776c6d948c fix: keep HibernateProxy visible on the Groovy proxy wrapper and fail fast in postInstantiate
add 72c44111e5 test: exercise the built proxy and the lazy association for trait default values
add 49fa7e809e test: cover the shared ByteBuddyState wiring in GrailsBytecodeProviderSpec
add 87a3f936e5 fix: reuse the Groovy proxy wrapper per entity and class loader on Hibernate 5
add 0e9dc2cbae fix: deserialize Groovy-aware proxies through the Grails proxy factory
add c4803120b2 test: cover trait default values and proxy serialization in the groovy-proxy apps
add c032daca86 test: load the deserialized book in the groovy-proxy apps and drop an inert proxy setting
add 38216edf7b Merge pull request #16625 from MartinJesusDev/fix/16600-trait-default-values-8.0.x
add 8a99cafd41 Merge branch '8.0.x' into 8.1.x
add 963386d56d Merge branch '8.1.x' into 9.0.x
add abd6beb9ad Merge branch '9.0.x' into 9.1.x
add 856964eb99 Merge branch '9.1.x' into 10.0.x
add 9ce99cde3f Return the page's property keys from the layout Content adapter
add c471280c53 Combine patterns and extract template variables as AntPathMatcher documents
add 81e4dc8373 Test File values for null instead of truth in the file system interaction
add 18d8daf59e Return the relative path of a spring script from getPathFromRoot
add e77e3cd9cc Report a misplaced endObject as such and let JSONTokener.next(n) read to the end
add bd674957eb Resolve every CompositeConfig view from the config that has the key
add 3b960eda28 Merge branch '7.0.x' into 7.1.x
add bd36ccad7a Merge branch '7.1.x' into 7.2.x
add caa413f5cb Merge branch '7.2.x' into 8.0.x
add 408728babc Merge branch '8.0.x' into 8.1.x
add 8efcc85ea8 Merge branch '8.1.x' into 9.0.x
add b7aaa5b539 Merge branch '9.0.x' into 9.1.x
add 0eff8e71d2 Merge branch '9.1.x' into 10.0.x
add b5377ab02c Spell getCurrentStackReference correctly on the path capturing JSON writer
add d534bf797f Merge branch '7.0.x' into 7.1.x
add d3dd89787d Merge branch '7.1.x' into 7.2.x
add ba72113c99 Merge branch '7.2.x' into 8.0.x
add 005dee1afc Merge branch '8.0.x' into 8.1.x
add 6fc2a3cbf0 Merge branch '8.1.x' into 9.0.x
add 91a05308d9 Keep the deprecated getCurrentStrackReference alias on the path capturing writer
add b1c3428e50 Merge branch '9.0.x' into 9.1.x
add ec6998eb13 Merge branch '9.1.x' into 10.0.x
add aca2f6d255 Merge origin/10.0.x into refactor/java-to-groovy-build-tooling
add ef0ba33d56 test: expect the platform's separator from projectPath in the file system interaction specs
add 07255010d4 Set the 10.0.x branch version to 10.0.0-SNAPSHOT and githubBranch to 10.0.x
add fc8c30d600 Merge branch 'refactor/java-to-groovy-build-tooling' into groovyism/build-tooling
No new revisions were added by this update.
Summary of changes:
.agents/skills/gradle-developer/SKILL.md | 8 +
.github/workflows/gradle.yml | 2 +-
AGENTS.md | 1 +
THREAT_MODEL.md | 2 +-
.../apache/grails/buildsrc/CompilePlugin.groovy | 56 +-
.../grails/buildsrc/CompilePluginSpec.groovy | 58 ++
dependencies.gradle | 2 +-
gradle.properties | 8 +-
gradle/grails-extension-gradle-config.gradle | 4 +-
.../org/grails/io/support/AntPathMatcher.java | 36 +-
.../grails/io/support/AntPathMatcherSpec.groovy | 347 ++++++++++
.../grails/io/support/ByteArrayResourceSpec.groovy | 97 +++
grails-common/build.gradle | 4 -
grails-converters/build.gradle | 3 +-
.../src/main/groovy/grails/converters/JSON.java | 75 ++-
.../converters/ConvertersGrailsPlugin.groovy | 20 +
.../ConvertersConfigurationHolder.java | 44 ++
.../ConvertersConfigurationInitializer.java | 161 ++++-
.../jackson/DomainClassJacksonModule.java | 119 ++++
.../converters/jackson/DomainClassRendering.java | 256 ++++++++
.../converters/jackson/DomainClassSerializer.java | 481 ++++++++++++++
.../marshaller/json/ByteArrayMarshaller.java | 4 +
.../marshaller/json/CalendarMarshaller.java | 4 +
.../converters/marshaller/json/DateMarshaller.java | 4 +
.../marshaller/json/DomainClassMarshaller.java | 104 ++-
.../marshaller/json/InstantMarshaller.java | 4 +
.../marshaller/json/JsonMapperValueMarshaller.java | 88 +++
.../marshaller/json/LocalDateMarshaller.java | 4 +
.../marshaller/json/LocalDateTimeMarshaller.java | 4 +
.../converters/marshaller/json/MapMarshaller.java | 3 +-
.../marshaller/json/OffsetDateTimeMarshaller.java | 4 +
...rrayMarshaller.java => OptionalMarshaller.java} | 15 +-
...alDateMarshaller.java => RecordMarshaller.java} | 30 +-
.../marshaller/json/SimpleEnumMarshaller.java | 17 +-
.../marshaller/json/ToStringBeanMarshaller.java | 4 +
.../marshaller/json/ZonedDateTimeMarshaller.java | 4 +
.../converters/ConvertersGrailsPluginSpec.groovy | 104 +++
.../ConvertersConfigurationInitializerSpec.groovy | 77 +++
.../jackson/DomainClassJacksonModuleSpec.groovy | 524 +++++++++++++++
.../converters/json/JsonMapperRenderingSpec.groovy | 719 +++++++++++++++++++++
.../web/converters/json/JsonParsingSpec.groovy | 99 +++
.../json/legacy/Grails8DomainRendering.groovy | 213 ++++++
.../json/legacy/Grails8JsonRenderingSpec.groovy | 397 ++++++++++++
.../commands/io/FileSystemInteractionImpl.groovy | 9 +-
.../io/FileSystemInteractionImplSpec.groovy | 75 +++
.../core/cli/io/FileSystemInteractionImpl.groovy | 9 +-
.../groovy/org/grails/config/CompositeConfig.java | 59 +-
.../additional-spring-configuration-metadata.json | 12 +
.../cli/io/FileSystemInteractionImplSpec.groovy | 75 +++
.../beans/util/LazyMetaPropertyMapSpec.groovy | 138 ++++
.../groovy/grails/util/GrailsClassUtilsSpec.groovy | 192 ++++++
.../test/groovy/grails/util/GrailsUtilTests.java | 2 +-
.../org/grails/config/CompositeConfigSpec.groovy | 220 +++++++
.../org/grails/config/PrefixedConfigSpec.groovy | 141 ++++
.../org/grails/core/util/StopWatchSpec.groovy | 150 +++++
grails-data-hibernate5/core/build.gradle | 4 +
.../proxy/ByteBuddyGroovyInterceptor.java | 23 +
.../proxy/ByteBuddyGroovyProxyFactory.java | 30 +-
.../hibernate/proxy/GroovyProxyClassBuilder.java | 115 ++++
.../proxy/GroovyProxyMetaClassDispatcher.java | 57 ++
.../hibernate/proxy/SerializableGroovyProxy.java | 126 ++++
.../TraitInitializerProxySpec.groovy | 232 +++++++
.../proxy/ByteBuddyGroovyProxyFactorySpec.groovy | 175 +++++
.../proxy/GroovyProxyClassBuilderSpec.groovy | 109 ++++
.../GroovyProxyMetaClassDispatcherSpec.groovy | 47 ++
.../proxy/SerializableGroovyProxySpec.groovy | 111 ++++
grails-data-hibernate7/core/build.gradle | 2 +
.../generator/GrailsNativeGenerator.java | 64 +-
.../generator/GrailsSequenceGeneratorEnum.groovy | 4 +-
.../proxy/ByteBuddyGroovyInterceptor.java | 24 +
.../proxy/ByteBuddyGroovyProxyFactory.java | 44 +-
.../hibernate/proxy/GrailsBytecodeProvider.java | 10 +-
.../hibernate/proxy/GrailsProxyFactoryFactory.java | 2 +-
.../hibernate/proxy/GroovyProxyClassBuilder.java | 93 +++
.../proxy/GroovyProxyMetaClassDispatcher.java | 56 ++
.../hibernate/proxy/SerializableGroovyProxy.java | 146 +++++
.../tests/NativeIdGeneratorHibernate7Spec.groovy | 135 ++++
.../TraitInitializerProxySpec.groovy | 232 +++++++
.../domainbinding/GrailsNativeGeneratorSpec.groovy | 137 ++--
.../GrailsSequenceGeneratorEnumSpec.groovy | 8 +-
.../proxy/ByteBuddyGroovyInterceptorSpec.groovy | 28 +
.../proxy/ByteBuddyGroovyProxyFactorySpec.groovy | 152 ++++-
.../proxy/GrailsBytecodeProviderSpec.groovy | 47 ++
.../proxy/GroovyProxyClassBuilderSpec.groovy | 107 +++
.../GroovyProxyMetaClassDispatcherSpec.groovy | 47 ++
.../proxy/SerializableGroovyProxySpec.groovy | 112 ++++
.../dbmigration-core/build.gradle | 2 +
grails-data-hibernate7/dbmigration/build.gradle | 2 +
.../GormIdentifierSnapshot16497Spec.groovy | 6 +-
grails-data-mongodb/core/build.gradle | 2 +
.../Jsr310ConvertersConfiguration.groovy | 6 +-
.../en/guide/REST/renderers/defaultRenderers.adoc | 108 +++-
.../src/en/guide/deployment/deploymentAot.adoc | 6 +
grails-doc/src/en/guide/introduction/whatsNew.adoc | 31 +
.../springSecurity/core/filters.adoc | 2 +
.../src/en/guide/upgrading/upgrading80x.adoc | 79 ++-
.../src/en/guide/upgrading/upgrading90x.adoc | 259 ++++++++
.../gradle/classic-framework.init.gradle | 34 +-
grails-forge/gradle/test-config.gradle | 10 +
grails-forge/grails-forge-cli/build.gradle | 4 -
.../groovy/org/grails/forge/cli/CommandSpec.groovy | 16 +-
.../org/grails/forge/cli/GeneratedBuildSpec.groovy | 34 +-
.../forge/cli/command/CreateAppCommandSpec.groovy | 21 +
.../org/grails/forge/cli/GeneratedBuild.groovy | 48 ++
.../feature/database/GrailsDataHibernate5.groovy | 7 +-
.../feature/database/GrailsDataHibernate7.groovy | 7 +-
.../database/GrailsDataHibernate5Spec.groovy | 12 +-
.../database/GrailsDataHibernate7Spec.groovy | 10 +-
.../org/grails/forge/utils/CommandSpec.groovy | 7 +-
.../grails/io/support/GrailsResourceUtils.groovy | 4 +-
.../grails/io/support/ClassPathResourceSpec.groovy | 186 +++---
.../io/support/FileSystemResourceSpec.groovy | 162 ++---
.../io/support/GrailsResourceUtilsSpec.groovy | 520 ++++++---------
.../grails/io/support/MainClassFinderSpec.groovy | 171 ++++-
.../org/grails/io/support/UrlResourceSpec.groovy | 167 +++--
.../gradle/plugin/core/GrailsExtension.groovy | 12 +-
.../gradle/plugin/core/GrailsGradlePlugin.groovy | 61 +-
.../gradle/plugin/core/GrailsExtensionSpec.groovy | 23 +
.../gradle/plugin/core/GrailsIndySpec.groovy | 75 +++
.../core/GrailsNativeImageDefaultsSpec.groovy | 53 +-
.../test-projects/indy-settings/build.gradle | 40 ++
.../gradle.properties | 0
.../grails-app/conf/application.yml | 0
.../test-projects/indy-settings/settings.gradle | 1 +
.../src/main/groovy/demo/Dynamic.groovy | 5 +
.../test-projects/native-defaults-off/build.gradle | 7 +-
.../test-projects/native-defaults-on/build.gradle | 47 +-
.../src/main/groovy/demo/Dynamic.groovy | 5 +
.../web/layout/TokenizedHTMLPage2Content.java | 2 +-
.../web/layout/GSPGrailsLayoutPageSpec.groovy | 155 +++++
.../web/layout/GrailsHTMLPageParserSpec.groovy | 82 +++
.../web/layout/GrailsLayoutTagLibSpec.groovy | 112 ++++
.../layout/GrailsPageResponseWrapperSpec.groovy | 223 +++++++
.../layout/GrailsViewBufferingResponseSpec.groovy | 165 +++++
.../grails/web/layout/LayoutDecoratorSpec.groovy | 125 ++++
.../web/layout/RenderGrailsLayoutTagLibSpec.groovy | 102 +++
.../web/rest/render/atom/AtomRendererSpec.groovy | 261 ++++++++
.../web/rest/render/hal/HalXmlRendererSpec.groovy | 290 +++++++++
grails-shell-cli/build.gradle | 2 +
.../commands/io/FileSystemInteractionImpl.groovy | 9 +-
.../grails/cli/command/CommandExceptionSpec.groovy | 73 +++
.../grails/cli/command/CommandRunnerSpec.groovy | 269 ++++++++
.../org/grails/cli/command/HelpExampleSpec.groovy | 33 +-
.../cli/command/OptionParsingCommandSpec.groovy | 84 +++
.../io/FileSystemInteractionImplSpec.groovy | 151 +++++
.../templates/TemplateRendererImplSpec.groovy | 151 +++++
.../developer/skills/grails-developer/SKILL.md | 30 +
.../intercept/FilterSecurityInterceptor.groovy | 4 +
.../intercept/FilterSecurityInterceptorSpec.groovy | 141 +++-
.../grails-hibernate-groovy-proxy/build.gradle | 1 +
.../grails-app/conf/application.yml | 4 +
.../grails-app/domain/example/Book.groovy | 27 +-
.../grails-app/domain/example/Loan.groovy | 28 +-
.../example/TraitDefaultValuesProxySpec.groovy | 189 ++++++
.../src/main/groovy/example/Auditable.groovy | 28 +-
.../hibernate5/grails-hibernate/build.gradle | 1 +
.../grails-app/conf/application.yml | 11 +-
.../functional/tests/ShipmentController.groovy | 24 +-
.../domain/functional/tests/Carrier.groovy | 24 +-
.../domain/functional/tests/Shipment.groovy | 25 +-
.../tests/JsonMapperConverterSpec.groovy | 86 +++
.../grails-hibernate-groovy-proxy/build.gradle | 1 +
.../grails-app/conf/application.yml | 5 +-
.../grails-app/domain/example/Book.groovy | 27 +-
.../grails-app/domain/example/Loan.groovy | 28 +-
.../example/TraitDefaultValuesProxySpec.groovy | 189 ++++++
.../src/main/groovy/example/Auditable.groovy | 28 +-
.../grails-app/conf/application.groovy | 13 +
.../groovy/specs/NoAnonymousFilterSpec.groovy | 105 +++
.../spring-security/ui/common/build.gradle | 2 +
.../binding/DateTimeRoundTripBindingSpec.groovy | 10 +-
.../web/converters/JSONConverterTests.groovy | 9 +-
.../org/grails/web/json/JSONWriterSpec.groovy | 62 --
grails-web-common/build.gradle | 1 +
.../org/grails/web/json/GrailsPrettyPrinter.java | 116 ++++
.../org/grails/web/json/HtmlSafeJsonWriter.java | 102 +++
.../groovy/org/grails/web/json/JSONTokener.java | 2 +-
.../groovy/org/grails/web/json/JSONWriter.java | 367 ++++++++---
.../org/grails/web/json/JsonMapperSupport.java | 244 +++++++
.../org/grails/web/json/JsonMapperValue.java | 86 +++
.../org/grails/web/json/NestedValueSerializer.java | 215 ++++++
.../web/json/PathCapturingJSONWriterWrapper.java | 136 +++-
.../org/grails/web/json/PrettyPrintJSONWriter.java | 138 +---
.../org/grails/web/json/parser/JSONParser.java | 7 +
.../grails/web/json/HtmlSafeJsonWriterSpec.groovy | 50 ++
.../org/grails/web/json/JSONArrayApiSpec.groovy | 322 +++++++++
.../org/grails/web/json/JSONObjectApiSpec.groovy | 345 ++++++++++
.../org/grails/web/json/JSONTokenerApiSpec.groovy | 245 +++++++
.../org/grails/web/json/JSONWriterApiSpec.groovy | 135 ++++
.../org/grails/web/json/JSONWriterSpec.groovy | 332 ++++++++++
.../PathCapturingJSONWriterWrapperApiSpec.groovy | 159 +++++
.../web/json/PrettyPrintJSONWriterApiSpec.groovy | 92 +++
.../BoundedCharsAsEncodedBytesCounterSpec.groovy | 167 +++++
.../web/util/IncludeResponseWrapperSpec.groovy | 181 ++++++
.../org/grails/web/util/IncludedContentSpec.groovy | 88 +++
.../groovy/org/grails/web/util/WebUtilsSpec.groovy | 269 +++++++-
.../web/xml/PrettyPrintXMLStreamWriterSpec.groovy | 112 ++++
.../web/xml/StreamingMarkupWriterSpec.groovy | 76 +++
threat-model.yaml | 2 +-
199 files changed, 15838 insertions(+), 1565 deletions(-)
create mode 100644 grails-bootstrap/src/test/groovy/org/grails/io/support/AntPathMatcherSpec.groovy
create mode 100644 grails-bootstrap/src/test/groovy/org/grails/io/support/ByteArrayResourceSpec.groovy
create mode 100644 grails-converters/src/main/groovy/org/grails/web/converters/jackson/DomainClassJacksonModule.java
create mode 100644 grails-converters/src/main/groovy/org/grails/web/converters/jackson/DomainClassRendering.java
create mode 100644 grails-converters/src/main/groovy/org/grails/web/converters/jackson/DomainClassSerializer.java
create mode 100644 grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/JsonMapperValueMarshaller.java
copy grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/{ByteArrayMarshaller.java => OptionalMarshaller.java} (73%)
copy grails-converters/src/main/groovy/org/grails/web/converters/marshaller/json/{LocalDateMarshaller.java => RecordMarshaller.java} (50%)
create mode 100644 grails-converters/src/test/groovy/org/grails/web/converters/configuration/ConvertersConfigurationInitializerSpec.groovy
create mode 100644 grails-converters/src/test/groovy/org/grails/web/converters/jackson/DomainClassJacksonModuleSpec.groovy
create mode 100644 grails-converters/src/test/groovy/org/grails/web/converters/json/JsonMapperRenderingSpec.groovy
create mode 100644 grails-converters/src/test/groovy/org/grails/web/converters/json/JsonParsingSpec.groovy
create mode 100644 grails-converters/src/test/groovy/org/grails/web/converters/json/legacy/Grails8DomainRendering.groovy
create mode 100644 grails-converters/src/test/groovy/org/grails/web/converters/json/legacy/Grails8JsonRenderingSpec.groovy
create mode 100644 grails-core-cli-legacy/src/test/groovy/grails/dev/commands/io/FileSystemInteractionImplSpec.groovy
create mode 100644 grails-core/src/test-cli/groovy/org/apache/grails/core/cli/io/FileSystemInteractionImplSpec.groovy
create mode 100644 grails-core/src/test/groovy/grails/beans/util/LazyMetaPropertyMapSpec.groovy
create mode 100644 grails-core/src/test/groovy/grails/util/GrailsClassUtilsSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/grails/config/CompositeConfigSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/grails/config/PrefixedConfigSpec.groovy
create mode 100644 grails-core/src/test/groovy/org/grails/core/util/StopWatchSpec.groovy
create mode 100644 grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/proxy/GroovyProxyClassBuilder.java
create mode 100644 grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/proxy/GroovyProxyMetaClassDispatcher.java
create mode 100644 grails-data-hibernate5/core/src/main/groovy/org/grails/orm/hibernate/proxy/SerializableGroovyProxy.java
create mode 100644 grails-data-hibernate5/core/src/test/groovy/grails/gorm/tests/proxy/traitinitializer/TraitInitializerProxySpec.groovy
create mode 100644 grails-data-hibernate5/core/src/test/groovy/org/grails/orm/hibernate/proxy/ByteBuddyGroovyProxyFactorySpec.groovy
create mode 100644 grails-data-hibernate5/core/src/test/groovy/org/grails/orm/hibernate/proxy/GroovyProxyClassBuilderSpec.groovy
create mode 100644 grails-data-hibernate5/core/src/test/groovy/org/grails/orm/hibernate/proxy/GroovyProxyMetaClassDispatcherSpec.groovy
create mode 100644 grails-data-hibernate5/core/src/test/groovy/org/grails/orm/hibernate/proxy/SerializableGroovyProxySpec.groovy
create mode 100644 grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/proxy/GroovyProxyClassBuilder.java
create mode 100644 grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/proxy/GroovyProxyMetaClassDispatcher.java
create mode 100644 grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/proxy/SerializableGroovyProxy.java
create mode 100644 grails-data-hibernate7/core/src/test/groovy/grails/gorm/tests/NativeIdGeneratorHibernate7Spec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/grails/gorm/tests/proxy/traitinitializer/TraitInitializerProxySpec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/proxy/GroovyProxyClassBuilderSpec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/proxy/GroovyProxyMetaClassDispatcherSpec.groovy
create mode 100644 grails-data-hibernate7/core/src/test/groovy/org/grails/orm/hibernate/proxy/SerializableGroovyProxySpec.groovy
copy grails-core/src/test/groovy/grails/util/GrailsUtilTests.java => grails-forge/gradle/classic-framework.init.gradle (50%)
copy grails-core/src/test/groovy/grails/util/GrailsUtilTests.java => grails-forge/grails-forge-cli/src/test/groovy/org/grails/forge/cli/GeneratedBuildSpec.groovy (51%)
create mode 100644 grails-forge/grails-forge-cli/src/testFixtures/groovy/org/grails/forge/cli/GeneratedBuild.groovy
create mode 100644 grails-gradle/plugins/src/test/groovy/org/grails/gradle/plugin/core/GrailsIndySpec.groovy
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/indy-settings/build.gradle
copy grails-gradle/plugins/src/test/resources/test-projects/{auto-apply-bom-disabled => indy-settings}/gradle.properties (100%)
copy grails-gradle/plugins/src/test/resources/test-projects/{boot-run-pid-web => indy-settings}/grails-app/conf/application.yml (100%)
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/indy-settings/settings.gradle
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/indy-settings/src/main/groovy/demo/Dynamic.groovy
create mode 100644 grails-gradle/plugins/src/test/resources/test-projects/native-defaults-on/src/main/groovy/demo/Dynamic.groovy
create mode 100644 grails-gsp/grails-layout/src/test/groovy/org/apache/grails/web/layout/GSPGrailsLayoutPageSpec.groovy
create mode 100644 grails-gsp/grails-layout/src/test/groovy/org/apache/grails/web/layout/GrailsHTMLPageParserSpec.groovy
create mode 100644 grails-gsp/grails-layout/src/test/groovy/org/apache/grails/web/layout/GrailsLayoutTagLibSpec.groovy
create mode 100644 grails-gsp/grails-layout/src/test/groovy/org/apache/grails/web/layout/GrailsPageResponseWrapperSpec.groovy
create mode 100644 grails-gsp/grails-layout/src/test/groovy/org/apache/grails/web/layout/GrailsViewBufferingResponseSpec.groovy
create mode 100644 grails-gsp/grails-layout/src/test/groovy/org/apache/grails/web/layout/LayoutDecoratorSpec.groovy
create mode 100644 grails-gsp/grails-layout/src/test/groovy/org/apache/grails/web/layout/RenderGrailsLayoutTagLibSpec.groovy
create mode 100644 grails-rest-transforms/src/test/groovy/org/grails/plugins/web/rest/render/atom/AtomRendererSpec.groovy
create mode 100644 grails-rest-transforms/src/test/groovy/org/grails/plugins/web/rest/render/hal/HalXmlRendererSpec.groovy
create mode 100644 grails-shell-cli/src/test/groovy/org/grails/cli/command/CommandExceptionSpec.groovy
create mode 100644 grails-shell-cli/src/test/groovy/org/grails/cli/command/CommandRunnerSpec.groovy
copy grails-core/src/test/groovy/grails/util/GrailsUtilTests.java => grails-shell-cli/src/test/groovy/org/grails/cli/command/HelpExampleSpec.groovy (60%)
create mode 100644 grails-shell-cli/src/test/groovy/org/grails/cli/command/OptionParsingCommandSpec.groovy
create mode 100644 grails-shell-cli/src/test/groovy/org/grails/cli/profile/commands/io/FileSystemInteractionImplSpec.groovy
create mode 100644 grails-shell-cli/src/test/groovy/org/grails/cli/profile/commands/templates/TemplateRendererImplSpec.groovy
copy grails-core/src/test/groovy/grails/util/GrailsUtilTests.java => grails-test-examples/hibernate5/grails-hibernate-groovy-proxy/grails-app/domain/example/Book.groovy (62%)
copy grails-core/src/test/groovy/grails/util/GrailsUtilTests.java => grails-test-examples/hibernate5/grails-hibernate-groovy-proxy/grails-app/domain/example/Loan.groovy (62%)
create mode 100644 grails-test-examples/hibernate5/grails-hibernate-groovy-proxy/src/integration-test/groovy/example/TraitDefaultValuesProxySpec.groovy
copy grails-core/src/test/groovy/grails/util/GrailsUtilTests.java => grails-test-examples/hibernate5/grails-hibernate-groovy-proxy/src/main/groovy/example/Auditable.groovy (61%)
copy grails-core/src/test/groovy/grails/util/GrailsUtilTests.java => grails-test-examples/hibernate5/grails-hibernate/grails-app/controllers/functional/tests/ShipmentController.groovy (61%)
copy grails-core/src/test/groovy/grails/util/GrailsUtilTests.java => grails-test-examples/hibernate5/grails-hibernate/grails-app/domain/functional/tests/Carrier.groovy (61%)
copy grails-core/src/test/groovy/grails/util/GrailsUtilTests.java => grails-test-examples/hibernate5/grails-hibernate/grails-app/domain/functional/tests/Shipment.groovy (61%)
create mode 100644 grails-test-examples/hibernate5/grails-hibernate/src/integration-test/groovy/functional/tests/JsonMapperConverterSpec.groovy
copy grails-core/src/test/groovy/grails/util/GrailsUtilTests.java => grails-test-examples/hibernate7/grails-hibernate-groovy-proxy/grails-app/domain/example/Book.groovy (62%)
copy grails-core/src/test/groovy/grails/util/GrailsUtilTests.java => grails-test-examples/hibernate7/grails-hibernate-groovy-proxy/grails-app/domain/example/Loan.groovy (62%)
create mode 100644 grails-test-examples/hibernate7/grails-hibernate-groovy-proxy/src/integration-test/groovy/example/TraitDefaultValuesProxySpec.groovy
copy grails-core/src/test/groovy/grails/util/GrailsUtilTests.java => grails-test-examples/hibernate7/grails-hibernate-groovy-proxy/src/main/groovy/example/Auditable.groovy (61%)
create mode 100644 grails-test-examples/spring-security/core/functional-test-app/src/integration-test/groovy/specs/NoAnonymousFilterSpec.groovy
delete mode 100644 grails-test-suite-web/src/test/groovy/org/grails/web/json/JSONWriterSpec.groovy
create mode 100644 grails-web-common/src/main/groovy/org/grails/web/json/GrailsPrettyPrinter.java
create mode 100644 grails-web-common/src/main/groovy/org/grails/web/json/HtmlSafeJsonWriter.java
create mode 100644 grails-web-common/src/main/groovy/org/grails/web/json/JsonMapperSupport.java
create mode 100644 grails-web-common/src/main/groovy/org/grails/web/json/JsonMapperValue.java
create mode 100644 grails-web-common/src/main/groovy/org/grails/web/json/NestedValueSerializer.java
create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/HtmlSafeJsonWriterSpec.groovy
create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/JSONArrayApiSpec.groovy
create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/JSONObjectApiSpec.groovy
create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/JSONTokenerApiSpec.groovy
create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/JSONWriterApiSpec.groovy
create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/JSONWriterSpec.groovy
create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/PathCapturingJSONWriterWrapperApiSpec.groovy
create mode 100644 grails-web-common/src/test/groovy/org/grails/web/json/PrettyPrintJSONWriterApiSpec.groovy
create mode 100644 grails-web-common/src/test/groovy/org/grails/web/util/BoundedCharsAsEncodedBytesCounterSpec.groovy
create mode 100644 grails-web-common/src/test/groovy/org/grails/web/util/IncludeResponseWrapperSpec.groovy
create mode 100644 grails-web-common/src/test/groovy/org/grails/web/util/IncludedContentSpec.groovy
create mode 100644 grails-web-common/src/test/groovy/org/grails/web/xml/PrettyPrintXMLStreamWriterSpec.groovy
create mode 100644 grails-web-common/src/test/groovy/org/grails/web/xml/StreamingMarkupWriterSpec.groovy