blob: 881ed882597fb597d574c3b62e89e81afea5c9fe [file] [log] [blame]
# Copyright 2020 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("//tools/cmc/build/cml.gni")
import("resource.gni")
# Prepares some component manifest files for inclusion in a ZBI.
#
# Parameters
#
# sources
# Required: List of paths to .cml meta files
#
# deps
# testonly
# visibility
template("component_manifest_resources") {
assert(defined(invoker.sources), "Must set some sources")
compile_deps = []
compile_outputs = []
foreach(source, invoker.sources) {
extension = get_path_info(source, "extension")
assert(extension == "cml", "Only .cml files are supported: $source")
name = get_path_info(source, "name")
compile_target = "${name}.cm"
cm(compile_target) {
forward_variables_from(invoker,
[
"deps",
"public_deps",
"data_deps",
"testonly",
])
manifest = source
output_name = "$name.cm"
visibility = [ ":*" ]
}
compile_deps += [ ":$compile_target" ]
compile_outputs += get_target_outputs(":$compile_target")
}
resource(target_name) {
forward_variables_from(invoker,
[
"testonly",
"visibility",
])
sources = compile_outputs
outputs = [ "meta/{{source_file_part}}" ]
deps = compile_deps
}
}