blob: e126e0be2ebd0eddfc34ad7914102c95d78ad034 [file] [log] [blame]
# Copyright 2021 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.
group("cmx_allowlist") {
# ________ _________ ________ ________
# |\ ____\|\___ ___\\ __ \|\ __ \
# \ \ \___|\|___ \ \_\ \ \|\ \ \ \|\ \
# \ \_____ \ \ \ \ \ \ \\\ \ \ ____\
# \|____|\ \ \ \ \ \ \ \\\ \ \ \___|
# ____\_\ \ \ \__\ \ \_______\ \__\
# |\_________\ \|__| \|_______|\|__|
# \|_________|
# This is an allowlist of targets that use CMX (.cmx) files.
# CMX is the component manifest v1 syntax. There is a migration in progress
# to CML files, the component manifest v2 syntax. See:
# https://fuchsia.dev/fuchsia-src/concepts/components/v2/migration
#
# Developers are encouraged to migrate to v2. See the migration guide:
# https://fuchsia.dev/fuchsia-src/development/components/v2/migration
#
# The policy at this time is:
# 1. Use of CMX files outside of fuchsia.git is unrestricted.
# 2. Pre-existing use of CMX files in fuchsia.git is allowlisted.
# 3. New usage of CMX files in fuchsia.git is discouraged.
# Please see the self-service migration guide.
# 4. Requests to allowlist new CMX files will be respected, no questions
# asked. Please use your best judgement.
#
# To add items to the allowlist, please send a change to one of the OWNERS of
# this file to add an element to the visibility list below.
# Please allowlist entire directories rather than individual targets as it
# requires less allowlist churn over time.
#
# To regenerate:
# fx gn refs $(fx get-build-dir) //build/components/cmx:cmx_allowlist | sed 's|\(.*\):.*|"\1/*",|' | sort | uniq
#
# To trim:
# scripts/gn/trim_visibility.py --target="//build/components/cmx:cmx_allowlist"
visibility = [
# TODO(shayba): populate the allowlist with grandfathered targets.
# Allow unrestricted out of tree usage.
"*",
"//third_party/*",
"//vendor/*",
]
}