blob: 958e9d193dafdadecb0a9eb295bc227035d9a5ca [file]
# Copyright 2026 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
FilegroupInfo = provider(fields = ["files"])
def _filegroup_impl(ctx):
files = depset(ctx.files.srcs)
return [
DefaultInfo(files = files),
FilegroupInfo(files = files),
]
filegroup = rule(
implementation = _filegroup_impl,
attrs = {
"srcs": attr.label_list(allow_files = True),
}
)
def _filegroups_impl(ctx):
filegroups = [fg[FilegroupInfo].files for fg in ctx.attr.filegroups]
return [DefaultInfo(files = depset(transitive = filegroups))]
filegroups = rule(
implementation = _filegroups_impl,
attrs = {
"filegroups": attr.label_list(allow_files = True),
}
)