# 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
}
