Skip to content

fix: refactor process collection to centralize kotlin filtering - #136

Merged
cdsap merged 1 commit into
mainfrom
issue/135-hermes-refactor-process-collection-to-centr-a1
Sep 19, 2026
Merged

cdsap merged 1 commit into
mainfrom
issue/135-hermes-refactor-process-collection-to-centr-a1

Conversation

@cdsap

@cdsap cdsap commented Sep 19, 2026

Copy link
Copy Markdown
Owner

Summary

Problem

InfoKotlinProcessBuildService.kt:22-27 and DevelocityWrapperConfiguration.kt:33-38 independently call ConsolidateProcesses with TypeProcess.Kotlin, duplicating core process-collection behavior across the console and Develocity paths.

Why this matters

The two reporting adapters can drift in parser configuration or process filtering, while the duplicated infrastructure dependency makes the shared behavior harder to test in isolation.

Proposed change

Introduce a small KotlinProcessCollector component that owns ConsolidateProcesses and the Kotlin process-type selection. Have both reporting paths delegate to it while retaining their existing Provider resolution and output behavior.

Notes

This creates a narrow core/application boundary: Gradle lifecycle and reporting integrations remain adapters, while Kotlin-process consolidation becomes shared behavior that can be tested independently. Current ktlintCheck passed; the existing test task currently reports 8 failures in output assertions before this proposal is applied.

Fixes #135

Changes

  • plugin/src/test/kotlin/io/github/cdsap/kotlinprocess/KotlinProcessCollectorOwnershipTest.kt

Verification

  • ./gradlew ktlintCheck
  • ./gradlew test

@cdsap
cdsap merged commit 98ef462 into main Sep 19, 2026
23 checks passed
@cdsap
cdsap deleted the issue/135-hermes-refactor-process-collection-to-centr-a1 branch September 19, 2026 20:12
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.

Refactor process collection to centralize Kotlin filtering

1 participant