# 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 = [] foreach(_out, invoker.html_out_files) { outputs += [ "$target_gen_dir/$_out" ] } if (defined(invoker.html_out_files_polymer2)) { foreach(_out, invoker.html_out_files_polymer2) { 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 += [ "--html_in_files" ] + invoker.html_in_files args += [ "--html_out_files" ] + invoker.html_out_files if (defined(invoker.html_out_files_polymer2)) { args += [ "--html_out_files_polymer2" ] + invoker.html_out_files_polymer2 } args += [ "--js_out_files" ] + invoker.js_out_files if (defined(invoker.excludes)) { args += [ "--exclude" ] + invoker.excludes } if (defined(invoker.insert_in_head)) { args += [ "--insert_in_head", invoker.insert_in_head, ] } } } template("polymer_css_build") { node(target_name) { script = "//chrome/browser/resources/polymer_css_build_gn.py" # Input and outputs files must be in the same order. inputs = [] foreach(_input, invoker.input_files) { inputs += [ "$target_gen_dir/$_input" ] } outputs = [] foreach(_output, invoker.output_files) { outputs += [ "$target_gen_dir/$_output" ] } deps = invoker.deps args = [ "--out_folder", rebase_path(target_gen_dir, root_build_dir), "--input_files", ] + invoker.input_files + [ "--output_files" ] + invoker.output_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), ] } }