)]}'
{
  "commit": "afc40f018b931a0abaa5497aa4484c7a3cda0b63",
  "tree": "c84fa4b54948852f6c91ed24def5a496aff38019",
  "parents": [
    "bb8c4859950ecea29e794e85df579558c9d893fd"
  ],
  "author": {
    "name": "Richard Levasseur",
    "email": "rlevasseur@google.com",
    "time": "Mon Jul 31 13:33:48 2023 -0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Jul 31 20:33:48 2023 +0000"
  },
  "message": "fix: Don\u0027t require default Python version for pip hubs (#1344)\n\nThis fixes the issue where a sub-module was required to always have a\npip.parse() call configured for the default Python version if it used\nany pip.parse() call. Such a\nrequirement puts sub-modules in an impossible situation:\n  * If they don\u0027t have the default version, they\u0027ll get an error.\n* If they register the default version, but also register a specific\nversion,\nthey\u0027ll potentially cause an error if a root module changes the default\nto\nmatch their specific version (because two pip.parse() calls for the same\nversion\n    are made, which is an error).\n\nThe requirement to have the default version registered for a pip hub was\nonly present to satisfy the `whl_library_alias` repository rule, which\nneeded a Python version to map `//conditions:default` to.\n\nTo fix, the `whl_library_alias` rule\u0027s `default_version` arg is made\noptional. When None is passed, the `//conditions:default` condition is\nreplaced with a `no_match_error` setting. This prevents the pip hub from\nbeing used with the version-unaware rules, but that makes sense: no\nwheels were setup for that version, so it\u0027s not like there is something\nthat\ncan be used anyways.\n\nFixes #1320",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "87fa6d530889d3167fd667ebe4781291a587a33f",
      "old_mode": 33188,
      "old_path": ".bazelrc",
      "new_id": "3a5497a071fefe724183350941c655ea74d64e03",
      "new_mode": 33188,
      "new_path": ".bazelrc"
    },
    {
      "type": "modify",
      "old_id": "6b96607bc02585a3463d6bca7d9f9142fc0b3f4c",
      "old_mode": 33188,
      "old_path": "docs/pip.md",
      "new_id": "b3ad331bb2082c53a3bfe03c4b95715c1430b273",
      "new_mode": 33188,
      "new_path": "docs/pip.md"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d50a3a09dfb01ddcd442a4d68c5e909e4b879d8a",
      "new_mode": 33188,
      "new_path": "examples/bzlmod/other_module/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "cc23a51601c358d3358bc458720464fcad9799ac",
      "old_mode": 33188,
      "old_path": "examples/bzlmod/other_module/MODULE.bazel",
      "new_id": "959501abc28a355d8448af61569b1d0f37973708",
      "new_mode": 33188,
      "new_path": "examples/bzlmod/other_module/MODULE.bazel"
    },
    {
      "type": "modify",
      "old_id": "6e37df8233c4cff6c527e75e29ea427804af02a4",
      "old_mode": 33188,
      "old_path": "examples/bzlmod/other_module/other_module/pkg/BUILD.bazel",
      "new_id": "021c969802c6997273e7e0b55df5bc592a037b6a",
      "new_mode": 33188,
      "new_path": "examples/bzlmod/other_module/other_module/pkg/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3e28ca23ed2a7c2a849587ec7d8a947e3d19b596",
      "new_mode": 33188,
      "new_path": "examples/bzlmod/other_module/other_module/pkg/bin.py"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b998a06a40a08c8675dd801690fc384c34b49105",
      "new_mode": 33188,
      "new_path": "examples/bzlmod/other_module/requirements.in"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7e350f278db51eb7bacbc9c53813feb1cd2d875c",
      "new_mode": 33188,
      "new_path": "examples/bzlmod/other_module/requirements_lock_3_11.txt"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "1bd8a900a9ddce5e20070149b7bd4a21ce595d34",
      "new_mode": 33188,
      "new_path": "examples/bzlmod/tests/other_module/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "b70327e8f478ebf7cdcd9e9cce3e33d41e7950a8",
      "old_mode": 33188,
      "old_path": "python/extensions/pip.bzl",
      "new_id": "4e1cf701cb24c044dd735f44bbbc9dda6814ca8f",
      "new_mode": 33188,
      "new_path": "python/extensions/pip.bzl"
    },
    {
      "type": "modify",
      "old_id": "cae15919b0b574fee22ffbaeed07788a95582f4a",
      "old_mode": 33188,
      "old_path": "python/pip.bzl",
      "new_id": "708cd6ba62fb1716dbf664dfbd371b48c4c1489e",
      "new_mode": 33188,
      "new_path": "python/pip.bzl"
    }
  ]
}
