)]}'
{
  "commit": "4a26e8f55b9e6b2cbe820511c1ea877dfe452697",
  "tree": "1d0241cbcc95e97c43ae2e31faad85a5401f7f30",
  "parents": [
    "225d0a8b4e16caefbba8841603b988d515036c65"
  ],
  "author": {
    "name": "Googler",
    "email": "messa@google.com",
    "time": "Fri Oct 18 11:52:34 2024 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Fri Oct 18 11:54:07 2024 -0700"
  },
  "message": "Use base target\u0027s toolchain context to resolve its dependencies during aspect propagation\n\nThe toolchain context of the aspect is currently used to configure the dependencies of the base target, which is incorrect and results into a number of issues due to missing execution groups or different ones being picked up.\n\nThis CL modifies `AspectFunction` to always prepare the `baseTargetUnloadedToolchainContexts` and pass it to `PrerequisiteParameters`. `PrerequisiteParameters#baseTargetUnloadedToolchainContexts` is then used for the target\u0027s dependencies while `PrerequisiteParameters#toolchainContexts` continues to be used for the aspect owned dependencies.\n\nThe base target toolchains and execution groups will not be available in the aspect implementation function via `ctx.rule.toolchains` and `ctx.rule.exec_groups` unless the aspects path propagates to toolchains.\n\nPiperOrigin-RevId: 687376763\nChange-Id: I78167bab7f8648e5855178d5dbcc3fcb02357a38\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d540714e286c9fb7312c731817d59d9eb358b80f",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/DependencyResolutionHelpers.java",
      "new_id": "209996262ed7401f343bc53bdc55778a6b4d63a3",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/DependencyResolutionHelpers.java"
    },
    {
      "type": "modify",
      "old_id": "485a139d9a76ee1b2c596896202c1ef3d06fb96e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/producers/DependencyProducer.java",
      "new_id": "2738e0142d22091d13e8253108842eb9752a6f1b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/producers/DependencyProducer.java"
    },
    {
      "type": "modify",
      "old_id": "106bbd9b1078fb5591a5fe13534f757a1a2ac47b",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java",
      "new_id": "4f40af0e14268a6d2d503bf110285a5f1c84cb6b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java"
    },
    {
      "type": "modify",
      "old_id": "926ace053e1d82ff7fc0e264fd0699e8991fb5e9",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/starlark/BUILD",
      "new_id": "03d5145dcbade1856b3e50a58781f5932f8a2d49",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/starlark/BUILD"
    },
    {
      "type": "modify",
      "old_id": "74f4ff432b0973bb8dd23f15881391202c9b5ffa",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/starlark/StarlarkAspectsToolchainPropagationTest.java",
      "new_id": "f6cac3ac9a23425cfd9fc3d35c173861a5d84fbc",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/starlark/StarlarkAspectsToolchainPropagationTest.java"
    }
  ]
}
