| # 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. |
| |
| template("node") { |
| action(target_name) { |
| forward_variables_from(invoker, "*") |
| |
| # Declare dependencies to all involved tools. |
| inputs += [ |
| "//third_party/node/node.py", |
| "//third_party/node/node_modules.py", |
| "//third_party/node/node_modules.tar.gz.sha1", |
| ] |
| |
| if (is_linux) { |
| inputs += [ "//third_party/node/linux/node-linux-x64.tar.gz.sha1" ] |
| } |
| if (is_win) { |
| inputs += [ "//third_party/node/win/node.exe.sha1" ] |
| } |
| if (is_mac) { |
| inputs += [ "//third_party/node/mac/node-darwin-x64.tar.gz.sha1" ] |
| } |
| } |
| } |
| |
| template("optimize_webui") { |
| node(target_name) { |
| script = "//chrome/browser/resources/optimize_webui.py" |
| |
| inputs = [ |
| "//chrome/browser/resources/unpack_pak.py", |
| ] |
| |
| # This depfile is generated by optimize_webui.py |
| depfile = "${target_gen_dir}/${target_name}.d" |
| |
| outputs = [] |
| if (defined(invoker.html_out_files)) { |
| foreach(_out, invoker.html_out_files) { |
| outputs += [ "$target_gen_dir/$_out" ] |
| } |
| } |
| foreach(_out, invoker.js_out_files) { |
| outputs += [ "$target_gen_dir/$_out" ] |
| } |
| |
| deps = invoker.deps |
| |
| # Note that we have to manually pass the sources to our script if the |
| # script needs them as inputs. |
| args = [ |
| "--host", |
| invoker.host, |
| "--input", |
| invoker.input, |
| "--out_folder", |
| rebase_path(target_gen_dir, root_build_dir), |
| "--depfile", |
| rebase_path(depfile, root_build_dir), |
| ] |
| |
| args += [ "--js_out_files" ] + invoker.js_out_files |
| |
| if (defined(invoker.excludes)) { |
| args += [ "--exclude" ] + invoker.excludes |
| } |
| |
| if (defined(invoker.html_in_files)) { |
| args += [ "--html_in_files" ] + invoker.html_in_files |
| } |
| |
| if (defined(invoker.html_out_files)) { |
| args += [ "--html_out_files" ] + invoker.html_out_files |
| } |
| |
| if (defined(invoker.insert_in_head)) { |
| args += [ |
| "--insert_in_head", |
| invoker.insert_in_head, |
| ] |
| } |
| |
| if (defined(invoker.js_module_in_files)) { |
| inputs += [ "//chrome/browser/resources/tools/rollup_plugin.js" ] |
| args += [ "--js_module_in_files" ] + invoker.js_module_in_files |
| } |
| } |
| } |
| |
| template("unpak") { |
| action(target_name) { |
| script = "//chrome/browser/resources/unpack_pak.py" |
| |
| inputs = [ |
| "$target_gen_dir/${invoker.pak_file}", |
| ] |
| |
| outputs = [ |
| "$target_gen_dir/${invoker.out_folder}/unpack.stamp", |
| ] |
| |
| deps = invoker.deps |
| |
| args = [ |
| "--out_folder", |
| rebase_path("$target_gen_dir/${invoker.out_folder}", root_build_dir), |
| "--pak_file", |
| rebase_path("$target_gen_dir/${invoker.pak_file}", root_build_dir), |
| ] |
| } |
| } |