51 lines
1.6 KiB
Text
51 lines
1.6 KiB
Text
# Copyright 2021 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("//chromium/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)",
|
|
]
|
|
}
|
|
}
|