# 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("//build/fidl/fidl.gni")

fidl("fuchsia.test.manager") {
  sources = [ "test_manager.fidl" ]

  sdk_category = "partner_internal"
  sdk_area = "Testing"
  stable = true

  public_deps = [
    "//sdk/fidl/fuchsia.component",
    "//sdk/fidl/fuchsia.component.decl",
    "//sdk/fidl/fuchsia.diagnostics",
    "//sdk/fidl/fuchsia.io",
    "//sdk/fidl/fuchsia.test",
    "//sdk/fidl/fuchsia.url",
  ]

  enable_hlcpp = true
}
