blob: 6a6ddfdbda3723eb147c1937bf47d305016203f4 [file] [log] [blame]
# Copyright 2022 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/components.gni")
import("//build/config.gni")
# Define a session manager package with a provided configuration file.
#
# Parameters
#
# `config` (required, string): path to a JSON configuration file configuring startup URL.
#
# `package_name` (optional, string): name of the package to create, defaults to `session_manager`.
template("session_manager_package") {
assert(defined(invoker.config),
"must define `config` as a path to JSON file with startup config")
package_name = "session_manager"
if (defined(invoker.package_name)) {
package_name = invoker.package_name
}
component_target = "${target_name}_component"
config_target = "${target_name}_config"
manifest_target = "${target_name}_manifest_compile"
fuchsia_component_manifest(manifest_target) {
manifest = "//src/session/bin/session_manager/meta/session_manager.cml"
component_name = "session_manager"
}
fuchsia_component(component_target) {
cm_label = ":${manifest_target}"
deps = [ "//src/session/bin/session_manager:bin" ]
}
fuchsia_structured_config_values(config_target) {
cm_label = ":${manifest_target}"
values_source = invoker.config
}
fuchsia_package(target_name) {
package_name = package_name
deps = [
":${component_target}",
":${config_target}",
]
}
}