)]}'
{
  "commit": "23c5536c2b8aba0b981e2bab1257426fbcc148f1",
  "tree": "d086c1ce5ef3b0344f4a1167c44d84f15b7bd673",
  "parents": [
    "56a2c6e3681497b04edfd0a7972e6d435b266114"
  ],
  "author": {
    "name": "Steven Le Rouzic",
    "email": "slerouzic@siradel.com",
    "time": "Tue Mar 24 15:29:13 2026 +0100"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Mar 24 07:29:13 2026 -0700"
  },
  "message": "[Bazel] Replace the use of @bazel_tools//src/conditions:host_windows (#1683)\n\nThis is a followup of #1682.\n\nThis has been deprecated and will be removed in Bazel 10.\n\nThis implementation of the platform information retrieval is similar to\nwhat is done in Skylib (see\nhttps://github.com/bazelbuild/bazel-skylib/blob/56a2abbaf131332835ab2721a258ea3c763a7178/rules/private/copy_file_private.bzl#L117)\nhowever this does not use the experimental platform API.\n\n- We define a provider that gives the script extension for a given\nplatform and a rule to instantiate it.\n- We define a target with the `platform_info` rule that selects the\ncorrect settings based on constraints from `@platform`.\n- During toolchain config creation we inject that target **using the\n`exec` config**.\n- We can then retrieve the platform information in the toolchain config\n(namely the script extension here).\n\nNote that the platform information could have given a simple\n`is_windows` flag, but I chose this implementation because it matches\nthe previous one more closely.\n\nNote also that it was not possible to keep the `script_extension`\nattribute as string, because the `cfg` field is not supported on string\nattributes.",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a1abd5264c8002346b9e2f4f654dce0e32da2638",
      "old_mode": 33188,
      "old_path": "bazel/emscripten_toolchain/BUILD.bazel",
      "new_id": "6753e04b3f4ce25aba4b6ebda3f08310c1957ee1",
      "new_mode": 33188,
      "new_path": "bazel/emscripten_toolchain/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d5596fc1b2cbb79268ed34d46bd0acf8d5602723",
      "new_mode": 33188,
      "new_path": "bazel/emscripten_toolchain/platform_info.bzl"
    },
    {
      "type": "modify",
      "old_id": "80fd8037ab78798d5c8ca901cf99888c5ae2ee93",
      "old_mode": 33188,
      "old_path": "bazel/emscripten_toolchain/toolchain.bzl",
      "new_id": "61c87cd645df26acde606f7b9f18e9c05e3278b0",
      "new_mode": 33188,
      "new_path": "bazel/emscripten_toolchain/toolchain.bzl"
    },
    {
      "type": "modify",
      "old_id": "ccd08423c936982d858f465e0a238ee49d598463",
      "old_mode": 33188,
      "old_path": "bazel/remote_emscripten_repository.bzl",
      "new_id": "9bf975764e9c3ca8db536a145c3620933988b9a3",
      "new_mode": 33188,
      "new_path": "bazel/remote_emscripten_repository.bzl"
    }
  ]
}
