blob: b02cee6abae8833536f713150c3bf0da9da9ae84 [file]
"""Helper for defining distribution filegroups."""
def distribution_filegroup(name, exclude = None):
"""Defines a filegroup target for repository distribution.
Args:
name: The name of the filegroup target.
exclude: Optional list of subpackage patterns to exclude from automatic
subpackage discovery.
"""
exclude = exclude or []
pkg = native.package_name()
prefix = ("//" + pkg + "/") if pkg else "//"
srcs = native.glob(["**"])
for subpkg in native.subpackages(
include = ["*"],
exclude = exclude,
allow_empty = True,
):
srcs.append(prefix + subpkg + ":distribution")
native.filegroup(
name = name,
srcs = srcs,
)