| # Copyright 2021 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("./node.gni") |
| |
| template("devtools_pre_built") { |
| node_action(target_name) { |
| forward_variables_from(invoker, |
| [ |
| "sources", |
| "deps", |
| ]) |
| |
| script = "scripts/build/ninja/copy-files.js" |
| |
| public_deps = invoker.deps |
| |
| _copy_src = rebase_path(get_path_info(target_name, "dir"), root_build_dir) |
| _copy_dest = rebase_path(target_gen_dir, root_build_dir) |
| |
| args = [ |
| _copy_src, |
| _copy_dest, |
| string_join(",", sources), |
| ] |
| |
| outputs = [] |
| foreach(_source, sources) { |
| outputs += [ "$target_gen_dir/$_source" ] |
| } |
| |
| _javascript_implementation_files = invoker.data + filter_include(outputs, |
| [ |
| "*.js", |
| "*.mjs", |
| ]) |
| _javascript_map_files = filter_include(outputs, [ "*.map" ]) |
| |
| data = _javascript_implementation_files + _javascript_map_files |
| |
| if (invoker.sources_are_release || is_debug) { |
| metadata = { |
| grd_files = _javascript_implementation_files |
| } |
| } |
| } |
| } |
| |
| set_defaults("devtools_pre_built") { |
| deps = [] |
| data = [] |
| sources_are_release = true |
| } |