)]}'
{
  "commit": "b91b2f540bf22f0e20be899464bdcc8205ba947e",
  "tree": "3aa159333e2dc9c5b55300141a64dd639a12cd9a",
  "parents": [
    "95d087e014a39ebd68aa540dfa8c47ae794c82fa"
  ],
  "author": {
    "name": "Googler",
    "email": "ilist@google.com",
    "time": "Thu Jan 18 08:30:49 2024 -0800"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Thu Jan 18 08:32:37 2024 -0800"
  },
  "message": "Rollforward of https://github.com/bazelbuild/bazel/commit/acdb8e702e6a5e9181defd8c4ccdf90899261e1c: Change CppLinkAction to SpawnAction\n\nChange LinkCommandLine to return CommandLines, method getCommandLines (similarly to Starlark actions).\nRemove param file writing from CppLinkActionBuilder. CommandLines create the file automatically.\nPass the command lines into SpawnAction.\nRemove unnecessary fields from fingerprint computation (most of them should already be removed in previous changes). toolchainEnv needs to stay, because it\u0027s used in getEffectiveEnvironment.\n\nMost of the remaining public methods in LinkCommandLine and CppLinkAction should be removed. ATM they are still used in tests.\n\nNEW:\n- a single static instance of ResourceSetBuilder (instead one instance per action)\n- flattening inner class created by getCommandLines into LinkCommandline\n- caching tool string, so that we get 1 instance globally\n- removing unnecessary fields from LinkCommandLine\n  - linkstamp sources were only used in the tests\n  - moving outputLibrary and interfaceOutputLibrary into CppLinkActionBuilder\n\nBenchmarks now show about 0.2% improvement in retained heap.\n\nRELNOTES[INC]: CppLinkAction returns 2 args to aspects that have correct quoting set (before it was always 1 args object defaulting to bash escaping)\n\nPiperOrigin-RevId: 599516284\nChange-Id: Icea0a033cece2bfac854bac418a8ce1b3d1fb6bb\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "32b68807828d4bd6edea653828fa6165f453bf64",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/BUILD",
      "new_id": "87d54c7a6edfc7432cf6c945619af809a39b61fd",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/BUILD"
    },
    {
      "type": "modify",
      "old_id": "27a0aae69777e2350fcfb25378e1f613a7639948",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java",
      "new_id": "3c388dda417211aa57911ee3520aca5ddd629c4a",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CcLinkingHelper.java"
    },
    {
      "type": "modify",
      "old_id": "007dda08ca17093f018d8fb3ac04fd441f24c45f",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeatures.java",
      "new_id": "eb5ffebe8e6a552237f417fd70a283d4ae8c59ca",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CcToolchainFeatures.java"
    },
    {
      "type": "modify",
      "old_id": "25577e927b4c507ba59ed8230b55a8ca0394effc",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java",
      "new_id": "bde29139b722ba5293734e8c491deebc9c39caff",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java"
    },
    {
      "type": "modify",
      "old_id": "7599c7296d8e2f29eecf77ed9d57807e63f546bd",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java",
      "new_id": "d68f9130711e41d002effd582b60c07925534170",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionBuilder.java"
    },
    {
      "type": "modify",
      "old_id": "76c33697072c867895fe85acf287c07a42cab228",
      "old_mode": 33188,
      "old_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/LinkCommandLine.java",
      "new_id": "665df96eacc9b29ebf858a4595b557fabc109ea7",
      "new_mode": 33188,
      "new_path": "src/main/java/com/google/devtools/build/lib/rules/cpp/LinkCommandLine.java"
    },
    {
      "type": "modify",
      "old_id": "79e4880e08baeece1799ac4f8f345755f7065417",
      "old_mode": 33188,
      "old_path": "src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/starlark_tests.bzl",
      "new_id": "04e159688980c08f5078e3d3ade01bb0c0881ba2",
      "new_mode": 33188,
      "new_path": "src/main/starlark/tests/builtins_bzl/cc/cc_shared_library/test_cc_shared_library/starlark_tests.bzl"
    },
    {
      "type": "modify",
      "old_id": "93ae96bbdb37678da2080993ad46870312cf650b",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/analysis/AutoExecGroupsTest.java",
      "new_id": "9b04e9c4c5cb0d5b4021696889a74be3b1681424",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/analysis/AutoExecGroupsTest.java"
    },
    {
      "type": "modify",
      "old_id": "fb88e458ef365f5c486ec8940e563ae0dad5702b",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/rules/android/AndroidPlatformsTest.java",
      "new_id": "0f15330ff72c3e7c47d1e98a1010052170915676",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/rules/android/AndroidPlatformsTest.java"
    },
    {
      "type": "modify",
      "old_id": "7878ee9f3e036f3194d2a5f5cde0e70460fa2c17",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/rules/cpp/CcBinaryThinLtoObjDirTest.java",
      "new_id": "fc8ff67a7ae0e50a220f91889a5156d09f12a706",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/rules/cpp/CcBinaryThinLtoObjDirTest.java"
    },
    {
      "type": "modify",
      "old_id": "f0b47dd6c2d507f16842a1784a5937f202d0314e",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/rules/cpp/CcBinaryThinLtoTest.java",
      "new_id": "53a1fb9b78f00cd07c93c65ad7f8d3bf9b1278a7",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/rules/cpp/CcBinaryThinLtoTest.java"
    },
    {
      "type": "modify",
      "old_id": "1c882042f286cac301a89ade4ba2aa77e2f1a6f9",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java",
      "new_id": "d1b0523ab3dd5258947e6cd26452323799e64758",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/rules/cpp/CcLibraryConfiguredTargetTest.java"
    },
    {
      "type": "modify",
      "old_id": "6c365043827b1d24850b951cb23097bbc0c2f6dd",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java",
      "new_id": "3aea72ea0b7f98f0063b1ee6b3474dab6b11f051",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/rules/cpp/CppLinkActionTest.java"
    },
    {
      "type": "modify",
      "old_id": "5b07cb02fb209a882963c0f0092058e03068d7e8",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTest.java",
      "new_id": "d594fbdb11655d936dbda4b18793c664cf898316",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/rules/cpp/LinkBuildVariablesTest.java"
    },
    {
      "type": "modify",
      "old_id": "f79135693e5237a01b9e5a5d3ed93059da40aba4",
      "old_mode": 33188,
      "old_path": "src/test/java/com/google/devtools/build/lib/rules/cpp/LinkCommandLineTest.java",
      "new_id": "ed0e2f8094672ee6fb4dccd5b43a76af64605b72",
      "new_mode": 33188,
      "new_path": "src/test/java/com/google/devtools/build/lib/rules/cpp/LinkCommandLineTest.java"
    },
    {
      "type": "modify",
      "old_id": "e34da3e938fd1a7f9b1b027615fd72a6eb5056af",
      "old_mode": 33188,
      "old_path": "src/test/py/bazel/bazel_windows_cpp_test.py",
      "new_id": "542d9accea4fe318f4a0a384f23a0d963b40b3bc",
      "new_mode": 33188,
      "new_path": "src/test/py/bazel/bazel_windows_cpp_test.py"
    },
    {
      "type": "modify",
      "old_id": "8a6ecde4d49b8c66f200b2ae59efccf57c88f7fc",
      "old_mode": 33261,
      "old_path": "src/test/shell/bazel/cc_integration_test.sh",
      "new_id": "def6a43c9a49caa3756f33cbb76ce7ed09fca42f",
      "new_mode": 33261,
      "new_path": "src/test/shell/bazel/cc_integration_test.sh"
    },
    {
      "type": "modify",
      "old_id": "453e0bce4a1418934dbe098e5a929dda9809706c",
      "old_mode": 33261,
      "old_path": "src/test/shell/bazel/remote/remote_execution_test.sh",
      "new_id": "c9bcd0081b48671d7be39c15dc2b2ef16f0d579e",
      "new_mode": 33261,
      "new_path": "src/test/shell/bazel/remote/remote_execution_test.sh"
    },
    {
      "type": "modify",
      "old_id": "ed7172ef6b5596770ff6ffce22f9604f8ecb5104",
      "old_mode": 33261,
      "old_path": "src/test/shell/integration/aquery_test.sh",
      "new_id": "0edba6943c68f6e7f4741e2c6afbe80c96999969",
      "new_mode": 33261,
      "new_path": "src/test/shell/integration/aquery_test.sh"
    }
  ]
}
