)]}'
{
  "commit": "218f8e161830ccd4f731a6a8d2a6dd36efe4488a",
  "tree": "99e837eb0c539f8d47ab3c3aeec699b58f4aa3ff",
  "parents": [
    "ae0aeff673c89fbd6340cd0823d0325511aea40f"
  ],
  "author": {
    "name": "Ignas Anikevicius",
    "email": "240938+aignas@users.noreply.github.com",
    "time": "Tue Nov 05 10:50:26 2024 +0900"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Nov 05 01:50:26 2024 +0000"
  },
  "message": "fix(bzlmod): allow users to specify extra targets to be added to hub repos (#2369)\n\nBefore this change, it was impossible for users to use the targets\ncreated with `additive_build_content` whl annotation unless they relied\non the implementation detail of the naming of the spoke repositories and\nhad `use_repo` statements in their `MODULE.bazel` files importing the\nspoke repos.\n\nWith #2325 in the works, users will have to change their `use_repo`\nstatements, which is going to be disruptive. In order to offer them an\nalternative for not relying on the names of the spokes, there has to be\na way to expose the extra targets created and this PR implements a\nmethod. Incidentally, the same would have happened if we wanted to\nstabilize the #260 work and mark `experimental_index_url` as\nnon-experimental anymore.\n\nI was hoping we could autodetect them by parsing the build content\nourselves in the `pip` extension, but it turned out to be extremely\ntricky and I figured that it was better to have an API rather than not\nhave it.\n\nWhilst at it, also relax the naming requirements for the\n`whl_modifications` attribute.\n\nFixes #2187",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5d51b106ed12798b3ee20ce9026eafddb39b2cdc",
      "old_mode": 33188,
      "old_path": ".bazelci/presubmit.yml",
      "new_id": "a5f893fa89cb5954f830dbab72be1c5ed207bf87",
      "new_mode": 33188,
      "new_path": ".bazelci/presubmit.yml"
    },
    {
      "type": "modify",
      "old_id": "f21f9bb3cc8b8afe9695c8f933b8381cf075f616",
      "old_mode": 33188,
      "old_path": "CHANGELOG.md",
      "new_id": "d5b757e02e044b88e0309bb25317a3033acf578d",
      "new_mode": 33188,
      "new_path": "CHANGELOG.md"
    },
    {
      "type": "modify",
      "old_id": "d684b9c31d694522318ed9a514b130c388f822c5",
      "old_mode": 33188,
      "old_path": "examples/bzlmod/BUILD.bazel",
      "new_id": "054b957b3b31b687b668ee36472edd60da573c09",
      "new_mode": 33188,
      "new_path": "examples/bzlmod/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "57e6b7e7b79327f36d3e5e59a5b62f5df2c54974",
      "old_mode": 33188,
      "old_path": "examples/bzlmod/MODULE.bazel",
      "new_id": "4381cb0d704f91c33aa2beed5754233a6088b358",
      "new_mode": 33188,
      "new_path": "examples/bzlmod/MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "d34f4ecb738d2782f47ff5e20dd31a6c025a4794",
      "old_mode": 33188,
      "old_path": "examples/bzlmod/MODULE.bazel.lock",
      "new_id": "c115ef974fb1799a228bcb72c4c4442a18df57d3",
      "new_mode": 33188,
      "new_path": "examples/bzlmod/MODULE.bazel.lock"
    },
    {
      "type": "modify",
      "old_id": "fdc76d575006a1045976db5595db69a6eefd6124",
      "old_mode": 33188,
      "old_path": "python/private/pypi/extension.bzl",
      "new_id": "c5660272ec5b48cc4389135e40837d178cdc4182",
      "new_mode": 33188,
      "new_path": "python/private/pypi/extension.bzl"
    },
    {
      "type": "modify",
      "old_id": "7afb616e3d2d87d2984051e3becab7eb1aca4902",
      "old_mode": 33188,
      "old_path": "python/private/pypi/hub_repository.bzl",
      "new_id": "69d937142a904c76bf15dbe480abfa3c77318022",
      "new_mode": 33188,
      "new_path": "python/private/pypi/hub_repository.bzl"
    },
    {
      "type": "modify",
      "old_id": "0086bfff8f9fdb656642856de5d246e322a8e342",
      "old_mode": 33188,
      "old_path": "python/private/pypi/render_pkg_aliases.bzl",
      "new_id": "60f4b54306dc4eebaa735fec417825d14543aa24",
      "new_mode": 33188,
      "new_path": "python/private/pypi/render_pkg_aliases.bzl"
    },
    {
      "type": "modify",
      "old_id": "27c6bba5e2d28b8337a71bff91471a8a892e7e27",
      "old_mode": 33188,
      "old_path": "tests/pypi/extension/extension_tests.bzl",
      "new_id": "aa120af83de59700c32aeef60a1290f57401d4a2",
      "new_mode": 33188,
      "new_path": "tests/pypi/extension/extension_tests.bzl"
    }
  ]
}
