blob: c75b299670cc5d2378a25a386d61d12f7f5f44f4 [file] [log] [blame]
# Copyright 2017 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.
# Generates a credits HTML file, based on the third-party dependencies of
# a provided GN target.
# Parameters:
# gn_target: The target whose dependencies should be listed in the credits.
# credits_gen_dir: Directory (without trailing slash) where the generated
# HTML will be placed, together with the copied JSS+CS files.
template("remoting_credits") {
_credits_source_dir = "//remoting/credits"
action("${target_name}__generate") {
# Generate credits.html in a temporary location, so it can be copied into
# the final location - see comment for 'copy' target.
_credits_html_file = "$target_gen_dir/$target_name/credits.html"
_credits_template = "$_credits_source_dir/credits.tmpl"
_credits_entry_template = "$_credits_source_dir/credits_entry.tmpl"
script = "//tools/licenses.py"
depfile = "$target_gen_dir/$target_name.d"
inputs = [
_credits_template,
_credits_entry_template,
]
outputs = [
_credits_html_file,
]
args = [
"credits",
rebase_path(_credits_html_file, root_build_dir),
"--file-template",
rebase_path(_credits_template, root_build_dir),
"--entry-template",
rebase_path(_credits_entry_template, root_build_dir),
"--depfile",
rebase_path(depfile, root_build_dir),
"--gn-target",
invoker.gn_target,
"--gn-out-dir",
".",
]
}
# This target purposefully copies the generated HTML file (instead of
# directly generating the HTML file into credits_gen_dir), so that the caller
# can use get_target_outputs(:target_name) and the HTML file will be
# included in the returned list along with the JS+CSS files.
copy(target_name) {
_generate_target = ":${target_name}__generate"
_credits_gen_dir = invoker.credits_gen_dir
sources = [
"$_credits_source_dir/credits_css.css",
"$_credits_source_dir/credits_js.js",
] + get_target_outputs(_generate_target)
outputs = [
"$_credits_gen_dir/{{source_file_part}}",
]
deps = [
_generate_target,
]
}
}