Conversation
There was a problem hiding this comment.
Pull request overview
Maintenance updates to prepare the Gradle Release plugin for a 3.1.1 patch release, including a fix for checkSnapshotDependencies failing with ConcurrentModificationException in builds where configurations mutate during evaluation (e.g., Quarkus component variants).
Changes:
- Prevent
ConcurrentModificationExceptionby iterating over snapshot lists of configurations inCheckSnapshotDependencies. - Modernize the plugin’s own build (plugins DSL cleanup, dependency config updates, updated test deps).
- Update the Gradle wrapper and CI workflow actions.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
src/main/groovy/net/researchgate/release/tasks/CheckSnapshotDependencies.groovy |
Snapshot configuration collections via toList() to avoid concurrent modification during iteration. |
build.gradle |
Removes legacy buildscript usage, updates plugin/dependency declarations, and bumps wrapper version. |
gradle/wrapper/gradle-wrapper.properties |
Updates wrapper distribution URL to Gradle 6.9.4 (but drops SHA256 verification). |
gradlew |
Updates the generated POSIX wrapper script content. |
.github/workflows/tests.yaml |
Updates GitHub Actions versions and switches JDK distribution to Temurin. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…8 compatibility (at least while we are still on 3.x)
- Tests each major Gradle version against 2 Java LTS versions. - Sets Java 8 as the default for the Gradle runner to prevent Java 9+ API leakage during compilation.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Aligns build.gradle with the main branch by removing the tooling-api-builders workaround for Gradle #16774. - Removes all explicit import statements as they are no longer required.
Hillkorn
approved these changes
Apr 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR introduces a few safe maintenance updates and bug fixes to prepare for a
3.1.1patch release.Changes Included:
ConcurrentModificationException: Eagerly evaluates configurations to a static list (.toList()) inCheckSnapshotDependencies.groovy. This prevents crashes when using the plugin alongside frameworks (like Quarkus 3.25.1+) that dynamically mutate configurations during evaluation. (Fixes ConcurrentModificationException in checkSnapshotDependencies when used with Quarkus 3.25.1+ (Gradle component variants) #406)buildscriptblock and resolved plugin version conflicts.testCompilewithtestImplementation.sourceCompatibilityandtargetCompatibilityto1.8to safeguard Java 8 baseline compatibility.guavato32.0.1-jreto resolve known CVEs in the test harness.Checklist