diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/CcRules.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/CcRules.java index b9a75e2aab11e9..cd749903685c85 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/CcRules.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/CcRules.java @@ -65,6 +65,7 @@ public void init(ConfiguredRuleClassProvider.Builder builder) { GraphNodeAspect graphNodeAspect = new GraphNodeAspect(); builder.addConfigurationFragment(CppConfiguration.class); builder.addStarlarkAccessibleTopLevels("CcSharedLibraryInfo", Starlark.NONE); + builder.addStarlarkAccessibleTopLevels("cc_proto_aspect", Starlark.NONE); builder.addBuildInfoFactory(new CppBuildInfo()); builder.addNativeAspectClass(graphNodeAspect); diff --git a/src/main/starlark/builtins_bzl/bazel/exports.bzl b/src/main/starlark/builtins_bzl/bazel/exports.bzl index f4bd5dc1ff9844..ac3baeb53b9f4e 100644 --- a/src/main/starlark/builtins_bzl/bazel/exports.bzl +++ b/src/main/starlark/builtins_bzl/bazel/exports.bzl @@ -17,9 +17,12 @@ load("@_builtins//:common/java/java_library.bzl", "java_library") load("@_builtins//:common/java/java_plugin.bzl", "java_plugin") load("@_builtins//:common/java/proto/java_proto_library.bzl", "java_proto_library") -load("@_builtins//:common/cc/cc_proto_library.bzl", "cc_proto_library") +load("@_builtins//:common/cc/cc_proto_library.bzl", "cc_proto_aspect", "cc_proto_library") + +exported_toplevels = { + "cc_proto_aspect": cc_proto_aspect +} -exported_toplevels = {} exported_rules = { "java_library": java_library, "java_plugin": java_plugin, diff --git a/src/main/starlark/builtins_bzl/common/cc/cc_proto_library.bzl b/src/main/starlark/builtins_bzl/common/cc/cc_proto_library.bzl index 160a7c015580b0..52f43f866abf36 100644 --- a/src/main/starlark/builtins_bzl/common/cc/cc_proto_library.bzl +++ b/src/main/starlark/builtins_bzl/common/cc/cc_proto_library.bzl @@ -256,7 +256,7 @@ def _aspect_impl(target, ctx): providers.append(header_provider) return providers -_cc_proto_aspect = aspect( +cc_proto_aspect = aspect( implementation = _aspect_impl, attr_aspects = ["deps"], fragments = ["cpp", "proto"], @@ -290,7 +290,7 @@ cc_proto_library = rule( implementation = _impl, attrs = { "deps": attr.label_list( - aspects = [_cc_proto_aspect], + aspects = [cc_proto_aspect], allow_rules = ["proto_library"], allow_files = False, ), diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java index c4fa13fbbf0428..271b591d538e2f 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoLibraryTest.java @@ -51,7 +51,7 @@ public class CcProtoLibraryTest extends BuildViewTestCase { private final StarlarkAspectClass starlarkCcProtoAspect = new StarlarkAspectClass( Label.parseAbsoluteUnchecked("@_builtins//:common/cc/cc_proto_library.bzl"), - "_cc_proto_aspect"); + "cc_proto_aspect"); @Before public void setUp() throws Exception {