# Copyright 2019 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.

declare_args() {
  netcfg_autostart = true
}

group("management") {
  testonly = true
  deps = [
    ":tests",
    "network-manager",
    "network-manager-cli",
    "reachability",
  ]
}

group("netcfg") {
  deps = [ "//src/connectivity/network/netcfg" ]

  if (netcfg_autostart) {
    deps += [ "//src/connectivity/network/netcfg/sysmgr:config" ]
  }
}

group("network_config_default") {
  deps = [
    ":netcfg",
    "//src/connectivity/network/netcfg:config-default",
  ]
}

group("network_config_no_ssh_over_wlan") {
  deps = [
    ":netcfg",
    "//src/connectivity/network/netcfg:config-no-ssh-over-wlan",
  ]
}

group("tests") {
  testonly = true
  deps = [
    "network-manager:tests",
    "network-manager-cli:tests",
    "reachability:tests",
    "tests",
  ]
}
