Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  package.gni   Sprache: unbekannt

 
# Copyright 2018 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("//third_party/fuchsia-sdk/sdk/build/component.gni")
import("//third_party/fuchsia-sdk/sdk/build/package.gni")

# DEPRECATED: Use the Fuchsia SDK's fuchsia_component() and fuchsia_package()
# templates directly, in new code.
#
# Creates a Fuchsia .far package file containing a Fuchsia component.
#
# Parameters are:
# package_name_override: Specifies the name of the package to generate,
#     if different than |target_name|.
# binary: The executable target which should be launched.
# manifest: A path to the manifest that will be used.
#     "testonly" targets default to using
#     //build/config/fuchsia/tests-with-exec.cmx.
#     Non-test targets must explicitly specify a |manifest|.
# additional_manifests: Manifest files that should be included in the package in
#     the /meta directory. This allows to package more than one component per
#     manifest. These manifest files must specify program/binary to run, which
#     is not required for the main manifest file where this parameter is added
#     during build.
# component_name_override: If set, specifies the name of the component.
#     By default, the component name is the same as the package name.
# deps: Additional targets to build and include in the package (optional).
#
# TODO(https://crbug.com/1050703): Migrate consumers to GN SDK equivalents.
template("cr_fuchsia_package") {
  assert(defined(invoker.binary))

  if (defined(invoker.package_name_override)) {
    _package_name = invoker.package_name_override
  } else {
    _package_name = invoker.target_name
  }

  _package_contents = [ invoker.binary ]
  if (defined(invoker.deps)) {
    _package_contents += invoker.deps
  }

  _component_cmx_target = target_name + "__cr-component-cmx"
  _component_target = target_name + "__cr-component"
  _package_components = [ ":${_component_target}" ]
  _component_manifest = "${target_gen_dir}/${target_name}.cmx"

  # Process the CMX fragment in |manifest| to get a full manifest.
  action(_component_cmx_target) {
    forward_variables_from(invoker,
                           [
                             "deps",
                             "testonly",
                           ])

    script = "//chromium/build/config/fuchsia/build_cmx_from_fragment.py"

    inputs = [ invoker.manifest ]
    outputs = [ _component_manifest ]

    args = [
      "--cmx-fragment",
      rebase_path(invoker.manifest),
      "--cmx",
      rebase_path(_component_manifest),
      "--program",
      get_label_info(invoker.binary, "name"),
    ]
  }

  # Declare the primary component for this package.
  fuchsia_component(_component_target) {
    forward_variables_from(invoker, [ "testonly" ])

    deps = [ ":${_component_cmx_target}" ]
    data_deps = _package_contents
    manifest = _component_manifest

    if (defined(invoker.component_name_override)) {
      manifest_output_name = "${invoker.component_name_override}"
    } else {
      manifest_output_name = "${_package_name}"
    }
  }

  # Bundle manifests providing additional entrypoints into the package.
  if (defined(invoker.additional_manifests)) {
    foreach(filename, invoker.additional_manifests) {
      _additional_component_target =
          target_name + "_" + get_path_info(filename, "name")
      _package_components += [ ":${_additional_component_target}" ]
      fuchsia_component(_additional_component_target) {
        forward_variables_from(invoker, [ "testonly" ])
        data_deps = _package_contents
        manifest = filename

        # Depend upon the invoker's |deps|, in case they include a dependency
        # responsible for generating this additional component's manifest file.
        deps = _package_contents
      }
    }
  }

  fuchsia_package(target_name) {
    forward_variables_from(invoker, [ "testonly" ])
    package_name = _package_name
    if (defined(invoker.excluded_files)) {
      excluded_files = invoker.excluded_files
    }
    deps = _package_components
  }
}

[ Dauer der Verarbeitung: 0.18 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


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