# 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")

group("fidl-changes") {
  deps = [
    ":fidl.test.after",
    ":fidl.test.before",
    "cpp",
    "go",
    "rust",
  ]
}

fidl("fidl.test.before") {
  # TODO(fxb/35879): Remove lint exclusions by fixing known FIDL lint violations in this target
  excluded_checks = [ "event-names-must-start-with-on" ]

  sources = [ "fidl/before.fidl" ]
}

fidl("fidl.test.during") {
  # TODO(fxb/35879): Remove lint exclusions by fixing known FIDL lint violations in this target
  excluded_checks = [ "event-names-must-start-with-on" ]

  sources = [ "fidl/during.fidl" ]
}

fidl("fidl.test.after") {
  # TODO(fxb/35879): Remove lint exclusions by fixing known FIDL lint violations in this target
  excluded_checks = [ "event-names-must-start-with-on" ]

  sources = [ "fidl/after.fidl" ]
}
