blob: fa29429e58e18fbc5691bb68cb405209c48445c1 [file] [log] [blame]
"""Custom rule to test java_common.compile() with additional inputs and outputs"""
load("//java/common:java_common.bzl", "java_common")
load("//java/common:java_semantics.bzl", "semantics")
def _impl(ctx):
output_jar = ctx.actions.declare_file("lib" + ctx.label.name + ".jar")
java_common.compile(
ctx,
source_jars = ctx.files.srcs,
output = output_jar,
annotation_processor_additional_inputs = ctx.files.additional_inputs,
annotation_processor_additional_outputs = [ctx.outputs.additional_output],
java_toolchain = semantics.find_java_toolchain(ctx),
)
return [DefaultInfo(files = depset([output_jar]))]
custom_library_with_additional_inputs = rule(
implementation = _impl,
outputs = {
"additional_output": "%{name}_additional_output",
},
attrs = {
"srcs": attr.label_list(allow_files = [".jar"]),
"additional_inputs": attr.label_list(allow_files = [".bin"]),
},
toolchains = [semantics.JAVA_TOOLCHAIN_TYPE],
fragments = ["java"],
)