mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 06:16:30 +03:00
77 lines
2.5 KiB
Plaintext
77 lines
2.5 KiB
Plaintext
# 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.
|
|
|
|
# Template to merge multiple plist files and perform variable substitutions.
|
|
#
|
|
# Arguments
|
|
#
|
|
# plist_templates:
|
|
# string array, paths to plist files which will be used for the bundle.
|
|
#
|
|
# format:
|
|
# string, the format to `plutil -convert` the plist to when
|
|
# generating the output.
|
|
#
|
|
# 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 plist file.
|
|
template("compile_plist") {
|
|
assert(defined(invoker.plist_templates),
|
|
"A list of template plist files must be specified for $target_name")
|
|
assert(defined(invoker.format),
|
|
"The plist format must be specified for $target_name")
|
|
assert(defined(invoker.substitutions),
|
|
"A list of key=value pairs must be specified for $target_name")
|
|
assert(defined(invoker.output_name),
|
|
"The name of the output file must be specified for $target_name")
|
|
|
|
_output_name = invoker.output_name
|
|
_merged_name = get_path_info(_output_name, "dir") + "/" +
|
|
get_path_info(_output_name, "name") + "_merged." +
|
|
get_path_info(_output_name, "extension")
|
|
|
|
_merge_target = target_name + "_merge"
|
|
|
|
action(_merge_target) {
|
|
forward_variables_from(invoker,
|
|
[
|
|
"deps",
|
|
"testonly",
|
|
])
|
|
|
|
script = "//build/apple/plist_util.py"
|
|
sources = invoker.plist_templates
|
|
outputs = [ _merged_name ]
|
|
args = [
|
|
"merge",
|
|
"-f=" + invoker.format,
|
|
"-o=" + rebase_path(_merged_name, root_build_dir),
|
|
] + rebase_path(invoker.plist_templates, root_build_dir)
|
|
}
|
|
|
|
action(target_name) {
|
|
forward_variables_from(invoker,
|
|
[
|
|
"testonly",
|
|
"visibility",
|
|
])
|
|
script = "//build/apple/plist_util.py"
|
|
sources = [ _merged_name ]
|
|
outputs = [ _output_name ]
|
|
args = [
|
|
"substitute",
|
|
"-f=" + invoker.format,
|
|
"-o=" + rebase_path(_output_name, root_build_dir),
|
|
"-t=" + rebase_path(_merged_name, root_build_dir),
|
|
]
|
|
foreach(_substitution, invoker.substitutions) {
|
|
args += [ "-s=$_substitution" ]
|
|
}
|
|
deps = [ ":$_merge_target" ]
|
|
}
|
|
}
|