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

# Add this tag to deps of non_production GN labels (packages/configs).
# If check_production_eligibility = true, including such GN labels will cause
# build to fail.
group("non_production_tag") {
}

# This is added to all config_data targets so that targets can assert_no_deps
# that any transitive dependency includes config_data.
group("config_data_tag") {
}

# This is added to all fuchsia_shell_package targets so that targets can
# assert_no_deps that any transitive dependency includes a shell package.
group("shell_command_tag") {
}
