)]}'
{
  "commit": "7e9716d7bab74f6d1ccbb9be3460bcf3ffb0e3af",
  "tree": "75349551150ac636a6093554874ead298808bd61",
  "parents": [
    "c965f9be93f0c902237d6e7aeb238f75350ed102"
  ],
  "author": {
    "name": "eugenezh",
    "email": "194462+eugenezh@users.noreply.github.com",
    "time": "Thu Aug 27 20:07:32 2026 +0200"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Aug 27 13:07:32 2026 -0500"
  },
  "message": "Pass compiler plugins as structured descriptors to the Build Tools AP… (#1720)\n\nModel compiler plugins as a typed part of the Build Tools API compilation\ncontract instead of argument strings.\n\n- The KotlinBtapiCompiler invocation contract gains a list of\n  CompilerPluginSpec plugin descriptors; the legacy invocation is\n  untouched.\n- The compiler side applies the descriptors through the typed\n  COMPILER_PLUGINS argument key.\n- The default scripting plugin is explicitly disabled on every\n  compilation.\n- The KAPT pre-pass mirrors the legacy contract exactly.\n- The new KotlinBuilderJvmBtaTest case runs an annotation processor\n  (AutoValue) through the typed plugin configuration and asserts the\n  generated source is produced and compiled into the output.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ad36d9383af8e58f393f721d2bd7a3e0ed3b52a0",
      "old_mode": 33188,
      "old_path": "src/main/kotlin/io/bazel/kotlin/builder/tasks/jvm/btapi/BtapiInvoker.kt",
      "new_id": "842329cd71328d9ffe3664f445d014624bf5cf00",
      "new_mode": 33188,
      "new_path": "src/main/kotlin/io/bazel/kotlin/builder/tasks/jvm/btapi/BtapiInvoker.kt"
    },
    {
      "type": "modify",
      "old_id": "94e8fbff685c272d54af1e089939fe4f9faa341c",
      "old_mode": 33188,
      "old_path": "src/main/kotlin/io/bazel/kotlin/builder/tasks/jvm/btapi/BtapiTaskExecutor.kt",
      "new_id": "4551447951d90c28236890f8e2e2084f61b58a7c",
      "new_mode": 33188,
      "new_path": "src/main/kotlin/io/bazel/kotlin/builder/tasks/jvm/btapi/BtapiTaskExecutor.kt"
    },
    {
      "type": "modify",
      "old_id": "91e52b3938d4778b388734e146f51588e3277600",
      "old_mode": 33188,
      "old_path": "src/main/kotlin/io/bazel/kotlin/compiler/BuildToolsAPICompiler.kt",
      "new_id": "5704ae76bb26a78605ca45b8661f8088323dce7f",
      "new_mode": 33188,
      "new_path": "src/main/kotlin/io/bazel/kotlin/compiler/BuildToolsAPICompiler.kt"
    },
    {
      "type": "modify",
      "old_id": "f4188d9b88f699600b947a256c21cb7863b7be42",
      "old_mode": 33188,
      "old_path": "src/main/kotlin/io/bazel/kotlin/compiler/KotlinBtapiCompiler.kt",
      "new_id": "3abebd9e523e23b7e49d9c11976c2d2e30e1c14c",
      "new_mode": 33188,
      "new_path": "src/main/kotlin/io/bazel/kotlin/compiler/KotlinBtapiCompiler.kt"
    },
    {
      "type": "modify",
      "old_id": "27ad0f62cf14bdb900b3f4bf4b1259509ccda17a",
      "old_mode": 33188,
      "old_path": "src/test/kotlin/io/bazel/kotlin/builder/tasks/BUILD.bazel",
      "new_id": "151c69242befd6f87d5b738ee470a00ee46a6aef",
      "new_mode": 33188,
      "new_path": "src/test/kotlin/io/bazel/kotlin/builder/tasks/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "a1b830d05d2b60a1d39d0bd521a2480115402e70",
      "old_mode": 33188,
      "old_path": "src/test/kotlin/io/bazel/kotlin/builder/tasks/jvm/KotlinBuilderJvmBtaTest.java",
      "new_id": "13248f0b8354743973b486d275bbad10c472c376",
      "new_mode": 33188,
      "new_path": "src/test/kotlin/io/bazel/kotlin/builder/tasks/jvm/KotlinBuilderJvmBtaTest.java"
    }
  ]
}
