jamesfredley commented on PR #15365:
URL: https://github.com/apache/grails-core/pull/15365#issuecomment-4255953669

   ## Comprehensive Summary of All Changes
   
   Every item from @jdaugherty's review has been addressed across two commits 
(`38620a90` and `49d6418f`). Here's the full mapping:
   
   ---
   
   ### Inline Review Comments (9/9 resolved)
   
   | Comment | File | Resolution |
   |---|---|---|
   | Unused imports | ApplicationContextCommandTask.groovy | Already cleaned up 
in prior commit |
   | junit-platform-launcher version | test-config.gradle | Added explicit 
version `1.12.2` |
   | .sdkmanrc comment | .sdkmanrc | Updated to reference gradle-bootstrap 
project |
   | Groovy version consistency | bom/build.gradle + dependencies.gradle | 
Extracted to `gradleBomDependencyVersions` map |
   | Inputs removed from Sync task | GrailsProfileGradlePlugin.groovy | 
Restored 4 `inputs.dir().optional().skipWhenEmpty()` declarations |
   | compileJava should be disabled | issue-11767/build.gradle | Disabled 
compileJava, removed metadata merge hack |
   | CycloneDX 3.0.0 | gradle.properties + SbomPlugin.groovy | Full rewrite for 
`CyclonedxDirectTask` API |
   | isReproducibleBuild provider | SbomPlugin.groovy | Converted to 
`Provider<Boolean>` |
   | buildDate provider | SbomPlugin.groovy | Converted to 
`Provider<ZonedDateTime>` |
   
   ---
   
   ### Big Issue 1 - Gradle 9 Blockers in grails-gradle Plugins (all fixed)
   
   **Blockers (removed in Gradle 9):**
   - `GrailsExtension.groovy`: Replaced `ConfigureUtil.configure()` with Groovy 
closure delegation (`configureClosure.delegate/resolveStrategy/call()`)
   - `GrailsGradlePlugin.groovy`: `project.buildDir` was already migrated to 
`layout.buildDirectory` in the original PR
   - `IntegrationTestGradlePlugin.groovy`: No violations found (already 
compliant)
   
   **Config Cache / Project Isolation:**
   - `GrailsProfileGradlePlugin.groovy`: Already converted from `project.sync` 
in doLast to typed `Sync` task in original PR; restored explicit inputs
   - `GrailsGradlePlugin.groovy`: `buildProperties` migrated from 
`tasks.create` to `tasks.register`
   
   **Eager Task APIs:**
   - `GrailsGradlePlugin.groovy`: `project.tasks.create('buildProperties')` -> 
`tasks.register(...)`
   - `GrailsPluginGradlePlugin.groovy`: `project.task(type: Copy, 
'copyCommands')` -> `tasks.register('copyCommands', Copy)`
   - `GrailsPluginGradlePlugin.groovy`: `project.task(type: Copy, 
'copyTemplates')` -> `tasks.register('copyTemplates', Copy)`
   
   ---
   
   ### Big Issue 2 - Configuration Cache (fixed)
   
   Explicitly set `org.gradle.configuration-cache=false` in gradle.properties 
with reference to #15497.
   
   ---
   
   ### Big Issue 3 - ExtractDependenciesTask (fixed for current scope)
   
   - Removed `doFirst` plugin check - moved to configuration time in 
grails-bom/build.gradle
   - Replaced `project.configurations.named(...)` in `@TaskAction` with 
captured `ConfigurationContainer`
   - Replaced `project.dependencies.create(...)` and 
`project.configurations.detachedConfiguration(...)` with captured 
`DependencyHandler`/`ConfigurationContainer` via new `captureProjectServices()` 
method
   
   **Note:** The task still creates detached configurations at execution time, 
which is incompatible with configuration cache. Since configuration cache is 
explicitly disabled, this works correctly. A full redesign (BuildService or 
pre-resolve approach per the review) is deferred until configuration cache is 
re-enabled.
   
   ---
   
   ### CI Fix
   
   All CI jobs were failing on `unable to resolve class 
org.gradle.api.internal.ClosureBackedAction` - fixed by replacing with plain 
Groovy closure delegation.
   
   ---
   
   ### Dependency Bumps
   
   - byte-buddy 1.17.8 -> 1.18.8
   - commons-text 1.14.0 -> 1.15.0
   - ant 1.10.15 -> 1.10.17
   - commons-codec 1.19.0 -> 1.21.0
   - selenium-bom 4.38.0 -> 4.41.0
   - mockito-core 5.20.0 -> 5.23.0
   
   ---
   
   ### Remaining / Deferred
   
   1. **ExtractDependenciesTask full config cache redesign** - Not needed until 
`org.gradle.configuration-cache=true` is re-enabled. Will require 
BuildService-based or pre-resolve approach per the review.
   2. **Spock 2.4, Kotlin 2.3.x, Groovy 5.x** - Available but too risky for 
this PR. Should be separate PRs.


-- 
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]

Reply via email to