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

# All the bazel_build_action() test targets below this directory.
group("build_action") {
  deps = [
    "00_no_inputs:test",
    "01_input_resource_from_source:test",
    "02_input_from_bazel_source:test",
    "03_input_resource_directory:test",
  ]

  # These targets are empty, but depending on them ensures that the
  # test_must_fail target defined in the same BUILD.gn is added to the GN
  # graph.
  deps += [
    "04_unlisted_legacy_input_dependency:test",
    "05_missing_legacy_input_dependency:test",
    "06_unknown_legacy_input_dependency:test",
  ]
}

# All bazel_input_xxx() targets for the tests below this directory.

group("bazel_inputs") {
  deps = [
    "01_input_resource_from_source:bazel_input",
    "03_input_resource_directory:bazel_input",

    # COMMENTED OUT ON PURPOSE
    # "04_unlisted_legacy_input_dependency:bazel_input",
    "05_missing_legacy_input_dependency:bazel_input",

    # COMMENTED OUT ON PURPOSE
    # "06_unknown_legacy_input_dependency:bazel_input
  ]
}
