Use ProtoCommon.compile in CC aspects. PiperOrigin-RevId: 440107026
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java index 7646392..a718bf1 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/proto/CcProtoAspect.java
@@ -14,7 +14,6 @@ package com.google.devtools.build.lib.rules.cpp.proto; -import static com.google.common.base.Preconditions.checkNotNull; import static com.google.devtools.build.lib.packages.Attribute.attr; import static com.google.devtools.build.lib.packages.BuildType.LABEL; @@ -64,9 +63,6 @@ import com.google.devtools.build.lib.rules.cpp.CppSemantics; import com.google.devtools.build.lib.rules.cpp.LibraryToLink; import com.google.devtools.build.lib.rules.proto.ProtoCommon; -import com.google.devtools.build.lib.rules.proto.ProtoCompileActionBuilder; -import com.google.devtools.build.lib.rules.proto.ProtoCompileActionBuilder.Services; -import com.google.devtools.build.lib.rules.proto.ProtoCompileActionBuilder.ToolchainInvocation; import com.google.devtools.build.lib.rules.proto.ProtoConfiguration; import com.google.devtools.build.lib.rules.proto.ProtoInfo; import com.google.devtools.build.lib.rules.proto.ProtoLangToolchainProvider; @@ -462,17 +458,15 @@ } else { genfilesPath = genfilesFragment.getRelative(protoRootFragment).getPathString(); } - - ImmutableList.Builder<ToolchainInvocation> invocations = ImmutableList.builder(); - invocations.add( - new ToolchainInvocation("C++", checkNotNull(getProtoToolchainProvider()), genfilesPath)); - ProtoCompileActionBuilder.registerActions( - ruleContext, - invocations.build(), - protoTarget, - outputs, - "Generating C++ proto_library %{label}", - Services.ALLOW); + if (!outputs.isEmpty()) { + ProtoCommon.compile( + ruleContext, + protoTarget, + getProtoToolchainProvider(), + outputs, + genfilesPath, + "Generating C++ proto_library %{label}"); + } } private ProtoLangToolchainProvider getProtoToolchainProvider() {