)]}'
{
  "commit": "d96f1bc57ca2698a8686d0f24ca34ef8cdd29e1c",
  "tree": "2efa35f33542ee986c996671a2c11f01aa9d7392",
  "parents": [
    "73c4fa7ff7d725b19e77d39e624214f70bc2db3e"
  ],
  "author": {
    "name": "Mark Elliot",
    "email": "123787712+mark-thm@users.noreply.github.com",
    "time": "Mon Nov 04 21:47:35 2024 -0500"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Mon Nov 04 19:47:35 2024 -0700"
  },
  "message": "Lazily download tools (#62)\n\nCloses #59.\r\n\r\nRefactor os/cpu repos into per-tool repos and split bzlmod/non-bzlmod handling in order to add a workspace-only shim. As a result of these changes, only tools needed by a build will be downloaded/all tool downloads become lazy.\r\n\r\n**Breaking change** for workspace users.\r\n\r\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f9fcec0a6404a5958f0a5e93896a737692210ca3",
      "old_mode": 33261,
      "old_path": ".github/workflows/release_prep.sh",
      "new_id": "18221fdece1dbfb052b3ac9e6ffeb8dab81681c3",
      "new_mode": 33261,
      "new_path": ".github/workflows/release_prep.sh"
    },
    {
      "type": "modify",
      "old_id": "99dc0cb8861eb2388a705483aa32c9b0622c9730",
      "old_mode": 33188,
      "old_path": "examples/workspace/WORKSPACE.bazel",
      "new_id": "b94bb8c3e63d44c458a4d32c9056580774b89565",
      "new_mode": 33188,
      "new_path": "examples/workspace/WORKSPACE.bazel"
    },
    {
      "type": "modify",
      "old_id": "4ee0b8818bd2530a8f2322351d68c0b8c572b2bc",
      "old_mode": 33261,
      "old_path": "examples/workspace/minimal_download_test.sh",
      "new_id": "26c16c414b1d1b93b49be751c29963b2c82d121c",
      "new_mode": 33261,
      "new_path": "examples/workspace/minimal_download_test.sh"
    },
    {
      "type": "modify",
      "old_id": "a7fee4f316d5b24e1f955f7413bcf2d9660d06be",
      "old_mode": 33188,
      "old_path": "examples/workspace/multitool.lock.json",
      "new_id": "80118c3b75a4b975235326187be441cf91880a5f",
      "new_mode": 33188,
      "new_path": "examples/workspace/multitool.lock.json"
    },
    {
      "type": "modify",
      "old_id": "9360b057604ee5edbeb80b4acadf703ad18ae43b",
      "old_mode": 33188,
      "old_path": "multitool/extension.bzl",
      "new_id": "8ab40903b6bd2d007872bb0ddcf7513b8216cb4b",
      "new_mode": 33188,
      "new_path": "multitool/extension.bzl"
    },
    {
      "type": "modify",
      "old_id": "e4c0315c4b05c4955d24ab9ad5e9558feb796a58",
      "old_mode": 33188,
      "old_path": "multitool/multitool.bzl",
      "new_id": "b99f067d3adbcc49f49cad7212f5c709342b375d",
      "new_mode": 33188,
      "new_path": "multitool/multitool.bzl"
    },
    {
      "type": "modify",
      "old_id": "90fa4b7993a1fee35dd3d0f9987afe04a5e0e877",
      "old_mode": 33188,
      "old_path": "multitool/private/hub_repo_template/toolchain_info.bzl.template",
      "new_id": "f5dd02035c5af288dad8df67a270d59baa292bab",
      "new_mode": 33188,
      "new_path": "multitool/private/hub_repo_template/toolchain_info.bzl.template"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2bc04259b84e916bcebc95de743a6e02ccaed044",
      "new_mode": 33188,
      "new_path": "multitool/private/lockfile.bzl"
    },
    {
      "type": "modify",
      "old_id": "3ba03287472bf7508af8e641b9eb3e10ece1f1f3",
      "old_mode": 33188,
      "old_path": "multitool/private/multitool.bzl",
      "new_id": "7919f4b5c610625d4d4236bf6590508086cac131",
      "new_mode": 33188,
      "new_path": "multitool/private/multitool.bzl"
    },
    {
      "type": "modify",
      "old_id": "91a5db8212b18fe030ef7a8c8b6c391f8c0a7e3b",
      "old_mode": 33188,
      "old_path": "multitool/private/templates.bzl",
      "new_id": "35319cdfad18d3cec5e3842b36c785c92dccb011",
      "new_mode": 33188,
      "new_path": "multitool/private/templates.bzl"
    },
    {
      "type": "rename",
      "old_id": "14f9e5b8fd853f4d9567d2e7a9a2a76e60b31a95",
      "old_mode": 33188,
      "old_path": "multitool/private/env_repo_template/BUILD.bazel.template",
      "new_id": "14f9e5b8fd853f4d9567d2e7a9a2a76e60b31a95",
      "new_mode": 33188,
      "new_path": "multitool/private/tool_repo_template/BUILD.bazel.template",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "14f9e5b8fd853f4d9567d2e7a9a2a76e60b31a95",
      "old_mode": 33188,
      "old_path": "multitool/private/env_repo_template/tools/BUILD.bazel.template",
      "new_id": "14f9e5b8fd853f4d9567d2e7a9a2a76e60b31a95",
      "new_mode": 33188,
      "new_path": "multitool/private/tool_repo_template/tools/BUILD.bazel.template",
      "score": 100
    },
    {
      "type": "rename",
      "old_id": "d51e9b24ad5d95e8c5d38dd805d2c722b5bee024",
      "old_mode": 33188,
      "old_path": "multitool/private/env_repo_tool_template/BUILD.bazel.template",
      "new_id": "d51e9b24ad5d95e8c5d38dd805d2c722b5bee024",
      "new_mode": 33188,
      "new_path": "multitool/private/tool_repo_tool_template/BUILD.bazel.template",
      "score": 100
    },
    {
      "type": "copy",
      "old_id": "14f9e5b8fd853f4d9567d2e7a9a2a76e60b31a95",
      "old_mode": 33188,
      "old_path": "multitool/private/env_repo_template/BUILD.bazel.template",
      "new_id": "14f9e5b8fd853f4d9567d2e7a9a2a76e60b31a95",
      "new_mode": 33188,
      "new_path": "multitool/private/workspace_hub_repo_template/BUILD.bazel.template",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a1c54d498f941ce0a22d89ade8fe6ebd0de1c7d9",
      "new_mode": 33188,
      "new_path": "multitool/private/workspace_hub_repo_template/tools.bzl.template"
    }
  ]
}
