39 lines
1.4 KiB
Plaintext
39 lines
1.4 KiB
Plaintext
# 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" ]
|
|
}
|
|
}
|