Skip to content

chore: Maintenance for 3.1.1 (Fix CME, update wrapper, secure test deps, clean build script)#409

Merged
haeusler merged 11 commits intomainfrom
fix/cme-fix-and-wrapper-update-and-test-deps
Apr 2, 2026
Merged

chore: Maintenance for 3.1.1 (Fix CME, update wrapper, secure test deps, clean build script)#409
haeusler merged 11 commits intomainfrom
fix/cme-fix-and-wrapper-update-and-test-deps

Conversation

@haeusler
Copy link
Copy Markdown
Member

@haeusler haeusler commented Mar 9, 2026

This PR introduces a few safe maintenance updates and bug fixes to prepare for a 3.1.1 patch release.

Changes Included:

  • Fix ConcurrentModificationException: Eagerly evaluates configurations to a static list (.toList()) in CheckSnapshotDependencies.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)
  • Build Script Modernization:
    • Removed legacy buildscript block and resolved plugin version conflicts.
    • Replaced deprecated testCompile with testImplementation.
    • Explicitly set sourceCompatibility and targetCompatibility to 1.8 to safeguard Java 8 baseline compatibility.
  • Update Test Dependencies: Bumped guava to 32.0.1-jre to resolve known CVEs in the test harness.
  • Matrix & Runner Changes:
    • Expanded testing matrix to cover Gradle 6-9 across Java 8, 11, 17, and 21.
    • Configured CI to build always build the plugin with Java 8, while testing against the full matrix of Java versions via Gradle Toolchains.
    • Fixed artifact naming conflicts in the matrix to ensure consolidated JUnit reporting.

Checklist

  • Test suite passes locally

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 ConcurrentModificationException by iterating over snapshot lists of configurations in CheckSnapshotDependencies.
  • 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.

Comment thread gradle/wrapper/gradle-wrapper.properties Outdated
@haeusler haeusler marked this pull request as draft March 18, 2026 11:24
@haeusler haeusler marked this pull request as ready for review April 2, 2026 07:23
haeusler added 2 commits April 2, 2026 09:26
- 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.
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Comment thread .github/workflows/tests.yaml
Comment thread gradle/wrapper/gradle-wrapper.properties
- 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.
@haeusler haeusler merged commit e99976b into main Apr 2, 2026
8 checks passed
@haeusler haeusler deleted the fix/cme-fix-and-wrapper-update-and-test-deps branch April 2, 2026 10:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ConcurrentModificationException in checkSnapshotDependencies when used with Quarkus 3.25.1+ (Gradle component variants)

3 participants