[iOS/macOS] compile data sets into Assets
Before the change, defining .dataset in bundle_data's sources
produced steps to copy the contents of .dataset into a bundle.
Now .dataset becomes a part of Assets.car on build assets step.
Bug: none
Change-Id: Icd8becf17527fcd11a8ad5135fd5fb8437003152
Reviewed-on: https://gn-review.googlesource.com/c/gn/+/6880
Reviewed-by: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: Brett Wilson <brettw@chromium.org>
Commit-Queue: Brett Wilson <brettw@chromium.org>
diff --git a/src/gn/bundle_data.cc b/src/gn/bundle_data.cc
index cd68efe..a72612d 100644
--- a/src/gn/bundle_data.cc
+++ b/src/gn/bundle_data.cc
@@ -30,6 +30,8 @@
// .*\.xcassets/[^/]*\.appiconset/[^/]*
// .*\.xcassets/[^/]*\.imageset/[^/]*
// .*\.xcassets/[^/]*\.launchimage/[^/]*
+ // .*\.xcassets/[^/]*\.colorset/[^/]*
+ // .*\.xcassets/[^/]*\.dataset/[^/]*
bool is_file_from_asset_catalog = false;
std::string_view dir = FindDirNoTrailingSeparator(source);
if (base::EndsWith(source, "/Contents.json", base::CompareCase::SENSITIVE) &&
@@ -39,7 +41,8 @@
base::EndsWith(dir, ".imageset", base::CompareCase::SENSITIVE) ||
base::EndsWith(dir, ".launchimage",
base::CompareCase::SENSITIVE) ||
- base::EndsWith(dir, ".colorset", base::CompareCase::SENSITIVE)) {
+ base::EndsWith(dir, ".colorset", base::CompareCase::SENSITIVE) ||
+ base::EndsWith(dir, ".dataset", base::CompareCase::SENSITIVE)) {
dir = FindDirNoTrailingSeparator(dir);
is_file_from_asset_catalog =
base::EndsWith(dir, ".xcassets", base::CompareCase::SENSITIVE);
diff --git a/src/gn/ninja_create_bundle_target_writer_unittest.cc b/src/gn/ninja_create_bundle_target_writer_unittest.cc
index dc72b32..9a966d9 100644
--- a/src/gn/ninja_create_bundle_target_writer_unittest.cc
+++ b/src/gn/ninja_create_bundle_target_writer_unittest.cc
@@ -195,6 +195,10 @@
SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29@2x.png"));
bundle_data.sources().push_back(
SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29@3x.png"));
+ bundle_data.sources().push_back(
+ SourceFile("//foo/Foo.xcassets/foo.dataset/Contents.json"));
+ bundle_data.sources().push_back(
+ SourceFile("//foo/Foo.xcassets/foo.dataset/FooScript.js"));
bundle_data.action_values().outputs() = SubstitutionList::MakeForTest(
"{{bundle_resources_dir}}/{{source_file_part}}");
bundle_data.SetToolchain(setup.toolchain());
@@ -301,6 +305,10 @@
SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29@2x.png"));
bundle_data2.sources().push_back(
SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29@3x.png"));
+ bundle_data2.sources().push_back(
+ SourceFile("//foo/Foo.xcassets/foo.dataset/Contents.json"));
+ bundle_data2.sources().push_back(
+ SourceFile("//foo/Foo.xcassets/foo.dataset/FooScript.js"));
bundle_data2.action_values().outputs() = SubstitutionList::MakeForTest(
"{{bundle_resources_dir}}/{{source_file_part}}");
bundle_data2.SetToolchain(setup.toolchain());
@@ -319,6 +327,10 @@
SourceFile("//quz/Quz.xcassets/quz.imageset/QuzIcon-29@2x.png"));
bundle_data3.sources().push_back(
SourceFile("//quz/Quz.xcassets/quz.imageset/QuzIcon-29@3x.png"));
+ bundle_data3.sources().push_back(
+ SourceFile("//quz/Quz.xcassets/quz.dataset/Contents.json"));
+ bundle_data3.sources().push_back(
+ SourceFile("//quz/Quz.xcassets/quz.dataset/QuzScript.js"));
bundle_data3.action_values().outputs() = SubstitutionList::MakeForTest(
"{{bundle_resources_dir}}/{{source_file_part}}");
bundle_data3.SetToolchain(setup.toolchain());