)]}' { "commit": "252674db046b46704674aa2558a713558d3b905e", "tree": "7654819d87e6e76515a7ba81daf0f3b052f96cac", "parents": [ "be0c06cb537474b963cf264b7bb762fc0f8dffdf" ], "author": { "name": "Robert Sesek", "email": "rsesek@chromium.org", "time": "Fri May 10 14:08:52 2019 -0400" }, "committer": { "name": "Commit Bot", "email": "commit-bot@chromium.org", "time": "Fri May 10 18:43:44 2019 +0000" }, "message": "Let source_target_relative be a valid substitution for bundle_data.\n\nThis helps address the situation where one needs to package a bundle not\nproduced by the build\u0027s create_bundle rule, like a third-party\nframework, inside another bundle that is produced by the build. If a\nbundle_data rule only pointed to the outer directory of that third-party\nframework, any changes to the inner components of the bundle would not\ntrigger a re-copy.\n\nThe {{source_target_relative}} is useful because it lets one define a\nbundle_data target at the same level as the third-party bundle, list\nits entire contents in |sources|, and have the bundle\u0027s folder\nstructure preserved.\n\nWith the existing set of valid substitution patterns, a bundle_data\nrule would need to be created for each level of folder structure in\nthe third-party bundle.\n\nBug: chromium:955936, chromium:608382\nChange-Id: I6e32a98ea607fb95d73ec707c7c8e9a39ee1e9d0\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/4860\nReviewed-by: Nico Weber \u003cthakis@chromium.org\u003e\nCommit-Queue: Petr Hosek \u003cphosek@google.com\u003e\n", "tree_diff": [ { "type": "modify", "old_id": "fe23b196b849acb9de7497714f11edb990d54084", "old_mode": 33188, "old_path": "docs/reference.md", "new_id": "1d2ea498001b582cff19fcb8f071e049414dd0ed", "new_mode": 33188, "new_path": "docs/reference.md" }, { "type": "modify", "old_id": "f38013e2fa787bab563957e1c7422c6d2a10514d", "old_mode": 33188, "old_path": "tools/gn/substitution_type.cc", "new_id": "ae680c9d1ddefb8218e6e0462c2731303a2bfda9", "new_mode": 33188, "new_path": "tools/gn/substitution_type.cc" }, { "type": "modify", "old_id": "c8bc70fd0d025f5b4ea0141c9ecd4a4e83d59334", "old_mode": 33188, "old_path": "tools/gn/substitution_writer.cc", "new_id": "b26579b03bb258ddf0390a050ec92cb39bb79eb5", "new_mode": 33188, "new_path": "tools/gn/substitution_writer.cc" } ] }