)]}'
{
  "commit": "bd3356ac13f411b521b16b11da12cec5150e917c",
  "tree": "e97cd20c2725e085b0cfe840b50d44d1d33c3f4a",
  "parents": [
    "103f8b437f5e791e0aef9d5c372521a5d675fabb"
  ],
  "author": {
    "name": "Neri Marschik",
    "email": "nerima@google.com",
    "time": "Wed Jan 21 16:07:23 2026 +0900"
  },
  "committer": {
    "name": "GN LUCI",
    "email": "gn-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Wed Jan 28 23:44:04 2026 -0800"
  },
  "message": "Add `validations` dependency type to targets\n\nThis introduces a new dependency type called validations. Validations\nare targets that must be built if the depending target is built, but\nwhich do not affect the result of the current target (unlike deps) and\nare not runtime-only dependencies (unlike data_deps).\n\nThis is primarily useful for declaring tasks like static analysis, style\nchecking, or other linters that should run alongside the build.\n\nBug: 478798763\nChange-Id: I7dff3394aaae9f70a7ceb93ffd661803409c3d7c\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/20860\nReviewed-by: Takuto Ikuta \u003ctikuta@google.com\u003e\nCommit-Queue: Neri Marschik \u003cnerima@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7e848c7a398fe3850e915366fee70482c7cf8935",
      "old_mode": 33188,
      "old_path": "docs/reference.md",
      "new_id": "a2231e63ee64f4491cbb79a12b9962ab9c94574a",
      "new_mode": 33188,
      "new_path": "docs/reference.md"
    },
    {
      "type": "modify",
      "old_id": "371088613957880895f75fafc3ec336f9a3525b1",
      "old_mode": 33188,
      "old_path": "src/gn/builder.cc",
      "new_id": "84eff84257ee61f7614593ef6f6c229baa0f3ca4",
      "new_mode": 33188,
      "new_path": "src/gn/builder.cc"
    },
    {
      "type": "modify",
      "old_id": "67763630fa10eb4d47cb645a2e42812147d95fe2",
      "old_mode": 33188,
      "old_path": "src/gn/builder.h",
      "new_id": "6578a891e654f9d05ddba71f871ba952e991b252",
      "new_mode": 33188,
      "new_path": "src/gn/builder.h"
    },
    {
      "type": "modify",
      "old_id": "d1d0c53cdd89142194edf5aa1fdf3fde4b1f5b68",
      "old_mode": 33188,
      "old_path": "src/gn/builder_record.cc",
      "new_id": "f5af711fadcdcf2feb79865eb0bc6d96b79b96d1",
      "new_mode": 33188,
      "new_path": "src/gn/builder_record.cc"
    },
    {
      "type": "modify",
      "old_id": "c4dc867ced282e90627294f1919f03567f4d995f",
      "old_mode": 33188,
      "old_path": "src/gn/builder_record.h",
      "new_id": "06ff6c3b797f0b9c37fc1ede3651fe54a2beb0f3",
      "new_mode": 33188,
      "new_path": "src/gn/builder_record.h"
    },
    {
      "type": "modify",
      "old_id": "accd7143314dd4b66eb7ab911b6ec6ef4679613c",
      "old_mode": 33188,
      "old_path": "src/gn/builder_unittest.cc",
      "new_id": "da497c72abc5dc8672288420224e772ce1b9773d",
      "new_mode": 33188,
      "new_path": "src/gn/builder_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "0fe0c1befa2a6c4358e0f5d7718806793b13215a",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_action_target_writer.cc",
      "new_id": "3aa56862042fd3008d18b753c6bd238d8c7cbe5b",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_action_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "8bcea9389661efb042f56866c65a510d4d296b9e",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_action_target_writer_unittest.cc",
      "new_id": "fa2939ec1d5fdaaacc02031aa8a09d076890bc45",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_action_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "ac45e976aafb7e7a0b6106b6dc8e2a09e07137b4",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_binary_target_writer.cc",
      "new_id": "bf0da36a0179268e2abe44682b802c79a0aef105",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "c864bc092b63584422764d53c4d782e6fa6509b8",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer.cc",
      "new_id": "04ea485dc903ebc45ffbde92e39fd6737471fa73",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "47657c0d6936b0d4a150bf60762d4faa114e74a3",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_copy_target_writer.cc",
      "new_id": "0952c6ffa29521b87504ed9baee956909d7e6fd2",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_copy_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "e094f80a62b616ae49df874c198b5ddaacea3ba8",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_copy_target_writer_unittest.cc",
      "new_id": "da7da59f71f9f4d4a24942e886c17ab217777135",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_copy_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "e5248a11500f9a4f09dac953c3e8c5b7eaf3b1b4",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_target_writer.cc",
      "new_id": "d6c69c77291c5d9325176a8cf18a8d8394e4104f",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "68bc0a37b6d5e6ed40c40e6ffb620fb3a33a1462",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_target_writer.h",
      "new_id": "0936033e7df9abad062742c56a47b5cfb24c6fbf",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_target_writer.h"
    },
    {
      "type": "modify",
      "old_id": "ae691d7f0ac3c01340977bf5960ac63405d55f0d",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_target_writer_unittest.cc",
      "new_id": "317ce2a972f7ca5bf3029febecfc6e626501f1e4",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_target_writer_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "1ea129855c5d14c4f9862d5333dbd3d9bdc0d6cd",
      "old_mode": 33188,
      "old_path": "src/gn/target.cc",
      "new_id": "9cba6af55677056489a7af3f942d615c5d09348d",
      "new_mode": 33188,
      "new_path": "src/gn/target.cc"
    },
    {
      "type": "modify",
      "old_id": "c8c4933e32613aad8e266dbf8c5be88b51a83a3c",
      "old_mode": 33188,
      "old_path": "src/gn/target.h",
      "new_id": "ccd5372b13a2d5341442bcc81549578e50d2acb4",
      "new_mode": 33188,
      "new_path": "src/gn/target.h"
    },
    {
      "type": "modify",
      "old_id": "59bcf1a80e3760103295bf248d5f1e8551db3ca2",
      "old_mode": 33188,
      "old_path": "src/gn/target_generator.cc",
      "new_id": "7529b2e1f1597473fea34767f396e19063137ba4",
      "new_mode": 33188,
      "new_path": "src/gn/target_generator.cc"
    },
    {
      "type": "modify",
      "old_id": "4573279ecd899a28969581270776f958f44d2756",
      "old_mode": 33188,
      "old_path": "src/gn/variables.cc",
      "new_id": "5090e3a53da8a2abdacee7ddd90eaf1401ea7cf6",
      "new_mode": 33188,
      "new_path": "src/gn/variables.cc"
    },
    {
      "type": "modify",
      "old_id": "2d46db4cc56d6cc9ac4bb93c4b766be8d18e836e",
      "old_mode": 33188,
      "old_path": "src/gn/variables.h",
      "new_id": "1d953aff7e706c4b92dadbdc869bc99ec6a8c6f6",
      "new_mode": 33188,
      "new_path": "src/gn/variables.h"
    }
  ]
}
