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

import("//third_party/fuchsia-sdk/build/component.gni")
import("//third_party/fuchsia-sdk/build/package.gni")

group("rot13") {
  public_deps = [
    "//src/rot13:rot13-example",
    "//src/rot13/client:rot13_client",
    "//src/rot13/server:rot13_server",
  ]
}

group("tests") {
  testonly = true
  deps = [
    "//src/rot13/server:host_tests",
  ]
}

fuchsia_component("rot13_realm") {
  manifest = "meta/rot13_realm.cml"
}

fuchsia_package("rot13-example") {
  deps = [
    ":rot13_realm",
    "client:client_component",
    "server:server_component",
  ]
}
