123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191 |
- # Copyright 2020 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/compile_entitlements.gni")
- import("//build/apple/tweak_info_plist.gni")
- import("//build/buildflag_header.gni")
- import("//build/config/ios/rules.gni")
- import("//build/config/locales.gni")
- import("//ios/build/chrome_build.gni")
- import("//ios/build/config.gni")
- import("//ios/chrome/extension_repack.gni")
- import("//ios/chrome/tools/strings/generate_localizable_strings.gni")
- import("//ios/public/provider/chrome/browser/build_config.gni")
- assert(
- ios_enable_credential_provider_extension,
- "ios_enable_credential_provider_extension must be true to depend on //ios/chrome/credential_provider_extension")
- group("resources") {
- deps = [ "//ios/chrome/credential_provider_extension/strings" ]
- }
- extension_repack_all_locales("packed_resources") {
- extension = "credential_provider_extension"
- input_locales = platform_pak_locales
- output_locales = locales_as_apple_outputs
- }
- tweak_info_plist("tweak_info_plist") {
- info_plist = "Info.plist"
- }
- compile_entitlements("entitlements") {
- substitutions = [
- "IOS_BUNDLE_ID_PREFIX=$ios_app_bundle_id_prefix",
- "CHROMIUM_BUNDLE_ID=$chromium_bundle_id",
- ]
- output_name =
- "$target_gen_dir/credential_provider_extension.appex.entitlements"
- entitlements_templates = [
- "entitlements/external/credential_provider_extension.appex.entitlements",
- ]
- if (ios_chrome_cpe_entitlements_additions != []) {
- entitlements_templates += ios_chrome_cpe_entitlements_additions
- }
- }
- ios_appex_bundle("credential_provider_extension") {
- sources = [
- "credential_provider_view_controller.h",
- "credential_provider_view_controller.mm",
- ]
- configs += [ "//build/config/compiler:enable_arc" ]
- deps = [
- ":account_verification_provider",
- ":metrics_util",
- ":password_util",
- ":reauthentication_handler",
- ":system_strings",
- "//base",
- "//ios/chrome/common/app_group",
- "//ios/chrome/common/app_group:client",
- "//ios/chrome/common/crash_report",
- "//ios/chrome/common/credential_provider",
- "//ios/chrome/common/credential_provider:ui",
- "//ios/chrome/common/ui/colors",
- "//ios/chrome/common/ui/confirmation_alert",
- "//ios/chrome/common/ui/reauthentication",
- "//ios/chrome/credential_provider_extension/resources",
- "//ios/chrome/credential_provider_extension/ui",
- "//ios/chrome/credential_provider_extension/ui:feature_flags",
- ]
- bundle_deps_filter = [ "//third_party/icu:icudata" ]
- assert_no_deps = ios_extension_assert_no_deps
- frameworks = [
- "AuthenticationServices.framework",
- "Foundation.framework",
- "UIKit.framework",
- ]
- extra_substitutions = [
- "CHROME_CHANNEL_SCHEME=$url_channel_scheme",
- "CHROMIUM_SHORT_NAME=$chromium_short_name",
- "CHROMIUM_BUNDLE_ID=$chromium_bundle_id",
- ]
- entitlements_target = ":entitlements"
- info_plist_target = ":tweak_info_plist"
- bundle_identifier = "$chromium_bundle_id.CredentialProviderExtension"
- }
- generate_localizable_strings("system_strings") {
- visibility = [
- ":*",
- "//ios/showcase:*",
- ]
- _packed_resources_target = ":packed_resources"
- config_file = "credential_provider_extension_localize_strings_config.plist"
- datapack_dir = get_label_info(_packed_resources_target, "target_gen_dir")
- packed_locales = locales_as_apple_outputs
- output_filenames = [ "Localizable.strings" ]
- deps = [ _packed_resources_target ]
- }
- source_set("unit_tests") {
- testonly = true
- sources = [ "metrics_util_unittest.mm" ]
- deps = [
- ":metrics_util",
- "//base",
- "//base/test:test_support",
- "//ios/chrome/common/app_group",
- "//testing/gtest",
- ]
- configs += [ "//build/config/compiler:enable_arc" ]
- }
- source_set("reauthentication_handler") {
- sources = [
- "reauthentication_handler.h",
- "reauthentication_handler.mm",
- ]
- configs += [ "//build/config/compiler:enable_arc" ]
- deps = [
- "//base",
- "//ios/chrome/common/app_group",
- "//ios/chrome/common/app_group:command",
- "//ios/chrome/common/ui/reauthentication",
- ]
- }
- buildflag_header("password_spec_fetcher_buildflags") {
- header = "password_spec_fetcher_buildflags.h"
- flags = [ "GOOGLE_API_KEY=@\"$ios_credential_provider_extension_api_key\"" ]
- }
- source_set("password_util") {
- sources = [
- "password_util.h",
- "password_util.mm",
- ]
- configs += [ "//build/config/compiler:enable_arc" ]
- deps = [
- "//base",
- "//ios/chrome/common/app_group",
- "//ios/chrome/credential_provider_extension:metrics_util",
- "//ios/components/credential_provider_extension:password_util",
- ]
- frameworks = [ "Foundation.framework" ]
- }
- source_set("metrics_util") {
- sources = [
- "metrics_util.h",
- "metrics_util.mm",
- ]
- configs += [ "//build/config/compiler:enable_arc" ]
- deps = [
- "//base",
- "//ios/chrome/common/app_group",
- ]
- frameworks = [ "Foundation.framework" ]
- }
- source_set("account_verification_provider") {
- public_deps = [ ":account_verification_provider_header" ]
- deps = [ ios_account_verification_provider_target ]
- assert_no_deps = [ "//ios/chrome/browser/*" ]
- configs += [ "//build/config/compiler:enable_arc" ]
- frameworks = [ "Foundation.framework" ]
- }
- source_set("account_verification_provider_header") {
- sources = [ "account_verification_provider.h" ]
- assert_no_deps = [ "//ios/chrome/browser/*" ]
- configs += [ "//build/config/compiler:enable_arc" ]
- frameworks = [ "Foundation.framework" ]
- }
- source_set("account_verification_provider_implementation") {
- sources = [ "account_verification_provider.mm" ]
- deps = [ ":account_verification_provider_header" ]
- assert_no_deps = [ "//ios/chrome/browser/*" ]
- configs += [ "//build/config/compiler:enable_arc" ]
- frameworks = [ "Foundation.framework" ]
- }
|