Copilot commented on code in PR #15647:
URL: https://github.com/apache/grails-core/pull/15647#discussion_r3211050857
##########
grails-forge/grails-forge-analytics-postgres/build.gradle:
##########
@@ -51,6 +51,26 @@ application {
mainClass = 'org.grails.forge.analytics.postgres.Main'
}
graalvmNative.toolchainDetection = false
+graalvmNative {
+ // Pin to GraalVM Reachability Metadata Repository 0.3.35 (released
2026-03-06).
+ // The version bundled by Micronaut Gradle Application Plugin 4.6.2
selects the
+ // ch.qos.logback:logback-classic 1.4.9 metadata for our 1.5.17 runtime,
whose
+ // --initialize-at-build-time=ch.qos.logback directive collides with the
+ // additional classes introduced in logback 1.5.x and produces "* the class
+ // was requested to be initialized at run time ... got initialized during
+ // image building" failures during dockerBuildNative.
+ //
+ // GRM 0.3.35 ships a 1.5.7 metadata directory for
ch.qos.logback:logback-classic
+ // that covers 1.5.7-1.5.29 and contains only reachability-metadata.json
(no
+ // native-image.properties / no --initialize-at-build-time directive), so
the
+ // conflict goes away and reflection metadata is still provided. GRM 1.x
+ // releases use a new repository layout that is incompatible with the
+ // GraalVMReachabilityMetadataService bundled with this plugin, so we stay
+ // on the last 0.x release that contains the updated logback metadata.
Review Comment:
The comment says GRM 0.3.35’s logback metadata directory “contains only
reachability-metadata.json”, but the PR description references
reflect-config.json/resource-config.json. Please confirm the actual 0.3.35
layout and tweak the comment so it doesn’t encode the wrong metadata file
format (the key point is that it doesn’t force ch.qos.logback build-time
initialization).
##########
grails-forge/grails-forge-web-netty/build.gradle:
##########
@@ -50,6 +50,26 @@ tasks.named('run') {
classpath += configurations.developmentOnly
}
graalvmNative.toolchainDetection = false
+graalvmNative {
+ // Pin to GraalVM Reachability Metadata Repository 0.3.35 (released
2026-03-06).
+ // The version bundled by Micronaut Gradle Application Plugin 4.6.2
selects the
+ // ch.qos.logback:logback-classic 1.4.9 metadata for our 1.5.17 runtime,
whose
+ // --initialize-at-build-time=ch.qos.logback directive collides with the
+ // additional classes introduced in logback 1.5.x and produces "* the class
+ // was requested to be initialized at run time ... got initialized during
+ // image building" failures during dockerBuildNative.
+ //
+ // GRM 0.3.35 ships a 1.5.7 metadata directory for
ch.qos.logback:logback-classic
+ // that covers 1.5.7-1.5.29 and contains only reachability-metadata.json
(no
+ // native-image.properties / no --initialize-at-build-time directive), so
the
+ // conflict goes away and reflection metadata is still provided. GRM 1.x
+ // releases use a new repository layout that is incompatible with the
Review Comment:
The comment asserts GRM 0.3.35’s logback metadata directory “contains only
reachability-metadata.json”, but the PR description says it contains
reflect-config.json/resource-config.json. Please verify the actual repository
layout for 0.3.35 and adjust the comment to avoid documenting an incorrect file
format (the important part is that it contains no native-image.properties / no
build-time init directive).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]