)]}'
{
  "commit": "f34bb2c15c00e376b6982c33544287c72be3ad31",
  "tree": "2789b1fb8d06e7e230d2f6bd8d5b4fee5e012c3c",
  "parents": [
    "96085bf7f752a6da82f5ccd36a28762ad5868df9"
  ],
  "author": {
    "name": "nikolai-manzhos",
    "email": "nikolaim@uber.com",
    "time": "Thu Jul 23 17:31:39 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Jul 23 08:31:39 2026 -0700"
  },
  "message": "Isolate KSP2 processor classpath from KAPT processor JARs (#1670)\n\nWhen a target has both KAPT and KSP plugins, the KSP2 action was receiving all processor JARs — including KAPT-only processors — on its --processor_classpath. If any of those KAPT JARs contained a META-INF/services/com.google.devtools.ksp.processing.SymbolProcessorProvider registration (e.g. dagger-compiler 2.48+), KSP2 would auto-discover and run them, causing spurious type resolution failures.\n\n- Add `_targets_to_ksp_transitive_runtime_jars` in plugins.bzl that collects processor JARs only from KspPluginInfo targets, excluding JavaPluginInfo/JavaInfo (KAPT) processors\n- Pass this KSP-only depset to `_run_ksp_builder_actions` for `--processor_classpath`, while KAPT and KotlinCompile actions continue to receive the full `transitive_runtime_jars`\n- Fix `_targets_to_annotation_processors` checking `_KspPluginInfo in targets` (the list) instead of `_KspPluginInfo in t` (the loop variable)\n- Add analysis test verifying KSP2 processor classpath excludes KAPT JARs when both plugin types are present",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7991b73b919815b2e59edec70b2bf963c3bb35ea",
      "old_mode": 33188,
      "old_path": "kotlin/internal/jvm/compile.bzl",
      "new_id": "8c40e0a0858905a4e22221c45a5d202543d9366d",
      "new_mode": 33188,
      "new_path": "kotlin/internal/jvm/compile.bzl"
    },
    {
      "type": "modify",
      "old_id": "ab949a0fb482ddf88d30b5d8e75a159eca9bd7bb",
      "old_mode": 33188,
      "old_path": "kotlin/internal/jvm/plugins.bzl",
      "new_id": "9591414ed7a787f2f1456da877ac3bc144fea266",
      "new_mode": 33188,
      "new_path": "kotlin/internal/jvm/plugins.bzl"
    },
    {
      "type": "modify",
      "old_id": "fcf0cc0fbf88ded053d9918eb5fbabc6dcde9a59",
      "old_mode": 33188,
      "old_path": "src/test/starlark/ksp/BUILD.bazel",
      "new_id": "67e227336697035210dc2f41c2ca3d487f4551ba",
      "new_mode": 33188,
      "new_path": "src/test/starlark/ksp/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "724eba601df299bdd6f7ab7322d0c79ac17dff41",
      "old_mode": 33188,
      "old_path": "src/test/starlark/ksp/ksp_test.bzl",
      "new_id": "9c6199f2b4e46e5ef6bbd0d781ac3fe0d435dcab",
      "new_mode": 33188,
      "new_path": "src/test/starlark/ksp/ksp_test.bzl"
    }
  ]
}
