Skip to content

fix(oss-licenses): resolve implicit dependency failures on Gradle 9.x#383

Merged
timothyfroehlich merged 1 commit into
mainfrom
remove-clean
Mar 10, 2026
Merged

fix(oss-licenses): resolve implicit dependency failures on Gradle 9.x#383
timothyfroehlich merged 1 commit into
mainfrom
remove-clean

Conversation

@timothyfroehlich

Copy link
Copy Markdown
Member

Description

This PR resolves critical build failures in Gradle 9.x caused by the redundant LicensesCleanUpTask.

Key Technical Changes

  1. Resolved Implicit Dependencies: Removed LicensesCleanUpTask, which conflicted with generation tasks for control of the build directory—a state Gradle 9.x now correctly identifies as a hard failure. Standard clean logic now handles this idiomatically.
  2. Hardened Test Infrastructure: Refactored EndToEndTest.kt to include a createRunner() helper. This helper enables:
    • Strict Configuration Cache Validation: All tests now run with problems=fail.
    • Output Forwarding & Live Logging: Test runs now provide live lifecycle events (PASSED/FAILED) in the console for better visibility.
    • Optimized Parallelism: Workers now use isolated TestKit subdirectories within the build folder, allowing for 100% parallel throughput on multi-core machines without file-locking contention.
  3. Verified Stability: Validated that generation tasks remain correct and cacheable even after a clean operation, ensuring no regressions in plugin performance.
  4. Repository Hygiene: Added .kotlin/ to .gitignore to prevent local Kotlin metadata from being tracked.

Related Issues

Closes #356
Closes #300
Closes #299

Gradle 9.x identifies the custom LicensesCleanUpTask as a hard failure due to implicit dependency conflicts with generation tasks. Standard Gradle 'clean' (Delete) already handles the build directory idiomatically.

- Removed LicensesCleanUpTask.groovy and its corresponding test.
- Refactored EndToEndTest.kt to use a createRunner() helper with forwardOutput() and strict configuration cache validation.
- Optimized parallel test execution by isolating TestKit directories per test class.
- Updated build.gradle.kts with optimized heap settings and live test event logging.
- Added .kotlin/ to .gitignore to prevent tracking of local metadata.

Closes #356, #300, #299
@timothyfroehlich timothyfroehlich merged commit b4eeb72 into main Mar 10, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants