| # 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", |
| rebase_path(root_build_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, |
| ] |
| } |
| } |