# 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, ] } }