)]}'
{
  "commit": "b2cca31705419ba1cd3744c23be4b1d9bdb5c467",
  "tree": "b9e81f87f411f0ac28e6d3b63bc6ee3096b2f5ea",
  "parents": [
    "24548120daeeafdcce3667259bc69bc423493a2f"
  ],
  "author": {
    "name": "Googler",
    "email": "gregce@google.com",
    "time": "Mon Nov 27 17:03:10 2023 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Mon Nov 27 17:04:57 2023 -0800"
  },
  "message": "Don\u0027t crash when loading a non-existent exec transition .bzl file.\n\ni.e.\n\n`$ bazel build //foo --experimental_exec_config\u003d//bar/does_not_exist.bzl%my_transition`\n\nThis is a small change but has lots of files because I had to move\n`BzlLoadFailedException` into its own class. So a lot of simple reference updates.\n\nDetails:\n\n - `StarlarkExecTransitionLoader` is responsible for loading the exec transition.\n - It delegates to `BzlLoadFunction` to load the `bzl` file.\n - I need `StarlarkExecTransitionLoader` to anticipate `BzlLoadFailedException`.\n - I moved `BzlLoadFailedException` out of `BzlLoadFunction` to avoid a build\n   dependency cycle: `BzlLoadFunction` is part of the catch-call\n   `:skyframe_cluster` library, which itself depends on\n   `StarlarkExecTransitionLoader`.\n - Kept a bunch of static `BzlLoadFailedException` instantiators in\n  `BzlLoadFunction`. Many of these involve higher order types with the same\n  dependency issues.\n - Updated the `BzlFileLoader` interface (which wraps `BzlLoadFunction` calls)\n   to throw `BzlLoadFailedException`.\n - Updated `BzlFileLoader` implementations to check for that exception when Skyframe-evaluating.\n - Uncommented the test checking this functionality.\n\nPiperOrigin-RevId: 585800246\nChange-Id: I71921380a658eb6c441b2600f0758049162f85c0\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f44fdfe1c079ae4c3c5fa2661e5994732b90e6da",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/BUILD",
      "new_id": "e28223e47c6616dfd5b17183350c1bf8deeaeb5a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/BUILD"
    },
    {
      "type": "modify",
      "old_id": "017a493b72d5eb291bf54190125768e07c38e088",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/analysis/config/StarlarkExecTransitionLoader.java",
      "new_id": "dc17be178c60db6c90d8d7a4f61d45071a912cba",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/analysis/config/StarlarkExecTransitionLoader.java"
    },
    {
      "type": "modify",
      "old_id": "62f23a6706da5e949ea5624247a03e11067bef39",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BUILD",
      "new_id": "a22f5fcbdc1b2a8f5db149729607e456598dc375",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/BUILD"
    },
    {
      "type": "modify",
      "old_id": "4cd81e7eeed0ec2c702037065b9d9d2d4fceeb31",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionEvalFunction.java",
      "new_id": "533cf65a7b6136c2204635746820824348d5825f",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/bazel/bzlmod/SingleExtensionEvalFunction.java"
    },
    {
      "type": "modify",
      "old_id": "9723704e69f5cd3f1d1ec4b1b78814480c1f93e2",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/BUILD",
      "new_id": "3ee975a0d594b289c0b525446a145967dbcaaba3",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/BUILD"
    },
    {
      "type": "modify",
      "old_id": "9e61b7653f7fc6e17139de6c9c6a3e01526283a4",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/StarlarkDocExtract.java",
      "new_id": "00ee8deafdc48976b2dc4f6e5411905643ae13ba",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/starlarkdocextract/StarlarkDocExtract.java"
    },
    {
      "type": "modify",
      "old_id": "b72c3922c0d93ea96c3b8f986daebcc619de85b2",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java",
      "new_id": "931ba5154cff55cc6d8ca888a3f961ee49cec0b5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java"
    },
    {
      "type": "modify",
      "old_id": "f874842989c293bf592f752d442d3be02f57f7d8",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/BUILD",
      "new_id": "228efd91d640c0c3b676253d1f60afb1c7b4c927",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/BUILD"
    },
    {
      "type": "modify",
      "old_id": "130e16f8ea7110035daf1b043843b2e7d8fd9c8e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/BuildTopLevelAspectsDetailsFunction.java",
      "new_id": "3b2b765033c92f4f5760cd2af1b7e5012206d3e5",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/BuildTopLevelAspectsDetailsFunction.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ade93f4d1ba2f7f8937d68f3f7cb0845761da029",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/BzlLoadFailedException.java"
    },
    {
      "type": "modify",
      "old_id": "1d4cc4ba8979b62db3b21f49cfdea79b599d8201",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/BzlLoadFunction.java",
      "new_id": "08a3ee4e2d80f75ef893053a702da0ca19d3087c",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/BzlLoadFunction.java"
    },
    {
      "type": "modify",
      "old_id": "311660ce0b4acdaf17c5df661d4bacb530ea1f0d",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/DependencyResolver.java",
      "new_id": "a4c0da94349aec527c9fca0120b65a3216951f10",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/DependencyResolver.java"
    },
    {
      "type": "modify",
      "old_id": "32b8065e559a691355ca3ce1fc082084a4742845",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java",
      "new_id": "3e22e47177bd41d3eaadf91f8c3ea086a8fb4f1d",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/PackageFunction.java"
    },
    {
      "type": "modify",
      "old_id": "b06477d105b936d9e93c083971bb5353ef89e8a8",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java",
      "new_id": "4b36ac5120b06342b0a4a4473c848ac95316b714",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java"
    },
    {
      "type": "modify",
      "old_id": "2ffbc6cca615c98c579d97726462de5331796696",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuiltinsFunction.java",
      "new_id": "149c68ea2da69adb20cccf40082a6ccb153dc317",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/StarlarkBuiltinsFunction.java"
    },
    {
      "type": "modify",
      "old_id": "9535224d0e20381a15d724912650bb5ae1b23f7e",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/config/BUILD",
      "new_id": "ffdf5b6f0f83d7fa5184762cba8eb2f0a5594c19",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/config/BUILD"
    },
    {
      "type": "modify",
      "old_id": "b1ec3230afdd97bfcdefa00b8dae1de8ab9ab125",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/skyframe/config/BaselineOptionsFunction.java",
      "new_id": "42f546ab8794e66578c05a81f6e33d5a25c678f4",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/skyframe/config/BaselineOptionsFunction.java"
    },
    {
      "type": "modify",
      "old_id": "1fc6f2a8acdd2f1591fb97d03a89f7713a7cdb05",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/config/ExecutionTransitionFactoryTest.java",
      "new_id": "41f0144ecfbe813435ee3d33d9d114414132d9e9",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/config/ExecutionTransitionFactoryTest.java"
    },
    {
      "type": "modify",
      "old_id": "7ba87fe36d17c676b8d4fa0c5e4203857e0d0ac4",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/skyframe/BUILD",
      "new_id": "74af52e4ca23521a55d5bd570c11a798dddaf060",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/skyframe/BUILD"
    },
    {
      "type": "modify",
      "old_id": "6160a7856bc36e41e2fdf0373e563cbf1ebbb0e1",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/skyframe/BzlLoadFunctionTest.java",
      "new_id": "1cc32eb28c5f444f60f8b184a7329cfc5f9545df",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/skyframe/BzlLoadFunctionTest.java"
    },
    {
      "type": "modify",
      "old_id": "8f68a1b51f9ca9b661ebb4eae6302354fb0e1bcb",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsTest.java",
      "new_id": "fc03b0f8d0bf95adde66fc19655eee32a2216f19",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/skyframe/ConfigurationsForTargetsTest.java"
    }
  ]
}
