# Copyright 2021 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_plist.gni") # Template to merge multiple .entitlements files performing variable # substitutions. # # Arguments # # entitlements_templates: # string array, paths to entitlements files which will be used for the # bundle. # # substitutions: # string array, 'key=value' pairs used to replace ${key} by value # when generating the output plist file. # # output_name: # string, name of the generated entitlements file. template("compile_entitlements") { assert(defined(invoker.entitlements_templates), "A list of template plist files must be specified for $target_name") compile_plist(target_name) { forward_variables_from(invoker, "*", [ "entitlements_templates", "format", "plist_templates", ]) plist_templates = invoker.entitlements_templates # Entitlements files are always encoded in xml1. format = "xml1" # Entitlements files use unsubstitued variables, so define substitutions # to leave those variables untouched. if (!defined(substitutions)) { substitutions = [] } substitutions += [ "AppIdentifierPrefix=\$(AppIdentifierPrefix)", "CFBundleIdentifier=\$(CFBundleIdentifier)", ] } }