Skip to content

Let TestKit fixtures resolve io.moderne from the Code Genome Project - #473

Merged
timtebeek merged 1 commit into
mainfrom
testkit-cgp-io-moderne
Aug 26, 2026
Merged

Let TestKit fixtures resolve io.moderne from the Code Genome Project#473
timtebeek merged 1 commit into
mainfrom
testkit-cgp-io-moderne

Conversation

@kmccarp

@kmccarp kmccarp commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Background / problem

The scheduled ci run #33002073829 failed 39 of 58 TestKit tests, all with Could not find io.moderne:jsonrpc:1.0.13, required by org.openrewrite:rewrite-core:8.92.0-SNAPSHOT:20260826.175419-1. Gradle only searched ~/.m2 and Maven Central for it.

This plugin declares no io.moderne dependency of its own. jsonrpc is the only io.moderne artifact in the run and it arrives transitively: rewrite-core declares implementation("io.moderne:jsonrpc:latest.release") and ships it as a runtime dependency in its POM, because the org.openrewrite.rpc package (RewriteRpc, RewriteRpcProcess and the Parse, Print, Visit, Generate request types) uses it as the JSON-RPC transport to out-of-process language servers. Every consumer of rewrite-core pulls it in whether or not it uses RPC, and the TestKit builds resolve rewrite-core when rewriteDryRun, rewriteRun and rewriteDiscover build their recipe classpath.

Two things then lined up. moderneinc/jsonrpc cut 1.0.13 earlier today, its first release since it stopped publishing to Maven Central, so the artifact exists only on the Code Genome Project while Central stops at 1.0.12. Today's rewrite-core snapshot therefore pins 1.0.13. Meanwhile #472 pointed the TestKit fixtures at CGP but scoped that repository with includeGroupByRegex("org[.]openrewrite.*"). io.moderne falls outside the filter, so the fixture builds never ask CGP for jsonrpc. The push run on the same commit was green only because the snapshot at that time still pinned 1.0.12.

Solution

Widen the CGP content filter in TestKitRepositories to (org[.]openrewrite|io[.]moderne).*, which is the same pair of groups plugin/build.gradle.kts already routes to CGP for the main build. The fallback declarations for builds without credentials are unchanged.

Test plan

  • :plugin:compileKotlin locally
  • ci on this branch, which has CGP credentials, resolves jsonrpc:1.0.13 in the TestKit builds

The CGP repository #472 added to the TestKit fixtures is scoped to
org[.]openrewrite.*, so io.moderne artifacts are only looked up on Maven
Central. jsonrpc 1.0.13 is the first jsonrpc release published only to
CGP, and rewrite-core 8.92.0-SNAPSHOT pins it via latest.release, which
failed 39 of 58 TestKit tests on the scheduled run with
'Could not find io.moderne:jsonrpc:1.0.13'.

Widen the content filter to both groups, matching what
plugin/build.gradle.kts already does for the main build.
@github-project-automation github-project-automation Bot moved this from In Progress to Ready to Review in OpenRewrite Aug 26, 2026
@timtebeek
timtebeek merged commit 9221a6f into main Aug 26, 2026
2 checks passed
@timtebeek
timtebeek deleted the testkit-cgp-io-moderne branch August 26, 2026 19:52
@github-project-automation github-project-automation Bot moved this from Ready to Review to Done in OpenRewrite Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Archived in project

Development

Successfully merging this pull request may close these issues.

2 participants