blob: d05057cb7966689d2b37c6a0a5cd44ea40e5abde [file] [log] [blame]
# 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.
import("//build/apple/tweak_info_plist.gni")
import("//build/config/ios/rules.gni")
import("//build/config/locales.gni")
import("//build/config/mac/base_rules.gni")
import("//ios/build/chrome_build.gni")
import("//ios/build/config.gni")
import("//ios/chrome/tools/strings/generate_localizable_strings.gni")
import("//tools/grit/repack.gni")
tweak_info_plist("tweak_info_plist") {
info_plist = "Info.plist"
}
compile_entitlements("entitlements") {
substitutions = [ "IOS_BUNDLE_ID_PREFIX=$ios_app_bundle_id_prefix" ]
output_name = "$target_gen_dir/search_widget_extension.appex.entitlements"
entitlements_templates =
[ "entitlements/external/search_widget_extension.appex.entitlements" ]
}
ios_appex_bundle("search_widget_extension") {
deps = [
":search_widget",
":system_strings",
"resources:quick_action_incognito_search",
"resources:quick_action_scan_qr_code",
"resources:quick_action_search",
"resources:quick_action_voice_search",
]
assert_no_deps = ios_extension_assert_no_deps
extra_substitutions = [
"CHROME_CHANNEL_SCHEME=$url_channel_scheme",
"CHROMIUM_SHORT_NAME=$chromium_short_name",
"WIDGET_EXTENSION_BUNDLE_ID=$chromium_bundle_id.TodayExtension",
]
entitlements_target = ":entitlements"
info_plist_target = ":tweak_info_plist"
xcode_product_bundle_id = "$chromium_bundle_id.TodayExtension"
}
source_set("search_widget") {
sources = [
"copied_content_view.h",
"copied_content_view.mm",
"search_action_view.h",
"search_action_view.mm",
"search_widget_constants.h",
"search_widget_constants.mm",
"search_widget_view.h",
"search_widget_view.mm",
"search_widget_view_controller.h",
"search_widget_view_controller.mm",
]
deps = [
"//base",
"//components/open_from_clipboard:open_from_clipboard_impl",
"//ios/chrome/common/app_group",
"//ios/chrome/common/app_group:command",
"//ios/chrome/common/ui/elements",
"//ios/chrome/common/ui/util",
]
frameworks = [
"Foundation.framework",
"NotificationCenter.framework",
"UIKit.framework",
]
assert_no_deps = [ "//ios/chrome/browser" ]
configs += [ "//build/config/compiler:enable_arc" ]
}
source_set("unit_tests") {
testonly = true
sources = [ "search_widget_view_controller_unittest.mm" ]
deps = [
":search_widget",
"//testing/gtest",
]
configs += [ "//build/config/compiler:enable_arc" ]
}
repack_locales("packed_resources") {
input_locales = ios_packed_locales
output_locales = ios_packed_locales_as_mac_outputs
source_patterns = [
"$root_gen_dir/ios/search_widget_extension/ios_search_widget_extension_strings_",
"$root_gen_dir/ios/search_widget_extension/ios_search_widget_extension_${branding_path_component}_strings_",
]
deps = [
"//ios/chrome/search_widget_extension/strings:ios_search_widget_extension_${branding_path_component}_strings",
"//ios/chrome/search_widget_extension/strings:ios_search_widget_extension_strings",
]
}
generate_localizable_strings("system_strings") {
visibility = [ ":*" ]
_packed_resources_target = ":packed_resources"
config_file = "search_widget_extension_localize_strings_config.plist"
datapack_dir = get_label_info(_packed_resources_target, "target_gen_dir")
packed_locales = ios_packed_locales_as_mac_outputs
output_filenames = [
"InfoPlist.strings",
"Localizable.strings",
]
deps = [
"//ios/chrome/search_widget_extension/strings:ios_search_widget_extension_chromium_strings",
# Depends on both branding strings target to ensure the proper .h exists
# (the .plist configuration can only reference one of them, and their
# content is identical).
"//ios/chrome/search_widget_extension/strings:ios_search_widget_extension_google_chrome_strings",
_packed_resources_target,
]
}