)]}'
{
  "commit": "f4f0b9871ebdf71e06e0a51b5247828ca7ac36c0",
  "tree": "3afcc3c757effefa91da38009090436b6fc3ecf9",
  "parents": [
    "78f4bc42c06b55177c6dadb3a29827bf27cbaf23"
  ],
  "author": {
    "name": "James Price",
    "email": "jrprice@google.com",
    "time": "Wed May 27 11:33:44 2026 -0700"
  },
  "committer": {
    "name": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "email": "dawn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed May 27 11:33:44 2026 -0700"
  },
  "message": "Reland: [gn] Add support for generated sources\n\nAvoids use of absolute path to build directory when invoking the\ngeneration script, since this was causing failures on the bots that\ncheck for deterministic builds.\n\nAlso ensures that the generate_sources action is only performed using\nthe host toolchain, which fixes issues when cross-compiling.\n\nOriginal commit message below.\n\nAdd a custom action that invokes the source generator. The build file\ngenerator produces a list of dependencies for this custom command, so\nthat source generation will automatically re-run whenever any .tmpl\nfile or .def file is changed.\n\nLike with Bazel, we also pre-generate a list of generated sources\nbecause it needs to know what the outputs of the command are.\n\nBug: 513255285\nChange-Id: I08beed41653a7c40a6026bd3c690a0f4792c7f5b\nReviewed-on: https://dawn-review.googlesource.com/c/dawn/+/311375\nCommit-Queue: James Price \u003cjrprice@google.com\u003e\nReviewed-by: dan sinclair \u003cdsinclair@chromium.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1de9d47438271c78f693ca0742180572f1312468",
      "old_mode": 33188,
      "old_path": "src/tint/BUILD.gn",
      "new_id": "5ec972b069b170124d976c9cf418fec740ffa1c0",
      "new_mode": 33188,
      "new_path": "src/tint/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "8814657a9df9a9c6775a8d2038423351647a9aee",
      "old_mode": 33188,
      "old_path": "src/tint/cmd/bench/BUILD.gn",
      "new_id": "16e0174f26f42a0be89318e1cbc26a29eb3c6435",
      "new_mode": 33188,
      "new_path": "src/tint/cmd/bench/BUILD.gn"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "98c89a70806ad081481400cd5fb8d67aba3917dd",
      "new_mode": 33188,
      "new_path": "src/tint/generated_sources.gni"
    },
    {
      "type": "modify",
      "old_id": "7c4053fe95f70363f2a3f24822799d304ce4f066",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/BUILD.gn",
      "new_id": "9211e6f072209a5e12337d0dc29862024fcffa59",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "765316365e50520e5ddd4f1b16d2046f3b79ce1d",
      "old_mode": 33188,
      "old_path": "src/tint/lang/core/intrinsic/BUILD.gn",
      "new_id": "9eeb9a5e24448d27102c1eefdead61bda5158846",
      "new_mode": 33188,
      "new_path": "src/tint/lang/core/intrinsic/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "72d4344ea3efb8bc09f34008733c6365a90f417f",
      "old_mode": 33188,
      "old_path": "src/tint/lang/glsl/BUILD.gn",
      "new_id": "340ff729de49bf0fc3a650a725ddbd8d1a7df853",
      "new_mode": 33188,
      "new_path": "src/tint/lang/glsl/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "e3b6f7a52ae60226e833086b0504e550943360d1",
      "old_mode": 33188,
      "old_path": "src/tint/lang/glsl/intrinsic/BUILD.gn",
      "new_id": "d98bbad97a78f373b63dc4f80e1290519d8dd491",
      "new_mode": 33188,
      "new_path": "src/tint/lang/glsl/intrinsic/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "72746a77ea649304025b3ee52b959d756ee3aad8",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/BUILD.gn",
      "new_id": "383344683baefa2591f63e19bb468d0275e8652d",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "8d3e6e4e62dbc42aacba6ccbd192cfd804bcead0",
      "old_mode": 33188,
      "old_path": "src/tint/lang/hlsl/intrinsic/BUILD.gn",
      "new_id": "d126e6a2a4275e9590317dd3c023092365b4360e",
      "new_mode": 33188,
      "new_path": "src/tint/lang/hlsl/intrinsic/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "a19448285d74d44c14473dd4d6e1783f7268a8dd",
      "old_mode": 33188,
      "old_path": "src/tint/lang/msl/BUILD.gn",
      "new_id": "49228f39325a23ef8a3afdeaaa6c662fb1cf44cb",
      "new_mode": 33188,
      "new_path": "src/tint/lang/msl/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "327c3e51d54da7c7af98f7b39e38d1241bce47b5",
      "old_mode": 33188,
      "old_path": "src/tint/lang/msl/intrinsic/BUILD.gn",
      "new_id": "d167562b1143129ce0764fa5deb3c5250233b0a9",
      "new_mode": 33188,
      "new_path": "src/tint/lang/msl/intrinsic/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "1ca18e11a11fafab24c5cfeee137c7968c75914f",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/BUILD.gn",
      "new_id": "23b224e86f66807dce46ac2878ffae28295f482d",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "c3eae0201ac51d2c233885608871faf74a009bd1",
      "old_mode": 33188,
      "old_path": "src/tint/lang/spirv/intrinsic/BUILD.gn",
      "new_id": "72baf2c5da9bf6f4233bb24f2418a5b37a1b2af3",
      "new_mode": 33188,
      "new_path": "src/tint/lang/spirv/intrinsic/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "4060c97e6d91c34ac9aa8f25fa4b73662cbe8f3a",
      "old_mode": 33188,
      "old_path": "src/tint/lang/wgsl/BUILD.gn",
      "new_id": "0b84d30d58797c4390be061f573b4163dc4a287b",
      "new_mode": 33188,
      "new_path": "src/tint/lang/wgsl/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "1c9ca0c8f4faae0c8c40c90e6d91635be715022d",
      "old_mode": 33188,
      "old_path": "src/tint/lang/wgsl/intrinsic/BUILD.gn",
      "new_id": "b13c37e0fa670af8ccc4774f6e8f4ac9e7f6b950",
      "new_mode": 33188,
      "new_path": "src/tint/lang/wgsl/intrinsic/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "b7a56face718b8c04c23cb9dc772b15dde57cf84",
      "old_mode": 33188,
      "old_path": "src/tint/tint.gni",
      "new_id": "472ec234762443392e69427b7fccf543e5d2d19e",
      "new_mode": 33188,
      "new_path": "src/tint/tint.gni"
    },
    {
      "type": "modify",
      "old_id": "47e4cdd1daa80298b203571936c331df65c58adc",
      "old_mode": 33188,
      "old_path": "tools/src/cmd/gen/build/BUILD.gn.tmpl",
      "new_id": "c4d07896d096e52dfc4099dde486aca0bb1bfc01",
      "new_mode": 33188,
      "new_path": "tools/src/cmd/gen/build/BUILD.gn.tmpl"
    },
    {
      "type": "modify",
      "old_id": "4db0b269aa3e1a28f758841b65ff641bac93f23c",
      "old_mode": 33188,
      "old_path": "tools/src/cmd/gen/build/build.go",
      "new_id": "30f69c66a3ff64acb0ee29e697301f1449bf0703",
      "new_mode": 33188,
      "new_path": "tools/src/cmd/gen/build/build.go"
    }
  ]
}
