# buildifier: disable=module-docstring def my_rule_impl(ctx): _ignore = [ctx] # @unused return [] my_rule = rule( implementation = my_rule_impl, doc = "This is my rule. It does stuff.", attrs = { "first": attr.label(mandatory = True, allow_single_file = True), "second": attr.string_dict(mandatory = True), }, ) # buildifier: disable=unsorted-dict-items other_rule = rule( implementation = my_rule_impl, doc = "This is another rule.", attrs = { "third": attr.label(mandatory = True, allow_single_file = True), "_hidden": attr.string(), "fourth": attr.string_dict(mandatory = True), }, ) # buildifier: disable=unsorted-dict-items yet_another_rule = rule( implementation = my_rule_impl, doc = "This is yet another rule", attrs = { "_hidden": attr.string(), "fifth": attr.label(mandatory = True, allow_single_file = True), }, )