Pass progressMessage to ProtoCompileActionBuilder.
This makes it possible to pass literals, so that new references don't accumulate and cause a regression.
PiperOrigin-RevId: 417471531
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 316e424..7e467a0 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
@@ -460,7 +460,7 @@
invocations.build(),
protoInfo,
outputs,
- "C++",
+ "Generating C++ proto_library %{label}",
Exports.DO_NOT_USE,
Services.ALLOW);
}
@@ -472,8 +472,7 @@
public void addProviders(ConfiguredAspect.Builder builder) {
OutputGroupInfo outputGroupInfo = new OutputGroupInfo(outputGroups);
builder.addProvider(
- new CcProtoLibraryProviders(
- filesBuilder.build(), ccLibraryProviders, outputGroupInfo));
+ new CcProtoLibraryProviders(filesBuilder.build(), ccLibraryProviders, outputGroupInfo));
builder.addProviders(ccLibraryProviders);
builder.addNativeDeclaredProvider(outputGroupInfo);
if (headerProvider != null) {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java
index bfbf3d1..a77716e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaLiteProtoAspect.java
@@ -254,7 +254,7 @@
sourceJar.getExecPathString())),
protoInfo,
ImmutableList.of(sourceJar),
- "JavaLite",
+ "Generating JavaLite proto_library %{label}",
Exports.USE,
Services.ALLOW);
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java
index c0a7b34..a267a02 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoAspect.java
@@ -99,13 +99,12 @@
ProtoInfo protoInfo = ctadBase.getConfiguredTarget().get(ProtoInfo.PROVIDER);
-
JavaProtoAspectCommon aspectCommon =
JavaProtoAspectCommon.getSpeedInstance(ruleContext, javaSemantics, rpcSupport);
try {
- Impl impl = new Impl(ruleContext, protoInfo, aspectCommon, rpcSupport, additionalProtocOpts);
- impl.addProviders(aspect);
- return aspect.build();
+ Impl impl = new Impl(ruleContext, protoInfo, aspectCommon, rpcSupport, additionalProtocOpts);
+ impl.addProviders(aspect);
+ return aspect.build();
} catch (RuleErrorException e) {
ruleContext.ruleError(e.getMessage());
return null;
@@ -298,7 +297,7 @@
invocations.build(),
protoInfo,
ImmutableList.of(sourceJar),
- "Java (Immutable)",
+ "Generating Java (Immutable) proto_library %{label}",
Exports.USE,
rpcSupport.allowServices(ruleContext) ? Services.ALLOW : Services.DISALLOW);
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoStarlarkCommon.java b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoStarlarkCommon.java
index f99150a..69f55d6 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoStarlarkCommon.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/proto/JavaProtoStarlarkCommon.java
@@ -56,7 +56,7 @@
sourceJar.getExecPathString())),
protoInfo,
ImmutableList.of(sourceJar),
- "JavaLite",
+ "Generating JavaLite proto_library %{label}",
Exports.DO_NOT_USE,
Services.ALLOW);
} catch (RuleErrorException e) {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
index 0d6ab1e..f082214 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/J2ObjcAspect.java
@@ -673,7 +673,7 @@
invocations.build(),
protoInfo,
outputs,
- "j2objc",
+ "Generating j2objc proto_library %{label}",
Exports.DO_NOT_USE,
shouldAllowProtoServices(ruleContext) ? Services.ALLOW : Services.DISALLOW);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java
index d60cfe5..42a0877 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilder.java
@@ -355,7 +355,7 @@
* method instead of the soup of methods above.
*
* @param outputs The artifacts that the resulting action must create.
- * @param flavorName e.g., "Java (Immutable)"
+ * @param progressMessage Please use "Generating {flavorName} proto_library %{label}".
* @param allowServices If false, the compilation will break if any .proto file has service
*/
public static void registerActions(
@@ -363,7 +363,7 @@
List<ToolchainInvocation> toolchainInvocations,
ProtoInfo protoInfo,
Iterable<Artifact> outputs,
- String flavorName,
+ String progressMessage,
Exports useExports,
Services allowServices)
throws RuleErrorException, InterruptedException {
@@ -419,7 +419,7 @@
/* ctx */ ruleContext.getStarlarkRuleContext(),
/* proto_info */ protoInfo,
/* proto_compiler */ protoToolchain.getCompiler(),
- /* progress_message */ "Generating " + flavorName + " proto_library %{label}",
+ /* progress_message */ progressMessage,
/* outputs */ StarlarkList.immutableCopyOf(outputs),
/* additional_args */ StarlarkList.immutableCopyOf(additionalArgs.build()),
/* plugins */ StarlarkList.immutableCopyOf(plugins.build())),
diff --git a/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilderTest.java b/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilderTest.java
index 30f59a6..cdc5015 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/proto/ProtoCompileActionBuilderTest.java
@@ -299,7 +299,7 @@
/* publicImportProtoSources */ ImmutableList.of(),
/* strictImportableSources */ ImmutableList.of()),
ImmutableList.of(out),
- "flavour",
+ "dontcare",
Exports.DO_NOT_USE,
Services.DISALLOW);
@@ -392,7 +392,7 @@
/* publicImportProtoSources */ ImmutableList.of(),
/* strictImportableSources */ ImmutableList.of()),
ImmutableList.of(out),
- "flavour",
+ "dontcare",
Exports.DO_NOT_USE,
Services.ALLOW));