| # Copyright 2013 The Flutter Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| if (host_os == "win") { |
| host_executable_suffix = ".exe" |
| } else { |
| host_executable_suffix = "" |
| } |
| |
| template("executable_action") { |
| action(target_name) { |
| assert(defined(invoker.tool), "The executable tool must be specified.") |
| assert(defined(invoker.args), "The command line args must be specified.") |
| if (defined(invoker.visibility)) { |
| visibility = invoker.visibility |
| } |
| if (defined(invoker.testonly)) { |
| testonly = invoker.testonly |
| } |
| |
| script = "//build/gn_run_binary.py" |
| |
| host_executable = |
| rebase_path("${invoker.tool}${host_executable_suffix}", root_build_dir) |
| |
| if (defined(invoker.deps)) { |
| deps = invoker.deps |
| } else { |
| deps = [] |
| } |
| |
| if (defined(invoker.inputs)) { |
| inputs = invoker.inputs |
| } else { |
| inputs = [] |
| } |
| |
| outputs = invoker.outputs |
| |
| args = [ host_executable ] + invoker.args |
| } |
| } |