)]}'
{
  "commit": "bc5744174d9ea1c292f3f08cfb95fa97ea5c595e",
  "tree": "789104e24ab02e35eeb08bb8b2d3122857612f24",
  "parents": [
    "9a45b61238317b09b778c47555527c9926700e0c"
  ],
  "author": {
    "name": "David \u0027Digit\u0027 Turner",
    "email": "digit@google.com",
    "time": "Thu Nov 09 11:45:39 2023 +0100"
  },
  "committer": {
    "name": "GN LUCI",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Nov 15 08:02:30 2023 +0000"
  },
  "message": "Fix --as\u003dbuildfile `gn desc deps` output.\n\nBefore this CL, `--as\u003dbuildfile` would report the location\nof the parse tree node used to instantiate a Target, in practice\nthis meant that:\n\n- For builtin target types like `action()` or `static_library()`,\n  this would be the location of the BUILD.gn where these are called.\n\n- For targets defined through templates (e.g. `java_library()`\n  in Chromium), this would be the location of the .gni file where\n  the underlying action() was invoked.\n\nThis CL ensures that the location of the BUILD.gn where the target\nis defined is always returned. It does so by looking at the\nbuild_dependency_files() set for the target, and extracting\nthe single BUILD.gn file location from it, falling back to\nBUILDCONFIG.gn for targets that may be defined there instead.\n\nNOTE: There is no unit-test because PrintAndFilterTargets()\nrelies on too much global state, including the command-line.\nWriting a proper test would require a non-trivial refactor\nof that code.\n\nManual testing can be done by comparing the outputs of:\n\n```\ngn desc . //base:base_java deps --all --as\u003dbuildfile\n```\n\nBefore and after this CL.\n\nBug: chromium:1500273\nChange-Id: I4393e98d21c56c86282a886cb595034c389cc31c\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/16100\nReviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\nCommit-Queue: David Turner \u003cdigit@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b535b207935f798ca5a5d1d3a36b1042445c29c2",
      "old_mode": 33188,
      "old_path": "src/gn/commands.cc",
      "new_id": "0f607d98a3ad4f47efba65ef832b299420dc5309",
      "new_mode": 33188,
      "new_path": "src/gn/commands.cc"
    }
  ]
}
