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

# The complete, user-facing CTF build API.
#
# This file is for CTF templates that authors use to write tests.
# Do _not_ import anything from ./internal nor from any of the SDK
# verification helpers like verify_deps_in_sdk.gni.
#
# Please keep the list sorted alphabetically.
import("//sdk/ctf/build/ctf_executable.gni")
import("//sdk/ctf/build/ctf_fidl.gni")
import("//sdk/ctf/build/ctf_fuchsia_component.gni")
import("//sdk/ctf/build/ctf_fuchsia_package.gni")
import("//sdk/ctf/build/ctf_fuchsia_test_package.gni")
import("//sdk/ctf/build/ctf_fuchsia_unittest_component.gni")
import("//sdk/ctf/build/ctf_host_test.gni")
import("//sdk/ctf/build/ctf_host_test_data.gni")
import("//sdk/ctf/build/ctf_resource.gni")
import("//sdk/ctf/build/ctf_rustc_binary.gni")
import("//sdk/ctf/build/ctf_rustc_library.gni")
import("//sdk/ctf/build/ctf_rustc_test.gni")
import("//sdk/ctf/build/ctf_source_set.gni")
import("//sdk/ctf/build/ctf_test_component.gni")
import("//sdk/ctf/build/generate_ctf_tests.gni")
RUST_SUBPACKAGES = [
  "//src/sys/test_runners/lib_loader_cache:lib_loader_runner_cache",
  "//src/sys/test_runners/rust:rust-test-runner",
]

GTEST_SUBPACKAGES = [
  "//src/sys/test_runners/gtest:gtest-runner",
  "//src/sys/test_runners/lib_loader_cache:lib_loader_runner_cache",
]
