chromium/ios/chrome/content_widget_extension/appex/BUILD.gn

# Copyright 2023 The Chromium Authors
# 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/config/ios/ios_sdk_overrides.gni")
import("//build/config/ios/rules.gni")
import("//ios/build/chrome_build.gni")
import("//ios/build/config.gni")

assert(ios_deployment_target == "13.4",
       "content_widget_extension must target iOS 13.4")

assert(
    ios_enable_content_widget_extension,
    "ios_enable_content_widget_extension must be true to depend on //ios/chrome/content_widget_extension")

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/content_widget_extension.appex.entitlements"
  entitlements_templates =
      [ "entitlements/external/content_widget_extension.appex.entitlements" ]
}

ios_appex_bundle("appex") {
  output_name = "content_widget_extension"
  deps = [
    "//ios/chrome/content_widget_extension:content_widget",
    "//ios/chrome/content_widget_extension:system_strings",
  ]
  if (ios_app_extension_privacy_manifest != "") {
    deps += [ ":privacy_manifest" ]
  }

  extra_substitutions = [
    "CHROME_CHANNEL_SCHEME=$url_channel_scheme",
    "CHROMIUM_SHORT_NAME=$chromium_short_name",
  ]

  assert_no_deps = ios_extension_assert_no_deps

  entitlements_target = ":entitlements"
  info_plist_target = ":tweak_info_plist"
  bundle_identifier = "$ios_chromium_bundle_id.ContentTodayExtension"
}

if (ios_app_extension_privacy_manifest != "") {
  bundle_data("privacy_manifest") {
    sources = [ ios_app_extension_privacy_manifest ]
    outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
  }
}