blob: fb33bb2bd40e77ca2caf03b02bcdc88081e290f8 [file] [log] [blame]
# Copyright 2022 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
assert(is_fuchsia)
# Generates a metadata file under root_gen_dir which provides information about
# a Fuchsia package.
# Parameters:
# package_deps: An array of package_paths which specify the location of all
# .far files that the package depends on.
template("fuchsia_package_metadata") {
_pkg_dir = "$root_out_dir/gen/" + get_label_info(invoker.package, "dir") +
"/" + target_name
_pkg_path = "$_pkg_dir/${target_name}.far"
pkg_dep_paths = [ rebase_path(_pkg_path, root_build_dir) ]
if (defined(invoker.package_deps)) {
foreach(package_dep, invoker.package_deps) {
_pkg_dep_target = package_dep[0]
_pkg_dep_name = package_dep[1]
pkg_dep_path =
rebase_path(get_label_info(_pkg_dep_target, "target_gen_dir") + "/" +
_pkg_dep_name + "/" + _pkg_dep_name + ".far",
root_build_dir)
pkg_dep_paths += [ pkg_dep_path ]
}
}
pkg_metadata = "${target_name}_script_meta"
generated_file(pkg_metadata) {
forward_variables_from(invoker, TESTONLY_AND_VISIBILITY)
contents = {
packages = pkg_dep_paths
}
output_conversion = "json"
outputs = [ "$root_gen_dir/package_metadata/${invoker.target_name}.meta" ]
}
}