# Copyright 2018 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/assemble_system.gni")
import("//build/testing/host_test_data.gni")

assemble_system("overnet") {
  base_packages = [
    "//garnet/bin/run",
    "//garnet/bin/trace",
    "//garnet/bin/vsock_service:vsock_service",
    "//src/sys/appmgr",
    "//src/sys/appmgr:appmgr_scheme_config",
    "//src/sys/appmgr:component_id_index_no_restrict_storage",
    "//src/sys/core",
    "//src/sys/sysmgr",
    "//src/sys/sysmgr:services_config",
    "//src/connectivity/overnet/overnetstack",
    "//src/connectivity/overnet/overnetstack:overnetstack_config",
    "//src/connectivity/overnet/tools/debug-serial",
    "//src/sys/pkg/bin/system-update-committer",
  ]
  bootfs_labels = [
    "//build/info:bootfs",
    "//bundles:bootstrap",
    "//bundles:debugging",
    "//bundles/bringup:manual_testing",
    "//bundles/drivers:bootstrap",
    "//bundles/drivers:usb-host-stack",
    "//bundles/drivers:usb-peripheral-stack",
    "//bundles/drivers:utils",
  ]
  bootfs_labels += [
    "//src/sys/component_manager:component_manager_bootfs_config",
    "//src/power/power-manager:base_config",
  ]
  ramdisk_fvm_in_zbi = true
}

if (is_host) {
  host_test_data("test_data") {
    out_dir = get_label_info(":anything($target_toolchain)", "target_out_dir")
    sources = [ "${out_dir}/overnet.zbi" ]
    deps = [ "//build/images/overnet($target_toolchain)" ]
  }
}
