Commit 39ee4649 authored by Sylvain Defresne's avatar Sylvain Defresne Committed by Commit Bot

Add additional template for the different types of asset catalogs.

Add additional templates to compiled .appiconset and .launchimage
asset catalog types and rename the file defining the templates to
build/config/ios/asset_catalog.gni.

Leave a forwarding .gni named build/config/ios/imageset.gni as the
downstream code still reference this path. The file will be removed
in a followup CL once the downstream code has been fixed to use the
new path.

TBR=yuweih@chromium.org (for remoting/ios/app/resources/BUILD.gn)

Bug: 764286
Change-Id: Ia229d1bcbbcbeb828103ff283197120da2a21b85
Reviewed-on: https://chromium-review.googlesource.com/671264
Commit-Queue: Sylvain Defresne <sdefresne@chromium.org>
Reviewed-by: default avatarEric Noyau <noyau@chromium.org>
Cr-Commit-Position: refs/heads/master@{#502603}
parent 5a2303ef
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
declare_args() {
# Controls whether the "imageset" template sets up the build to compile
# the asset catalogs (to generate an Assets.car file). If set to false,
# instead the assets will be copied verbatim to the generated bundle.
# As loading resources from the compiled asset catalog or unpacked is
# transparent to application code, this results in faster build but in
# a larger application.
#
# This requires that resources uses scale (like "@2x", "@3x") and idiom
# (like "~ipad", "~iphone") suffixes and use the same basename as the
# imageset directory in order for the correct resource to be loaded if
# ios_compile_asset_catalogs is set to false.
#
# Note: flipping this variable requires a clobber build (as there is no
# way to specify that unknown files are deleted as part of the build).
ios_compile_asset_catalogs = true
}
# This template declares a bundle_data target that references an asset
# catalog so that it is compiled to the asset catalog of the generated
# bundle.
#
# The create_bundle target requires that all asset catalogs are part of an
# .xcasset bundle. This requirement comes from actool that only receives
# the path to the .xcasset bundle directory and not to the individual
# .imageset directories.
#
# The requirement is a bit problematic as it prevents compiling only a
# subset of the asset catakig that are contained in a .xcasset. This template
# fixes that by instead copying the content of the asset catalog to temporary
# .xcasset directory (below $root_out_dir) and defining a bundle_data
# target that refers to those copies (this is efficient as the "copy" is
# implemented by hardlinking if possible on macOS).
#
# Since the create_data target will only refer to the .xcasset directory
# and additional "action" target that runs a dummy script is defined. It
# does nothing but pretends to generate the .xcassets directory (while
# it is really created as a side-effect of the "copy" step). This allows
# to workaround the check in "gn" that all inputs below $root_out_dir have
# to be outputs of another target with a public dependency path.
#
# This template also ensures that the file are only copied once when the
# build targets multiple architectures at the same time (aka "fat build").
#
# If ios_compile_asset_catalogs is set to false, the resources will instead
# just be copied into the final bundles (they are still copied to a temporary
# location in gen/ to avoid accidentally compiling them if they are located
# in a .xcassets directory).
#
# Arguments
#
# sources:
# required, list of strings, paths to the file contained in the
# asset catalog directory; this must contain the Contents.json file
# and all the image referenced by it (not enforced by the template).
#
# asset_type:
# required, string, type of the asset catalog, that is the extension
# of the directory containing the images and the Contents.json file.
#
template("asset_catalog") {
assert(defined(invoker.sources) && invoker.sources != [],
"sources must be defined and not empty for $target_name")
assert(defined(invoker.asset_type) && invoker.asset_type != "",
"asset_type must be defined and not empty for $target_name")
if (current_toolchain != default_toolchain) {
group(target_name) {
public_deps = [
":$target_name($default_toolchain)",
]
}
} else {
_copy_target_name = target_name + "__copy"
_fake_target_name = target_name + "__fake"
_data_target_name = target_name
_sources = invoker.sources
_extension = invoker.asset_type
foreach(_source, invoker.sources) {
_dir = get_path_info(_source, "dir")
assert(get_path_info(_dir, "extension") == _extension,
"$_source dirname must have .$_extension extension")
# If the compilation of asset catalogs is disabled, the Contents.json
# file must not be copied.
if (!ios_compile_asset_catalogs) {
if (get_path_info(_source, "file") == "Contents.json") {
_sources -= [ _source ]
}
}
}
# The compilation of resources into Assets.car is enabled automatically
# by the "create_bundle" target if any of the "bundle_data" sources's
# path is in a .xcassets directory and matches one of the know asset
# catalog type.
#
# Copy the file to a directory that either matches that pattern if the
# compilation of asset catalogs is enabled or not. The detection will
# be performed by gn and the correct ninja rules generated. This is the
# main difference between the two variants for this template.
if (ios_compile_asset_catalogs) {
_xcassets_dir = "$target_gen_dir/${target_name}.xcassets"
} else {
_xcassets_dir = "$target_gen_dir/${target_name}_xcassets"
}
_output_dir = "$_xcassets_dir/" +
get_path_info(get_path_info(_sources[0], "dir"), "file")
copy(_copy_target_name) {
# Forward "deps", "public_deps" and "testonly" in case some of the
# source files are generated.
forward_variables_from(invoker,
[
"deps",
"public_deps",
"testonly",
])
visibility = [ ":$_fake_target_name" ]
sources = _sources
outputs = [
"$_output_dir/{{source_file_part}}",
]
}
action(_fake_target_name) {
forward_variables_from(invoker, [ "testonly" ])
visibility = [ ":$_data_target_name" ]
script = "//build/config/ios/dummy.py"
sources = _sources
outputs = [
"$_xcassets_dir",
]
public_deps = [
":$_copy_target_name",
]
args = rebase_path(sources, root_build_dir) +
rebase_path(outputs, root_build_dir)
}
bundle_data(_data_target_name) {
forward_variables_from(invoker,
"*",
[
"deps",
"outputs",
"public_deps",
"sources",
])
sources = get_target_outputs(":$_copy_target_name")
outputs = [
"{{bundle_resources_dir}}/{{source_file_part}}",
]
public_deps = [
":$_fake_target_name",
]
}
}
}
# Those templates are specialisation of the asset_catalog template for known
# types of asset catalog types (imageset, launchimage, appiconset).
#
# Arguments
#
# sources:
# required, list of strings, paths to the file contained in the
# asset catalog directory; this must contain the Contents.json file
# and all the image referenced by it (not enforced by the template).
#
template("appiconset") {
asset_catalog(target_name) {
forward_variables_from(invoker, "*", [ "asset_type" ])
asset_type = "appiconset"
}
}
template("imageset") {
asset_catalog(target_name) {
forward_variables_from(invoker, "*", [ "asset_type" ])
asset_type = "imageset"
}
}
template("launchimage") {
asset_catalog(target_name) {
forward_variables_from(invoker, "*", [ "asset_type" ])
asset_type = "launchimage"
}
}
...@@ -2,158 +2,8 @@ ...@@ -2,158 +2,8 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
declare_args() { # TODO(crbug.com/764286): this is a forwarding .gni file to avoid breaking
# Controls whether the "imageset" template sets up the build to compile # the downstream repository that still reference this old path; remove it
# the asset catalogs (to generate an Assets.car file). If set to false, # once downstream has been fixed to use the new path.
# instead the assets will be copied verbatim to the generated bundle.
# As loading resources from the compiled asset catalog or unpacked is
# transparent to application code, this results in faster build but in
# a larger application.
#
# This requires that resources uses scale (like "@2x", "@3x") and idiom
# (like "~ipad", "~iphone") suffixes and use the same basename as the
# imageset directory in order for the correct resource to be loaded if
# ios_compile_asset_catalogs is set to false.
#
# Note: flipping this variable requires a clobber build (as there is no
# way to specify that unknown files are deleted as part of the build).
ios_compile_asset_catalogs = true
}
# This template declares a bundle_data target that references an .imageset import("//build/config/ios/asset_catalog.gni")
# so that it is compiled to the asset catalog of the generated bundle.
#
# The create_bundle target requires that all .imageset are part of an
# .xcasset bundle. This requirement comes from actool that only receives
# the path to the .xcasset bundle directory and not to the individual
# .imageset directories.
#
# The requirement is a bit problematic as it prevents compiling only a
# subset of the .imageset that are contained in a .xcasset. This template
# fixes that by instead copying the content of the .imageset to temporary
# .xcasset directory (below $root_out_dir) and defining a bundle_data
# target that refers to those copies (this is efficient as the "copy" is
# implemented by hardlinking if possible on macOS).
#
# Since the create_data target will only refer to the .xcasset directory
# and additional "action" target that runs a dummy script is defined. It
# does nothing but pretends to generate the .xcassets directory (while
# it is really created as a side-effect of the "copy" step). This allows
# to workaround the check in "gn" that all inputs below $root_out_dir have
# to be outputs of another target with a public dependency path.
#
# This template also ensures that the file are only copied once when the
# build targets multiple architectures at the same time (aka "fat build").
#
# If ios_compile_asset_catalogs is set to false, the resources will instead
# just be copied into the final bundles (they are still copied to a temporary
# location in gen/ to avoid accidentally compiling them if they are located
# in a .xcassets directory).
#
# Arguments
#
# sources:
# required, list of strings, paths to the file contained in the
# .imageset directory; this must contain the Contents.json file
# and all the image referenced by it (not enforced by the template).
#
template("imageset") {
assert(defined(invoker.sources) && invoker.sources != [],
"sources must be defined and not empty for $target_name")
if (current_toolchain != default_toolchain) {
group(target_name) {
public_deps = [
":$target_name($default_toolchain)",
]
}
} else {
_copy_target_name = target_name + "__copy"
_fake_target_name = target_name + "__fake"
_data_target_name = target_name
_sources = invoker.sources
foreach(_source, invoker.sources) {
_dir = get_path_info(_source, "dir")
assert(get_path_info(_dir, "extension") == "imageset",
"$_source dirname must have .imageset extension")
# If the compilation of asset catalogs is disabled, the Contents.json
# file must not be copied.
if (!ios_compile_asset_catalogs) {
if (get_path_info(_source, "file") == "Contents.json") {
_sources -= [ _source ]
}
}
}
# The compilation of resources into Assets.car is enabled automatically
# by the "create_bundle" target if any of the "bundle_data" sources's
# path matches *.xcassets/{Contents.json,*.imageset/{Contents.json,*}}.
#
# Copy the file to a directory that either matches that pattern if the
# compilation of asset catalogs is enabled or not. The detection will
# be performed by gn and the correct ninja rules generated. This is the
# main difference between the two variants for this template.
if (ios_compile_asset_catalogs) {
_xcassets_dir = "$target_gen_dir/${target_name}.xcassets"
} else {
_xcassets_dir = "$target_gen_dir/${target_name}_xcassets"
}
_imageset_dir = "$_xcassets_dir/" +
get_path_info(get_path_info(_sources[0], "dir"), "file")
copy(_copy_target_name) {
# Forward "deps", "public_deps" and "testonly" in case some of the
# source files are generated.
forward_variables_from(invoker,
[
"deps",
"public_deps",
"testonly",
])
visibility = [ ":$_fake_target_name" ]
sources = _sources
outputs = [
"$_imageset_dir/{{source_file_part}}",
]
}
action(_fake_target_name) {
forward_variables_from(invoker, [ "testonly" ])
visibility = [ ":$_data_target_name" ]
script = "//build/config/ios/dummy.py"
sources = _sources
outputs = [
"$_xcassets_dir",
]
public_deps = [
":$_copy_target_name",
]
args = rebase_path(sources, root_build_dir) +
rebase_path(outputs, root_build_dir)
}
bundle_data(_data_target_name) {
forward_variables_from(invoker,
"*",
[
"deps",
"outputs",
"public_deps",
"sources",
])
sources = get_target_outputs(":$_copy_target_name")
outputs = [
"{{bundle_resources_dir}}/{{source_file_part}}",
]
public_deps = [
":$_fake_target_name",
]
}
}
}
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/chrome_build.gni") import("//build/config/chrome_build.gni")
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
import("//build/config/ios/rules.gni") import("//build/config/ios/rules.gni")
import("//build/config/locales.gni") import("//build/config/locales.gni")
import("//ios/chrome/app/resources/ios_chrome_repack.gni") import("//ios/chrome/app/resources/ios_chrome_repack.gni")
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("autofill_close") { imageset("autofill_close") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("activity_services_print") { imageset("activity_services_print") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("signin_confirmation_more") { imageset("signin_confirmation_more") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("bookmark_bar_innershadow") { imageset("bookmark_bar_innershadow") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("content_suggestions_no_image") { imageset("content_suggestions_no_image") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("expand_less") { imageset("expand_less") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
import("//build/config/ios/rules.gni") import("//build/config/ios/rules.gni")
source_set("downloads") { source_set("downloads") {
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("find_prev_disabled_incognito") { imageset("find_prev_disabled_incognito") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
source_set("first_run") { source_set("first_run") {
configs += [ "//build/config/compiler:enable_arc" ] configs += [ "//build/config/compiler:enable_arc" ]
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("infobar_warning") { imageset("infobar_warning") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("ntp_mv_thumbnail_container") { imageset("ntp_mv_thumbnail_container") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("omnibox_transparent_background") { imageset("omnibox_transparent_background") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("ptr_reload_active") { imageset("ptr_reload_active") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("popup_background") { imageset("popup_background") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
source_set("qr_scanner") { source_set("qr_scanner") {
configs += [ "//build/config/compiler:enable_arc" ] configs += [ "//build/config/compiler:enable_arc" ]
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("reading_list_share_icon") { imageset("reading_list_share_icon") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("custom_row_voice_pressed") { imageset("custom_row_voice_pressed") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("fatal_error") { imageset("fatal_error") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("app_icon_placeholder") { imageset("app_icon_placeholder") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("side_swipe_navigation_back") { imageset("side_swipe_navigation_back") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("border_frame_bottom") { imageset("border_frame_bottom") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("tabswitcher_full_history") { imageset("tabswitcher_full_history") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("tabstrip_background_tab") { imageset("tabstrip_background_tab") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("keyboard_accessory_voice_search") { imageset("keyboard_accessory_voice_search") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("collapse_incognito") { imageset("collapse_incognito") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("infobar_update") { imageset("infobar_update") {
sources = [ sources = [
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
imageset("quick_action_search") { imageset("quick_action_search") {
sources = [ sources = [
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/chrome_build.gni") import("//build/config/chrome_build.gni")
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
import("//build/config/ios/rules.gni") import("//build/config/ios/rules.gni")
import("//remoting/build/config/remoting_build.gni") import("//remoting/build/config/remoting_build.gni")
import("//remoting/remoting_locales.gni") import("//remoting/remoting_locales.gni")
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
# Use of this source code is governed by a BSD-style license that can be # Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file. # found in the LICENSE file.
import("//build/config/ios/imageset.gni") import("//build/config/ios/asset_catalog.gni")
# List all resources used by Chrome on iOS (including those used by the private # List all resources used by Chrome on iOS (including those used by the private
# downstream repository). Not all resources are listed as there are thousands # downstream repository). Not all resources are listed as there are thousands
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment