summaryrefslogtreecommitdiff
path: root/chromium/ios/chrome/share_extension/BUILD.gn
blob: c1ff17d170669458cca643650350971a27304455 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# Copyright 2016 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/config/ios/rules.gni")
import("//build/config/locales.gni")
import("//build/config/mac/base_rules.gni")
import("//build/mac/tweak_info_plist.gni")
import("//ios/build/chrome_build.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")

group("resources") {
  deps = [
    "//ios/chrome/share_extension/strings",
  ]
}

extension_repack_all_locales("packed_resources") {
  extension = "share_extension"
  input_locales = ios_packed_locales
  output_locales = ios_packed_locales_as_mac_outputs
}

tweak_info_plist("tweak_info_plist") {
  info_plist = "Info.plist"
}

compile_plist("entitlements") {
  format = "xml1"
  substitutions = [ "IOS_BUNDLE_ID_PREFIX=$ios_app_bundle_id_prefix" ]
  output_name = "$target_gen_dir/share_extension.appex.entitlements"
  plist_templates =
      [ "entitlements/external/share_extension.appex.entitlements" ]
}

ios_appex_bundle("share_extension") {
  sources = [
    "share_extension_view.h",
    "share_extension_view.mm",
    "share_view_controller.h",
    "share_view_controller.mm",
    "ui_util.h",
    "ui_util.mm",
  ]

  configs += [ "//build/config/compiler:enable_arc" ]

  deps = [
    ":system_strings",
    "//base",
    "//ios/chrome/common/app_group",
    "//ios/chrome/common/app_group:client",
  ]
  bundle_deps_filter = [ "//third_party/icu:icudata" ]

  libs = [
    "Foundation.framework",
    "Social.framework",
    "CoreGraphics.framework",
    "MobileCoreServices.framework",
    "UIKit.framework",
  ]

  extra_substitutions = [
    "CHROME_CHANNEL_SCHEME=$url_channel_scheme",
    "CHROMIUM_SHORT_NAME=$chromium_short_name",
    "SHARE_EXTENSION_BUNDLE_ID=$chromium_bundle_id.ShareExtension",
  ]

  entitlements_target = ":entitlements"
  info_plist_target = ":tweak_info_plist"
}

generate_localizable_strings("system_strings") {
  visibility = [ ":*" ]
  _packed_resources_target = ":packed_resources"
  config_file = "share_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 = [ "Localizable.strings" ]
  deps = [
    _packed_resources_target,
  ]
}