From 0d00aef2063cf2d3be531333270e53a7f6db5fbd Mon Sep 17 00:00:00 2001 From: Dmitry Nekrasov Date: Mon, 8 Jun 2026 17:35:16 +0400 Subject: [PATCH] Mention plain mvn and add a PowerShell implementer search --- .../SKILL.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/skills/kotlin-tooling-immutable-collections-0-5-x-migration/SKILL.md b/skills/kotlin-tooling-immutable-collections-0-5-x-migration/SKILL.md index aa41158..7b47005 100644 --- a/skills/kotlin-tooling-immutable-collections-0-5-x-migration/SKILL.md +++ b/skills/kotlin-tooling-immutable-collections-0-5-x-migration/SKILL.md @@ -40,7 +40,8 @@ Check the version the project currently uses: ### 1. Find the build command Check `README.md`, `CLAUDE.md`, or `AGENTS.md` for how the project builds; if it isn't -written down, infer it from the build files — Gradle (`./gradlew`), Maven (`./mvnw`), Bazel +written down, infer it from the build files — Gradle (`./gradlew`), Maven (`mvn`, or the +`./mvnw` wrapper), Bazel (a `bazel` wrapper), or a custom script. Record the compile command (and the test command). In a multi-module project you only need the modules that use the library, plus any you change — not a whole-repo build. @@ -116,6 +117,13 @@ grep -rnE --include='*.kt' \ '(class|object|interface)\s+\w[^:]*:\s*[^{]*\b(PersistentList|PersistentMap|PersistentSet|PersistentCollection)\s*<' . ``` +On Windows PowerShell, `Select-String` is the `grep` equivalent: + +```powershell +Get-ChildItem -Recurse -Filter *.kt | + Select-String '(class|object|interface)\s+\w[^:]*:\s*[^{]*\b(PersistentList|PersistentMap|PersistentSet|PersistentCollection)\s*<' +``` + (Confirm a match really lists the interface as a *supertype*, not just a field type or type argument.) For each, move the implementation into the new participial method and have the deprecated override delegate to it: