blob: a9afc66d75195706cd5a435bacece8721e7a5a7c [file] [log] [blame]
"""Custom rule to test the JavaPluginInfo provider"""
load("//java/common:java_info.bzl", "JavaInfo")
load(
"//java/common:java_plugin_info.bzl",
"JavaPluginInfo",
)
def _impl(ctx):
output_jar = ctx.actions.declare_file(ctx.label.name + "/lib.jar")
ctx.actions.write(output_jar, "")
dep = JavaInfo(
output_jar = output_jar,
compile_jar = None,
deps = [d[JavaInfo] for d in ctx.attr.deps],
)
data = depset(ctx.files.data) if ctx.attr.data_as_depset else ctx.files.data
return [JavaPluginInfo(
runtime_deps = [dep],
processor_class = ctx.attr.processor_class,
data = data,
generates_api = ctx.attr.generates_api,
)]
custom_plugin = rule(
implementation = _impl,
attrs = {
"deps": attr.label_list(),
"processor_class": attr.string(),
"data": attr.label_list(allow_files = True),
"generates_api": attr.bool(default = False),
"data_as_depset": attr.bool(default = False),
},
)