# Copyright 2018 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.ui.scenic") {
  # TODO(fxb/35879): Remove lint exclusions by fixing known FIDL lint violations in this target
  excluded_checks = [
    "invalid-case-for-constant",
    "string-bounds-not-specified",
    "vector-bounds-not-specified",
  ]

  sdk_category = "partner"

  sources = [
    "commands.fidl",
    "events.fidl",
    "scenic.fidl",
    "session.fidl",
    "snapshot.fidl",
  ]

  public_deps = [
    "//sdk/fidl/fuchsia.images",
    "//sdk/fidl/fuchsia.scenic.scheduling",
    "//sdk/fidl/fuchsia.ui.gfx",
    "//sdk/fidl/fuchsia.ui.input",
    "//sdk/fidl/fuchsia.ui.views",
    "//zircon/system/fidl/fuchsia-mem",
  ]
}
