)]}'
{
  "commit": "d60cee2623bf6cedb4dbd9899eb99ac84432fb37",
  "tree": "eababfe3d6484b00c79e59e27007df08cd35fd43",
  "parents": [
    "bbf3ab8956007f48fc012fb9316debffde8b0495"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "richardlev@gmail.com",
    "time": "Thu May 29 08:43:56 2025 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu May 29 15:43:56 2025 +0000"
  },
  "message": "feat: allow custom platform when overriding (#2880)\n\nThis basically allows using any python-build-standalone archive and\nusing it\nif custom flags are set. This is done through the\n`single_version_platform_override()`\nAPI, because such archives are inherently version and platform specific.\n\nKey changes:\n* The `platform` arg can be any value (mostly; it ends up in repo names)\n* Added `target_compatible_with` and `target_settings` args, which\nbecome the\n  settings used on the generated toolchain() definition.\n\nThe platform settings are version specific, i.e. the key\n`(python_version, platform)`\nis what maps to the TCW/TS values.\n\nIf an existing platform is used, it\u0027ll override the defaults that\nnormally come\nfrom the PLATFORMS global for the particular version. If a new platform\nis used,\nit creates a new platform entry with those settings.\n\nAlong the way:\n* Added various docs about internal variables so they\u0027re easier to grok\nat a glance.\n\nWork towards https://github.com/bazel-contrib/rules_python/issues/2081",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4a6bdf0a96aba22bce00febc6bbe46889675d490",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "a113c7411f12cc44d8e1ed1e5fffd5e8f83083b4",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "d3a95350e5a375a4bf3d1568907995f3458da976",
      "old_mode": 33188,
      "old_path": "MODULE.bazel",
      "new_id": "144e130c1bc8f2000cf7924f13e49e1f776a242c",
      "new_mode": 33188,
      "new_path": "MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "ada887c9458a315c8d5292c406ec2fc6c76ff5be",
      "old_mode": 33188,
      "old_path": "docs/toolchains.md",
      "new_id": "57d43d27f10c79f432940440f211121029deb17e",
      "new_mode": 33188,
      "new_path": "docs/toolchains.md"
    },
    {
      "type": "modify",
      "old_id": "62a11ab1d483692eb9efdfcb0827fb6a57ca8b64",
      "old_mode": 33188,
      "old_path": "internal_dev_setup.bzl",
      "new_id": "c37c59a5da3ce66082a09656d7a29a7aa7762b34",
      "new_mode": 33188,
      "new_path": "internal_dev_setup.bzl"
    },
    {
      "type": "modify",
      "old_id": "867c43478a48d36396a4a05bf95b097719786121",
      "old_mode": 33188,
      "old_path": "python/BUILD.bazel",
      "new_id": "58cff5b99dc882791d0f1c69b6877ae58e29d184",
      "new_mode": 33188,
      "new_path": "python/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "ce224213000129e9d6624183a1889ff3f7bc5b68",
      "old_mode": 33188,
      "old_path": "python/private/BUILD.bazel",
      "new_id": "b319919305fdc8cb48c4629aa59facae15050f45",
      "new_mode": 33188,
      "new_path": "python/private/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3f7dc001659bb6d45b9543dbf54a7cc49b39822f",
      "new_mode": 33188,
      "new_path": "python/private/platform_info.bzl"
    },
    {
      "type": "modify",
      "old_id": "b5bd93b7c1308a9e730d57e5e16bde45fc55a74a",
      "old_mode": 33188,
      "old_path": "python/private/py_repositories.bzl",
      "new_id": "10bc06630b8b38684a4d35aaaaf18da5713562f3",
      "new_mode": 33188,
      "new_path": "python/private/py_repositories.bzl"
    },
    {
      "type": "modify",
      "old_id": "a7e257601f596e57c15c4bf2bf3aed5847ffed66",
      "old_mode": 33188,
      "old_path": "python/private/python.bzl",
      "new_id": "8e236688790d10d636394f265f156859a328aee0",
      "new_mode": 33188,
      "new_path": "python/private/python.bzl"
    },
    {
      "type": "modify",
      "old_id": "fd86b415cc48b964c243ab6dc220bf271391379a",
      "old_mode": 33188,
      "old_path": "python/private/python_repository.bzl",
      "new_id": "cb0731e6eb4d55fa7069b4387bcf1091fc116a69",
      "new_mode": 33188,
      "new_path": "python/private/python_repository.bzl"
    },
    {
      "type": "modify",
      "old_id": "53351cacb9e093f6ba72992be45634a143dbcda3",
      "old_mode": 33188,
      "old_path": "python/private/pythons_hub.bzl",
      "new_id": "cc25b4ba1d4e572eab67b5deb16a4199e7bb8a93",
      "new_mode": 33188,
      "new_path": "python/private/pythons_hub.bzl"
    },
    {
      "type": "modify",
      "old_id": "eee56ec86c30dc3708bf0bf093965101c7f063fa",
      "old_mode": 33188,
      "old_path": "python/private/repo_utils.bzl",
      "new_id": "32a5b70e15db79ce3cea0e31fc6606f8aef56cbc",
      "new_mode": 33188,
      "new_path": "python/private/repo_utils.bzl"
    },
    {
      "type": "modify",
      "old_id": "2476889583dbda6669ddc9056639b49aa30a87a3",
      "old_mode": 33188,
      "old_path": "python/private/toolchains_repo.bzl",
      "new_id": "93bbb52108fa9b125a8ffa2ce5ea49e2c00581e8",
      "new_mode": 33188,
      "new_path": "python/private/toolchains_repo.bzl"
    },
    {
      "type": "modify",
      "old_id": "166cc988512ffc6bce839bdf23092ac905730802",
      "old_mode": 33188,
      "old_path": "python/versions.bzl",
      "new_id": "e712a2e126563f931fc97eff31eb67ff9819d855",
      "new_mode": 33188,
      "new_path": "python/versions.bzl"
    },
    {
      "type": "modify",
      "old_id": "1176107384b503b5405008fdf59ca2ee77086053",
      "old_mode": 33188,
      "old_path": "tests/bootstrap_impls/bin.py",
      "new_id": "3d467dcf29b7b91a7c1236cb4b346c33e3f5d709",
      "new_mode": 33188,
      "new_path": "tests/bootstrap_impls/bin.py"
    },
    {
      "type": "modify",
      "old_id": "19be1c478ec6ab12f70625cb8cdad9208aaa5fa2",
      "old_mode": 33188,
      "old_path": "tests/python/python_tests.bzl",
      "new_id": "116afa76adfab79b603243e0de8cf754130c68c6",
      "new_mode": 33188,
      "new_path": "tests/python/python_tests.bzl"
    },
    {
      "type": "modify",
      "old_id": "9fb5cd0760fc65e5f21d8da4dc311cdcfd15a915",
      "old_mode": 33188,
      "old_path": "tests/support/BUILD.bazel",
      "new_id": "303dbafbdf8cbeea5222d39fc9e0c23ce933bce5",
      "new_mode": 33188,
      "new_path": "tests/support/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "04a2883fdece452399e10edb26bb6b2e4b784aab",
      "old_mode": 33188,
      "old_path": "tests/support/sh_py_run_test.bzl",
      "new_id": "69141fe8a4bbf60aac6fb1da3b3d36e61efca57e",
      "new_mode": 33188,
      "new_path": "tests/support/sh_py_run_test.bzl"
    },
    {
      "type": "modify",
      "old_id": "c55dc92a7ddf92b8c664c6048be2b010432a48f5",
      "old_mode": 33188,
      "old_path": "tests/toolchains/BUILD.bazel",
      "new_id": "f346651d4639252511476c5e3472142cb0f26287",
      "new_mode": 33188,
      "new_path": "tests/toolchains/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d6c083a6a269559ef1cfb2352418abdac4bd6978",
      "new_mode": 33188,
      "new_path": "tests/toolchains/custom_platform_toolchain_test.py"
    }
  ]
}
