)]}'
{
  "commit": "49850f89f86ab25d32a163fc5e032c4abec45549",
  "tree": "61652e3f6130b98b8cb6a9ec23ea9003cca45d50",
  "parents": [
    "7ffa32547eff706f4e54883874a8ff25c8af2883"
  ],
  "author": {
    "name": "Fabian Meumertzheim",
    "email": "fabian@meumertzhe.im",
    "time": "Thu Apr 25 15:45:01 2024 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Apr 25 15:46:46 2024 -0700"
  },
  "message": "Replace most Bzlmod events with a Skyframe graph lookup\n\nRetaining `Postable`s across the graph increases the memory usage of every dependent Skyframe node.\n\n`ModuleExtensionResolutionEvent` is replaced with a lookup of the \"done\" Skyframe nodes for extension evaluation in `BazelLockFileModule#afterCommand`.\n\n`RootModuleFileFixupEvent` is replaced with direct storage in `SingleExtensionEvalValue`. The validation of repos imported from an extension is moved into a separate `SkyFunction`. This simplifies `bazel mod tidy`, which no longer needs to swallow certain exceptions, and allows cache hits when only the (invalid) imports of an extension are modified even without the lockfile.\n\nThe `BazelModuleResolutionEvent` is kept for now, but will become obsolete with the new lockfile format.\n\nWork towards #20369\n\nCloses #22058.\n\nPiperOrigin-RevId: 628213907\nChange-Id: I8ba19f5151a8183be5051c8d9280f93476db2272\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "70a1500eb6bf6bd2c9ee52b4a56a4284df075e04",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java",
      "new_id": "ef04d6c6d8636150606afeab345b4fb29f6ce121",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/BazelRepositoryModule.java"
    },
    {
      "type": "modify",
      "old_id": "750742ae09b37c5d5e8bc2d8b6c6b7ce0dae0b24",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BUILD",
      "new_id": "0884dbf4a68a69d224f459516fdadefe473edc68",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BUILD"
    },
    {
      "type": "modify",
      "old_id": "40dfddf9e5ab50e0d09534c59fb7e437e61a6b4d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelFetchAllFunction.java",
      "new_id": "17ff239e0546a7d6e0667acd9548f269d79ae6c7",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelFetchAllFunction.java"
    },
    {
      "type": "modify",
      "old_id": "ebb3b26cb285cae37c9ad04a31202b46ef2f75ca",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelLockFileModule.java",
      "new_id": "eb0f93f44dba6563d230d44b5690aa4eb91fdbb5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelLockFileModule.java"
    },
    {
      "type": "modify",
      "old_id": "7f9e18404c53b211d64d0ffd8b88f4559abf6314",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelModTidyFunction.java",
      "new_id": "89cd8b4d708a1dd7731b17d2a42a1b08a9b798d5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelModTidyFunction.java"
    },
    {
      "type": "modify",
      "old_id": "cfd34f1fa3de7e39582f9da4611e662681523425",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelModTidyValue.java",
      "new_id": "492d47c0eefa81873a70df28bb8ea8e756f94017",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelModTidyValue.java"
    },
    {
      "type": "modify",
      "old_id": "e7bb90791bb0870d3c953db024d92dc534f87e84",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelModuleInspectorFunction.java",
      "new_id": "9dc9e1b95379f6b25a5bec3c6a7abf3e2408f627",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BazelModuleInspectorFunction.java"
    },
    {
      "type": "modify",
      "old_id": "2af40858371f4bae2db2e4017f7bb53742fdf314",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/LockFileModuleExtension.java",
      "new_id": "e583bc30061adc79c90329017b0bb2e460c0c51f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/LockFileModuleExtension.java"
    },
    {
      "type": "modify",
      "old_id": "2f18222a89686af46facae71726183f78e7325eb",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/ModuleExtensionMetadata.java",
      "new_id": "ebc1c05324672b1bdca1fe857eb3115e2a15a25b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/ModuleExtensionMetadata.java"
    },
    {
      "type": "modify",
      "old_id": "fb1e9adcea3645838e1aab90a23f62f5b84852ae",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/ModuleExtensionRepoMappingEntriesFunction.java",
      "new_id": "f128ae882df9e20064675d8c48f2d4b94a01b441",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/ModuleExtensionRepoMappingEntriesFunction.java"
    },
    {
      "type": "delete",
      "old_id": "893608bef70afeb1f71fce4a1df2ea4b2f313d1d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/ModuleExtensionResolutionEvent.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "rename",
      "old_id": "6163127c2bfb6205d89b4aab3ec56f4d911c9b60",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/RootModuleFileFixupEvent.java",
      "new_id": "4182219aa2a77bf7a6c73900a731184dfb284a95",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/RootModuleFileFixup.java",
      "score": 61
    },
    {
      "type": "modify",
      "old_id": "eed1818b6eb90ce7cf3a832dcfa8262f1c168e49",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionEvalFunction.java",
      "new_id": "8358c08df6002bd5d27182cecf56fb58057c0b96",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionEvalFunction.java"
    },
    {
      "type": "delete",
      "old_id": "5fb9e24f64be5e15c0b643b59982fb293f8701b1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionEvalValue.java",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a1f406063abf42ffc6afa78e1b96dadade47f83c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionFunction.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b0a91017fd1d4be7b676b2f5204cb9b2d486eb09",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionValue.java"
    },
    {
      "type": "modify",
      "old_id": "b6af662561d4762a892bebc50715ea49629feced",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/commands/BUILD",
      "new_id": "34b0022e442af09d0e623b855d88369318032115",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/commands/BUILD"
    },
    {
      "type": "modify",
      "old_id": "d2e4e327ee500cc0e5eac222fdb69be0a740215f",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/commands/ModCommand.java",
      "new_id": "2dd07083a382f98900a5498628bf19a3d2b2a54e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/commands/ModCommand.java"
    },
    {
      "type": "modify",
      "old_id": "27a020f0433a3777048557a061cc26af181648ab",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/BzlLoadCycleReporter.java",
      "new_id": "da7d5d2ec9b05264cac3179417e08351c6cffb7e",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/BzlLoadCycleReporter.java"
    },
    {
      "type": "modify",
      "old_id": "d11de3b25d8ff51965ab77b810db45e3c2261465",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/BzlmodRepoCycleReporter.java",
      "new_id": "982ae64672596c26a758064c850ad3440977441d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/BzlmodRepoCycleReporter.java"
    },
    {
      "type": "modify",
      "old_id": "9d965727f655b1115f68ee9de1dfa1388c52c530",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/BzlmodRepoRuleFunction.java",
      "new_id": "850bf379914f9bcc0adcd6059fc286fb201e8e7b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/BzlmodRepoRuleFunction.java"
    },
    {
      "type": "modify",
      "old_id": "4105d312d6d48e08375aa5cf1bfb4493af45300a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java",
      "new_id": "75d5299c16e5367edf83f8fc8f67bcf52e386630",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/SkyFunctions.java"
    },
    {
      "type": "modify",
      "old_id": "6a0e4ce2631436bf7e2bb6fea6c35d6751ec121b",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisMock.java",
      "new_id": "526e2c4803bcfb7a095dc979dc1fdc637a0109be",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/util/AnalysisMock.java"
    },
    {
      "type": "modify",
      "old_id": "66f893176b9587731f084f48b030578027b7f9c0",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/bazel/bzlmod/BUILD",
      "new_id": "a5fb0a9f64aeb19a0b17ba2c932053b8f94e6c76",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/bazel/bzlmod/BUILD"
    },
    {
      "type": "modify",
      "old_id": "3e5d44dbcf4648bf68ab4d95cf680de834152926",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/bazel/bzlmod/ModuleExtensionResolutionTest.java",
      "new_id": "5bc28bf8601fb743f0a1fcc5ca4ad28009039c29",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/bazel/bzlmod/ModuleExtensionResolutionTest.java"
    },
    {
      "type": "modify",
      "old_id": "ef55cdd8c3444e43eef3491dc5d9818335528a84",
      "old_mode": 33188,
      "old_path": "src/test/py/bazel/bzlmod/bazel_lockfile_test.py",
      "new_id": "aad717fbc909ce29a6eb65c07da941fa62e8b821",
      "new_mode": 33188,
      "new_path": "src/test/py/bazel/bzlmod/bazel_lockfile_test.py"
    }
  ]
}
