# 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.developer.ffx") {
  sdk_category = "internal"
  sources = [
    "daemon.fidl",
    "diagnostics.fidl",
    "echo.fidl",
    "fastboot.fidl",
    "mdns.fidl",
    "overview.fidl",
    "repo.fidl",
    "target.fidl",
    "testing.fidl",
    "tracing.fidl",
    "tunnel.fidl",
    "version.fidl",
  ]
  public_deps = [
    "//sdk/fidl/fuchsia.buildinfo",
    "//sdk/fidl/fuchsia.developer.remotecontrol",
    "//sdk/fidl/fuchsia.device",
    "//sdk/fidl/fuchsia.io",
    "//sdk/fidl/fuchsia.net",
    "//sdk/fidl/fuchsia.tracing.controller",
    "//zircon/vdso/zx",
  ]

  fuzzers = [
    {
      protocol = "fidl.developer.ffx.Daemon"
    },
  ]
}
