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

source_set("modular_config") {
  sources = [
    "modular_config.cc",
    "modular_config.h",
    "modular_config_constants.h",
  ]

  deps = [
    ":json_xdr",
    "//garnet/public/lib/fsl",
    "//garnet/public/lib/fxl",
    "//garnet/public/lib/json",
    "//peridot/lib/fidl:json_xdr",
    "//sdk/fidl/fuchsia.modular",
    "//sdk/fidl/fuchsia.modular.internal",
    "//sdk/fidl/fuchsia.modular.session",
  ]
}

source_set("json_xdr") {
  sources = [
    "modular_config_constants.h",
    "modular_config_xdr.cc",
    "modular_config_xdr.h",
  ]

  deps = [
    "//peridot/lib/fidl:json_xdr",
    "//sdk/fidl/fuchsia.modular",
    "//sdk/fidl/fuchsia.modular.internal",
    "//sdk/fidl/fuchsia.modular.session",
  ]
}

source_set("unittests") {
  testonly = true

  sources = [
    "modular_config_unittest.cc",
    "modular_config_xdr_unittest.cc",
  ]

  deps = [
    ":json_xdr",
    ":modular_config",
    "//garnet/public/lib/fxl",
    "//peridot/lib/rapidjson",
    "//peridot/lib/util:pseudo_dir_server",
    "//peridot/lib/util:pseudo_dir_utils",
    "//sdk/fidl/fuchsia.modular.internal",
    "//sdk/fidl/fuchsia.modular.session",
    "//third_party/googletest:gtest",
    "//third_party/rapidjson",
    "//zircon/public/lib/async-loop-cpp",
  ]
}
