# Copyright 2024 The Bazel Authors. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

load(":attr_builders_tests.bzl", "attr_builders_test_suite")
load(":builders_tests.bzl", "builders_test_suite")
load(":rule_builders_tests.bzl", "rule_builders_test_suite")

builders_test_suite(name = "builders_test_suite")

rule_builders_test_suite(name = "rule_builders_test_suite")

attr_builders_test_suite(name = "attr_builders_test_suite")

toolchain_type(name = "tct_1")

toolchain_type(name = "tct_2")

toolchain_type(name = "tct_3")

toolchain_type(name = "tct_4")

toolchain_type(name = "tct_5")

filegroup(name = "empty")

toolchain(
    name = "tct_3_toolchain",
    toolchain = "//tests/support/empty_toolchain:empty",
    toolchain_type = "//tests/builders:tct_3",
)

toolchain(
    name = "tct_4_toolchain",
    toolchain = "//tests/support/empty_toolchain:empty",
    toolchain_type = ":tct_4",
)

toolchain(
    name = "tct_5_toolchain",
    toolchain = "//tests/support/empty_toolchain:empty",
    toolchain_type = ":tct_5",
)
