blob: 30883431db08ef90e49e6ffc559b630e96b5f020 [file] [log] [blame]
# Copyright 2021 The Fuchsia 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("//build/images/args.gni")
import("//src/sys/pkg/bin/package-tool/package-tool.gni")
# Builds a package archive from a fuchsia_package() target.
#
# This target only generates an archive for $target_toolchain because the
# fuchsia_package() it depends on is also only built for $target_toolchain. For
# other toolchains, the $target_toolchain archive is simply copied into the
# output directory as a placeholder so that dependent targets can consume it.
#
# Parameters
#
# package (required)
# A fuchsia_package() target defined earlier in the same file.
# Type: label
#
# testonly
# visibility
template("fuchsia_package_archive") {
assert(defined(invoker.package), "package is required")
if (current_toolchain == target_toolchain) {
package_tool_archive_create(target_name) {
forward_variables_from(invoker, "*")
}
} else {
# Hack. See this target's documentation.
copy(target_name) {
forward_variables_from(invoker,
[
"testonly",
"visibility",
"applicable_licenses",
])
sources = [ "$target_out_dir/$target_name.far" ]
outputs = [ "$target_out_dir/$target_name.far" ]
deps = [ ":${target_name}($target_toolchain)" ]
}
# Suppress unused variable warnings.
not_needed(invoker, "*")
}
}