Quelle  generate_wrapper.gni   Sprache: unbekannt

 
Spracherkennung für: .gni vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

# Copyright 2019 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.

# Wraps a target and any of its arguments to an executable script.
#
# Many executable targets have build-time-constant arguments. This
# template allows those to be wrapped into a single, user- or bot-friendly
# script at build time.
#
# Paths to be wrapped should be relative to root_build_dir and should be
# wrapped in "@WrappedPath(...)"; see Example below.
#
# Variables:
#   generator_script: Path to the script to use to perform the wrapping.
#     Defaults to //build/util/generate_wrapper.py. Generally should only
#     be set by other templates.
#   wrapper_script: Output path.
#   executable: Path to the executable to wrap. Can be a script or a
#     build product. Paths can be relative to the containing gn file
#     or source-absolute.
#   executable_args: List of arguments to write into the wrapper.
#   use_vpython3: If true, invoke the generated wrapper with vpython3 instead
#     of vpython.
#
# Example wrapping a checked-in script:
#   generate_wrapper("sample_wrapper") {
#     executable = "//for/bar/sample.py"
#     wrapper_script = "$root_build_dir/bin/run_sample"
#
#     _sample_argument_path = "//sample/$target_cpu/lib/sample_lib.so"
#     _rebased_sample_argument_path = rebase_path(
#         _sample_argument_path,
#         root_build_dir)
#     executable_args = [
#       "--sample-lib", "@WrappedPath(${_rebased_sample_argument_path})",
#     ]
#   }
#
# Example wrapping a build product:
#   generate_wrapper("sample_wrapper") {
#     executable = "$root_build_dir/sample_build_product"
#     wrapper_script = "$root_build_dir/bin/run_sample_build_product"
#   }
template("generate_wrapper") {
  _generator_script = "//chromium/build/util/generate_wrapper.py"
  if (defined(invoker.generator_script)) {
    _generator_script = invoker.generator_script
  }
  _executable_to_wrap = invoker.executable
  _wrapper_script = invoker.wrapper_script
  if (is_win) {
    _wrapper_script += ".bat"
  }
  if (defined(invoker.executable_args)) {
    _wrapped_arguments = invoker.executable_args
  } else {
    _wrapped_arguments = []
  }

  action(target_name) {
    forward_variables_from(invoker,
                           TESTONLY_AND_VISIBILITY + [
                                 "data",
                                 "data_deps",
                                 "deps",
                                 "sources",
                               ])
    script = _generator_script
    if (!defined(data)) {
      data = []
    }
    data += [ _wrapper_script ]
    outputs = [ _wrapper_script ]

    _rebased_executable_to_wrap =
        rebase_path(_executable_to_wrap, root_build_dir)
    _rebased_wrapper_script = rebase_path(_wrapper_script, root_build_dir)
    if (is_win) {
      _script_language = "batch"
    } else {
      _script_language = "bash"
    }
    args = [
      "--executable",
      "@WrappedPath(${_rebased_executable_to_wrap})",
      "--wrapper-script",
      _rebased_wrapper_script,
      "--output-directory",
      rebase_path(root_build_dir, root_build_dir),
      "--script-language",
      _script_language,
    ]

    if (defined(invoker.use_vpython3) && invoker.use_vpython3) {
      args += [ "--use-vpython3" ]
    }
    args += [ "--" ]
    args += _wrapped_arguments

    if (defined(invoker.write_runtime_deps)) {
      write_runtime_deps = invoker.write_runtime_deps
    }
  }
}

[ Dauer der Verarbeitung: 0.46 Sekunden  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge