)]}'
{
  "commit": "6e8dcdebbadf4f8aa75e6a4b6e0bdf89dce1513a",
  "tree": "6962e1f7647ca62271862368e94f2e978a2d5a64",
  "parents": [
    "400e5d380ff92a4a33c1bf43591980eba370af42"
  ],
  "author": {
    "name": "Matt Stark",
    "email": "msta@google.com",
    "time": "Thu Mar 12 08:11:55 2026 +1100"
  },
  "committer": {
    "name": "GN LUCI",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Tue Mar 31 19:56:53 2026 -0700"
  },
  "message": "Add modulemap generation to GN.\n\nThis is the first step in adding a layering check to GN.\nIt generates modulemap files, and adds -fmodule-map-file to the\ncommand-line.\nThis is guarded behind a flag, so there should be no change to the\nchange in behaviour of GN\n\nBug: b:491925153\nChange-Id: Iaadf759240de829349796c43f4deda9a6a6a6964\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/21521\nCommit-Queue: Matt Stark \u003cmsta@google.com\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6ccd5fe9d9df7363a6f7b8d49d6c2126b37fd2df",
      "old_mode": 33261,
      "old_path": "build/gen.py",
      "new_id": "e40627c81919ced7bc9729f40f4e3f2cd227f18b",
      "new_mode": 33261,
      "new_path": "build/gen.py"
    },
    {
      "type": "modify",
      "old_id": "92ffbf98aa4e2756ff756e8b119d5fdc3067c23d",
      "old_mode": 33188,
      "old_path": "docs/reference.md",
      "new_id": "053296069684d315e455e61a839237844a05fed8",
      "new_mode": 33188,
      "new_path": "docs/reference.md"
    },
    {
      "type": "modify",
      "old_id": "1517734527b096f5aec6e678a00e7fa7195c89e9",
      "old_mode": 33188,
      "old_path": "src/gn/binary_target_generator.cc",
      "new_id": "39eb47ca4ae2c7e50c433b1b6caaa574f9b3f815",
      "new_mode": 33188,
      "new_path": "src/gn/binary_target_generator.cc"
    },
    {
      "type": "modify",
      "old_id": "b6d4c2ecae04773e85613ae943d8b0830446388d",
      "old_mode": 33188,
      "old_path": "src/gn/binary_target_generator.h",
      "new_id": "51530d0bc2c19fb4ad2454c3b97ad72f2c1d536e",
      "new_mode": 33188,
      "new_path": "src/gn/binary_target_generator.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "c1e4215103541cfe1230d7646f2481f07090712c",
      "new_mode": 33188,
      "new_path": "src/gn/binary_target_generator_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "bef0287fca8288280c88d65637f706328da232c6",
      "old_mode": 33188,
      "old_path": "src/gn/compile_commands_writer.cc",
      "new_id": "2ec76a8a384a81c252f3cd50a8bd05e5d70e78d1",
      "new_mode": 33188,
      "new_path": "src/gn/compile_commands_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "d7fcad08d1d332439366dfffbe1b1a227d196d13",
      "old_mode": 33188,
      "old_path": "src/gn/compile_commands_writer_unittest.cc",
      "new_id": "c645ac6e6c3b061f8210da8843ff1dfeb8196225",
      "new_mode": 33188,
      "new_path": "src/gn/compile_commands_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "412a70681959960b831d1ff888ce733fedc3d0c4",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_binary_target_writer.cc",
      "new_id": "13bc73def998c36f9eaf3e134c49ed4b84391945",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "b64f8843bcf37f9bb327b7127e04ad1eb682d3b7",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_binary_target_writer.h",
      "new_id": "75448c0c2aacd212b7f1c6172a9e4138cfa5bd15",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_binary_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "d9ee9fe6c0f8fb566960267d4cacabfa090be6b2",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer.cc",
      "new_id": "9041341443cceea35a799801422bf5a919f5f971",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "59cf52df0fe5dc9820308594fde74cbed7094eff",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer.h",
      "new_id": "3353a1b917731aca4c466314f29570c6df492c02",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "d12888d2237b59125142c6bde2c1de0317319849",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer_unittest.cc",
      "new_id": "bf81b23303ec4a100bd2c719ba80c95bc1419251",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "67b40eb6e60649b0816223a9afcef3fd6ce0db4c",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_module_writer_util.cc",
      "new_id": "7c8b0ca03eeda43ffc18c35e72f4b9915a23164f",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_module_writer_util.cc"
    },
    {
      "type": "modify",
      "old_id": "f6d007b111e46ca1b963f8cf55791bd585d22741",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_module_writer_util.h",
      "new_id": "911a98f3e4e81f65f0e9fa373c4c55e6bc82c72e",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_module_writer_util.h"
    },
    {
      "type": "modify",
      "old_id": "d6c69c77291c5d9325176a8cf18a8d8394e4104f",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_target_writer.cc",
      "new_id": "46964eec77ff9411aa6a2e298268fd1052f1edfc",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "d8d69ff9bf12ddde9473e4f6ff59ea8b74eb9f42",
      "old_mode": 33188,
      "old_path": "src/gn/output_file.h",
      "new_id": "e3e79a83c2bb3744f3e23d1e75fd191cfe4396aa",
      "new_mode": 33188,
      "new_path": "src/gn/output_file.h"
    },
    {
      "type": "modify",
      "old_id": "467c1199e1e12c69252a0f547067a73bd18a6acc",
      "old_mode": 33188,
      "old_path": "src/gn/source_file.h",
      "new_id": "f682f0d4c7c1de28146cb7985876045cfd01f45d",
      "new_mode": 33188,
      "new_path": "src/gn/source_file.h"
    },
    {
      "type": "modify",
      "old_id": "b66c636bc41c574eb9b3b7d1c2c14dbbf2c3e296",
      "old_mode": 33188,
      "old_path": "src/gn/target.cc",
      "new_id": "f2130e6fec64fff8f3b93dff7244290a5f928f7e",
      "new_mode": 33188,
      "new_path": "src/gn/target.cc"
    },
    {
      "type": "modify",
      "old_id": "eb9e0b971527741cde61c076eea4924a3b0767d7",
      "old_mode": 33188,
      "old_path": "src/gn/target.h",
      "new_id": "f219402ddbd9a637b099fda48ab836b2f5c70d7f",
      "new_mode": 33188,
      "new_path": "src/gn/target.h"
    },
    {
      "type": "modify",
      "old_id": "5090e3a53da8a2abdacee7ddd90eaf1401ea7cf6",
      "old_mode": 33188,
      "old_path": "src/gn/variables.cc",
      "new_id": "ad9657f39130c1e12487da0154da4ab990e9de4e",
      "new_mode": 33188,
      "new_path": "src/gn/variables.cc"
    },
    {
      "type": "modify",
      "old_id": "1d953aff7e706c4b92dadbdc869bc99ec6a8c6f6",
      "old_mode": 33188,
      "old_path": "src/gn/variables.h",
      "new_id": "6820121e0c698d848fd22c7f6be09f979a2cf15e",
      "new_mode": 33188,
      "new_path": "src/gn/variables.h"
    }
  ]
}
