)]}' { "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" } ] }