| # Protocol Buffers - Google's data interchange format | |
| # Copyright 2024 Google Inc. All rights reserved. | |
| # | |
| # Use of this source code is governed by a BSD-style | |
| # license that can be found in the LICENSE file or at | |
| # https://developers.google.com/open-source/licenses/bsd | |
| # | |
| """Testing function for proto_common module""" | |
| load("//bazel/common:proto_common.bzl", "proto_common") | |
| load("//bazel/common:proto_info.bzl", "ProtoInfo") | |
| load("//bazel/common:proto_lang_toolchain_info.bzl", "ProtoLangToolchainInfo") | |
| BoolInfo = provider("Simple providers for testing", fields = ["value"]) | |
| def _impl(ctx): | |
| result = proto_common.experimental_should_generate_code( | |
| ctx.attr.proto_dep[ProtoInfo], | |
| ctx.attr.toolchain[ProtoLangToolchainInfo], | |
| "MyRule", | |
| ctx.attr.proto_dep.label, | |
| ) | |
| return [BoolInfo(value = result)] | |
| should_generate_rule = rule( | |
| _impl, | |
| attrs = { | |
| "proto_dep": attr.label(), | |
| "toolchain": attr.label(default = ":toolchain"), | |
| }, | |
| ) |