blob: 24ea8906b974d99966e95c67715b306b4d7fc472 [file] [log] [blame]
PrebuiltEtcInfo = provider(
"Info needed for prebuilt_etc modules",
fields={
"src": "Source file of this prebuilt",
"sub_dir": "Optional subdirectory to install into",
"filename": "Optional name for the installed file",
"installable": "Whether this is directly installable into one of the partitions",
})
def _prebuilt_etc_rule_impl(ctx):
return [
PrebuiltEtcInfo(
src = ctx.file.src,
sub_dir = ctx.attr.sub_dir,
filename = ctx.attr.filename,
installable = ctx.attr.installable
)
]
_prebuilt_etc = rule(
implementation = _prebuilt_etc_rule_impl,
attrs = {
"src": attr.label(mandatory = True, allow_single_file = True),
"sub_dir": attr.string(),
"filename": attr.string(),
"installable": attr.bool(default = True),
},
)
def prebuilt_etc(
name,
src,
sub_dir = None,
filename = None,
installable = True,
**kwargs):
"Bazel macro to correspond with the prebuilt_etc Soong module."
_prebuilt_etc(
name = name,
src = src,
sub_dir = sub_dir,
filename = filename,
installable = installable,
**kwargs,
)