)]}'
{
  "commit": "1029a3b50873abafb5e2a42a60d93a14a6bacfb4",
  "tree": "79f5e90c78b4e737302e24baa260efa959bd5807",
  "parents": [
    "fae280eabe5d31accc53100137459ece19a7a295"
  ],
  "author": {
    "name": "David \u0027Digit\u0027 Turner",
    "email": "digit@google.com",
    "time": "Tue Jul 25 13:36:51 2023 +0200"
  },
  "committer": {
    "name": "GN LUCI",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Jul 26 12:27:53 2023 +0000"
  },
  "message": "Ninja: Always pass linker flags to rlib-generating command.\n\nThis is a partial rollback of [1] to restore all linker args in\nthe Ninja command that builds Rust rlib artifacts.\n\nThe Fuchsia build system supports remote builders with a wrapper\nscript that looks at the command-line arguments of the rustc\ninvocation to determine which input files to send to remote\nbuilders. This is done with a custom toolchain tool() definition.\n\nFor example, the final command looks like:\n\n```\n\u003cwrapper_script\u003e \u003cwrapper_args\u003e -- \u003crustc_invocation\u003e\n```\n\nAnd it is crucial that `\u003crustc_invocation\u003e` lists all linker inputs\n(even with `-Lnative\u003d\u003cdir\u003e` and `-Clink-arg\u003dlibfoo.a`) to ensure\nthey can be detected properly.\n\nA recent GN change [1] removed such inputs, which broke the Fuchsia\nbuild (or more accurately, prevents rolling upstream GN into the\nFuchsia tree). For more information, see https://fxbug.dev/130206.\n\nNote that this does not revert the CL entirely, in particular to keep\nthe fix  for `framework_dirs` as described in the original bug\ndescription.\n\n+ Update variables.cc to avoid losing a docs/reference.md change\n  that was applied manually in [1].\n\n[1] https://gn-review.googlesource.com/c/gn/+/15580\n\nFixed: 340\nChange-Id: Ibd65494a9b180037f21a666da5e6d905751b9c61\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/15760\nCommit-Queue: David Turner \u003cdigit@google.com\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "21ae6d007a0d40a88511f79eab1199c4b79e26f3",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_rust_binary_target_writer.cc",
      "new_id": "a400cf7dda807a1fdae6804525cfc9f36e10651a",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_rust_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "470a8999d75f4266e306356153854dedf658f8f3",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_rust_binary_target_writer.h",
      "new_id": "69ec916454b47651955ad800cc9d6975def93743",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_rust_binary_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "deb2bb6394f178b5c7d554de219397f32f11cd73",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_rust_binary_target_writer_unittest.cc",
      "new_id": "9a21c1f312e7a19b7f286656954d6bf6c471fa9e",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_rust_binary_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "139a919f44e4791a34f87f4607270594452b6e66",
      "old_mode": 33188,
      "old_path": "src/gn/setup.cc",
      "new_id": "68acd43b851219f4c231a82ffbec881114e5293c",
      "new_mode": 33188,
      "new_path": "src/gn/setup.cc"
    },
    {
      "type": "modify",
      "old_id": "5015df56e892b0e2ce5f0af92738f2ef630676d2",
      "old_mode": 33188,
      "old_path": "src/gn/variables.cc",
      "new_id": "8eb2a99a910434b793a33f81d37e575268ec5bd8",
      "new_mode": 33188,
      "new_path": "src/gn/variables.cc"
    }
  ]
}
