# 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.
# Generates a manifest.json with some arguments.
template("manifest") {
version_file = "//chrome/VERSION"
version_script = "//build/util/version.py"
template_file = invoker.input_file
output_file = invoker.output_file
key = invoker.key
action(target_name) {
script =
"//chrome/browser/resources/accessibility/tools/generate_manifest.py"
inputs = [
version_file,
version_script,
]
sources = [ template_file ]
outputs = [ output_file ]
data = [ output_file ]
args = [
"--key=$key",
"--version_file=" + rebase_path(version_file, root_build_dir),
"--output_manifest=" + rebase_path(output_file, root_build_dir),
]
if (defined(invoker.is_guest_manifest) && invoker.is_guest_manifest) {
args += [ "--is_guest_manifest=1" ]
}
if (defined(invoker.is_manifest_v3) && invoker.is_manifest_v3) {
args += [ "--is_manifest_v3=1" ]
}
args += rebase_path(sources, root_build_dir)
}
}
template("manifest_variants") {
basic_manifest_target_name = "${target_name}__basic_manifest"
manifest_targets = [ ":$basic_manifest_target_name" ]
manifest(basic_manifest_target_name) {
forward_variables_from(invoker,
[
"input_file",
"key",
])
output_file = invoker.output_dir + "/" + invoker.output_name + ".json"
}
if (invoker.make_guest) {
guest_manifest_target_name = "${target_name}__guest_manifest"
manifest_targets += [ ":$guest_manifest_target_name" ]
manifest(guest_manifest_target_name) {
forward_variables_from(invoker,
[
"input_file",
"key",
])
output_file =
invoker.output_dir + "/" + invoker.output_name + "_guest.json"
is_guest_manifest = true
}
}
if (invoker.make_v3) {
v3_manifest_target_name = "${target_name}__v3_manifest"
manifest_targets += [ ":$v3_manifest_target_name" ]
manifest(v3_manifest_target_name) {
forward_variables_from(invoker,
[
"input_file",
"key",
])
output_file = invoker.output_dir + "/" + invoker.output_name + "_v3.json"
is_manifest_v3 = true
}
}
if (invoker.make_guest && invoker.make_v3) {
guest_v3_manifest_target_name = "${target_name}__guest_v3_manifest"
manifest_targets += [ ":$guest_v3_manifest_target_name" ]
manifest(guest_v3_manifest_target_name) {
forward_variables_from(invoker,
[
"input_file",
"key",
])
output_file =
invoker.output_dir + "/" + invoker.output_name + "_guest_v3.json"
is_guest_manifest = true
is_manifest_v3 = true
}
}
group(target_name) {
deps = manifest_targets
}
}