blob: 006d5ac2d55059c1016d1b9340bf5420d9026cb1 [file] [log] [blame]
# 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("//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)",
]
}
}