# 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. import("//build/config/python.gni") template("node") { # TODO(crbug.com/1112471): Get this to run cleanly under Python 3. python2_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 || is_chromeos) { 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" # This depfile is generated by optimize_webui.py depfile = "${target_gen_dir}/${target_name}.d" inputs = [] 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), "--gen_dir_relpath", rebase_path(root_gen_dir, 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 } if (defined(invoker.out_manifest)) { args += [ "--out-manifest", rebase_path(invoker.out_manifest, root_build_dir), ] outputs += [ invoker.out_manifest ] } } }