Adds support for iOS colorsets. Bug: None Change-Id: Icaf2e8969753fc7717fae79821a530f765d3e688 Reviewed-on: https://gn-review.googlesource.com/c/gn/+/5240 Reviewed-by: Sylvain Defresne <sdefresne@chromium.org> Reviewed-by: Brett Wilson <brettw@google.com> Commit-Queue: Brett Wilson <brettw@google.com>
diff --git a/tools/gn/bundle_data.cc b/tools/gn/bundle_data.cc index 095e989..3af92d2 100644 --- a/tools/gn/bundle_data.cc +++ b/tools/gn/bundle_data.cc
@@ -34,7 +34,7 @@ if (source.ends_with("/Contents.json") && dir.ends_with(".xcassets")) { is_file_from_asset_catalog = true; } else if (dir.ends_with(".appiconset") || dir.ends_with(".imageset") || - dir.ends_with(".launchimage")) { + dir.ends_with(".launchimage") || dir.ends_with(".colorset")) { dir = FindDirNoTrailingSeparator(dir); is_file_from_asset_catalog = dir.ends_with(".xcassets"); }
diff --git a/tools/gn/ninja_bundle_data_target_writer_unittest.cc b/tools/gn/ninja_bundle_data_target_writer_unittest.cc index 5b1a4ba..f2ec6c5 100644 --- a/tools/gn/ninja_bundle_data_target_writer_unittest.cc +++ b/tools/gn/ninja_bundle_data_target_writer_unittest.cc
@@ -22,6 +22,8 @@ bundle_data.sources().push_back( SourceFile("//foo/Foo.xcassets/Contents.json")); bundle_data.sources().push_back( + SourceFile("//foo/Foo.xcassets/foo.colorset/Contents.json")); + bundle_data.sources().push_back( SourceFile("//foo/Foo.xcassets/foo.imageset/Contents.json")); bundle_data.sources().push_back( SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29.png")); @@ -44,6 +46,7 @@ "../../foo/input1.txt " "../../foo/input2.txt " "../../foo/Foo.xcassets/Contents.json " + "../../foo/Foo.xcassets/foo.colorset/Contents.json " "../../foo/Foo.xcassets/foo.imageset/Contents.json " "../../foo/Foo.xcassets/foo.imageset/FooIcon-29.png " "../../foo/Foo.xcassets/foo.imageset/FooIcon-29@2x.png "
diff --git a/tools/gn/ninja_create_bundle_target_writer_unittest.cc b/tools/gn/ninja_create_bundle_target_writer_unittest.cc index af7a7f5..51c982c 100644 --- a/tools/gn/ninja_create_bundle_target_writer_unittest.cc +++ b/tools/gn/ninja_create_bundle_target_writer_unittest.cc
@@ -186,6 +186,8 @@ bundle_data.sources().push_back( SourceFile("//foo/Foo.xcassets/Contents.json")); bundle_data.sources().push_back( + SourceFile("//foo/Foo.xcassets/foo.colorset/Contents.json")); + bundle_data.sources().push_back( SourceFile("//foo/Foo.xcassets/foo.imageset/Contents.json")); bundle_data.sources().push_back( SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29.png")); @@ -290,6 +292,8 @@ bundle_data2.sources().push_back( SourceFile("//foo/Foo.xcassets/Contents.json")); bundle_data2.sources().push_back( + SourceFile("//foo/Foo.xcassets/foo.colorset/Contents.json")); + bundle_data2.sources().push_back( SourceFile("//foo/Foo.xcassets/foo.imageset/Contents.json")); bundle_data2.sources().push_back( SourceFile("//foo/Foo.xcassets/foo.imageset/FooIcon-29.png")); @@ -321,6 +325,18 @@ bundle_data3.visibility().SetPublic(); ASSERT_TRUE(bundle_data3.OnResolved(&err)); + Target bundle_data4(setup.settings(), Label(SourceDir("//biz/"), "assets")); + bundle_data4.set_output_type(Target::BUNDLE_DATA); + bundle_data4.sources().push_back( + SourceFile("//biz/Biz.xcassets/Contents.json")); + bundle_data4.sources().push_back( + SourceFile("//biz/Biz.xcassets/biz.colorset/Contents.json")); + bundle_data4.action_values().outputs() = SubstitutionList::MakeForTest( + "{{bundle_resources_dir}}/{{source_file_part}}"); + bundle_data4.SetToolchain(setup.toolchain()); + bundle_data4.visibility().SetPublic(); + ASSERT_TRUE(bundle_data4.OnResolved(&err)); + Target create_bundle( setup.settings(), Label(SourceDir("//baz/"), "bar", setup.toolchain()->label().dir(), @@ -331,6 +347,7 @@ create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data1)); create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data2)); create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data3)); + create_bundle.private_deps().push_back(LabelTargetPair(&bundle_data4)); create_bundle.private_deps().push_back(LabelTargetPair(action.get())); create_bundle.bundle_data().product_type().assign("com.apple.product-type"); create_bundle.bundle_data().set_partial_info_plist( @@ -343,9 +360,9 @@ writer.Run(); const char expected[] = - "build obj/baz/bar.inputdeps.stamp: stamp obj/foo/assets.stamp " - "obj/foo/bar.stamp obj/foo/data.stamp obj/qux/info_plist.stamp " - "obj/quz/assets.stamp\n" + "build obj/baz/bar.inputdeps.stamp: stamp obj/biz/assets.stamp " + "obj/foo/assets.stamp obj/foo/bar.stamp obj/foo/data.stamp " + "obj/qux/info_plist.stamp obj/quz/assets.stamp\n" "build bar.bundle/Contents/Info.plist: copy_bundle_data " "../../qux/qux-Info.plist || obj/baz/bar.inputdeps.stamp\n" "build bar.bundle/Contents/Resources/input1.txt: copy_bundle_data " @@ -354,11 +371,11 @@ "../../foo/input2.txt || obj/baz/bar.inputdeps.stamp\n" "build obj/baz/bar.xcassets.inputdeps.stamp: stamp " "obj/foo/assets.stamp " - "obj/quz/assets.stamp\n" + "obj/quz/assets.stamp obj/biz/assets.stamp\n" "build bar.bundle/Contents/Resources/Assets.car | " "baz/bar/bar_partial_info.plist: compile_xcassets " - "../../foo/Foo.xcassets " - "../../quz/Quz.xcassets | obj/baz/bar.xcassets.inputdeps.stamp || " + "../../foo/Foo.xcassets ../../quz/Quz.xcassets " + "../../biz/Biz.xcassets | obj/baz/bar.xcassets.inputdeps.stamp || " "obj/baz/bar.inputdeps.stamp\n" " product_type = com.apple.product-type\n" " partial_info_plist = baz/bar/bar_partial_info.plist\n"