)]}'
{
  "commit": "0153d369bbccc908f4da4993b1ba82728055926a",
  "tree": "3cee984032db309f0a2e2a79a338f0a0bb58d621",
  "parents": [
    "de86ec4176235871a7cb335756987e41246dae4a"
  ],
  "author": {
    "name": "Filip Filmar",
    "email": "fmil@google.com",
    "time": "Thu Sep 23 18:34:42 2021 -0700"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Fri Sep 24 02:29:17 2021 +0000"
  },
  "message": "Corrects the generation of .stamp file names.\n\nWhen output_name is defined, only the output artifact should be\nrenamed, not the target\u0027s stamp file.\n\nRenaming the stamp file too prevents a refactoring from:\n\n    source_set(\"examples_gn_hello\") {\n      sources \u003d [ \"lib.cc\" ]\n    }\n\nto:\n\n    # Creates a file examples_gn_hello.stamp\n    group(\"examples_gn_hello\") {\n      public_deps \u003d [ \":actual_target\" ]\n    }\n\n    # Creates a file examples_gn_hello.stamp\n    #    ... but should be actual_target.stamp\n    #    ... but the artifact output name should still be libexamples_gn_hello.a.\n    source_set(\"actual_target\") {\n      sources \u003d [ \"lib.cc\" ]\n      output_name \u003d \"examples_gn_hello\"\n    }\n\nBoth above targets try to generate the file\nexamples_gn_hello.stamp, which is an error.\n\nHow does this situation come up?  Originally there was\na source_set(\"examples_gn_hello\"), but through refactoring\nwe added a layer of indirection.  In theory this would be\na correct thing to do, but the implementation detail of the stamp file\nnaming results in a colission.\n\nNote that because of the requirement that the end product, the library, to\nstill be named `libexamples_gn_hello`, we can not change the output_name.\nAlso, because the target //examples/gn:examples_gn_hello is used downstream,\nwe can not rename it because it would break downstream users.\n\nChange-Id: I8e0adbd73d2bca3aecf61bfe01696bbd75335232\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/12220\nReviewed-by: Roland McGrath \u003cmcgrathr@google.com\u003e\nCommit-Queue: Roland McGrath \u003cmcgrathr@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "44c5f14452f9b603c453f82040b8e634bfbb1431",
      "old_mode": 33188,
      "old_path": "src/gn/target.cc",
      "new_id": "66ffc1f349cae76ec3fb4e4848e339349358b028",
      "new_mode": 33188,
      "new_path": "src/gn/target.cc"
    },
    {
      "type": "modify",
      "old_id": "311cbf998500ade20641c2b1e5f2d2f57d12fc86",
      "old_mode": 33188,
      "old_path": "src/gn/target_unittest.cc",
      "new_id": "add6d8231cb99689a0252902cc99d5faa2c981b0",
      "new_mode": 33188,
      "new_path": "src/gn/target_unittest.cc"
    }
  ]
}
