Pass the id of a work request to the worker through JavaLibraryBuildRequest and BlazeJavacArguments. This can help us know which request is being compiled during a run.
RELNOTES: None.
PiperOrigin-RevId: 387301235
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JavaLibraryBuildRequest.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JavaLibraryBuildRequest.java
index 33ba30c..2be7797 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JavaLibraryBuildRequest.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/JavaLibraryBuildRequest.java
@@ -39,6 +39,7 @@
import java.util.Collection;
import java.util.List;
import java.util.Map;
+import java.util.OptionalInt;
import javax.annotation.Nullable;
/** All the information needed to perform a single Java library build operation. */
@@ -94,6 +95,8 @@
/** Map of inputs' path and digest */
private final ImmutableMap<String, ByteString> inputsAndDigest;
+ private final OptionalInt requestId;
+
/**
* Constructs a build from a list of command args. Sets the same JavacRunner for both compilation
* and annotation processing.
@@ -122,7 +125,7 @@
List<BlazeJavaCompilerPlugin> extraPlugins,
DependencyModule.Builder depsBuilder)
throws InvalidCommandLineException, IOException {
- this(optionsParser, extraPlugins, depsBuilder, ImmutableMap.of());
+ this(optionsParser, extraPlugins, depsBuilder, ImmutableMap.of(), OptionalInt.empty());
}
/**
@@ -139,7 +142,8 @@
OptionsParser optionsParser,
List<BlazeJavaCompilerPlugin> extraPlugins,
DependencyModule.Builder depsBuilder,
- ImmutableMap<String, ByteString> inputsAndDigest)
+ ImmutableMap<String, ByteString> inputsAndDigest,
+ OptionalInt requestId)
throws InvalidCommandLineException, IOException {
depsBuilder.setDirectJars(
optionsParser.directJars().stream().map(Paths::get).collect(toImmutableSet()));
@@ -210,6 +214,7 @@
this.targetLabel = optionsParser.getTargetLabel();
this.injectingRuleKind = optionsParser.getInjectingRuleKind();
this.inputsAndDigest = inputsAndDigest;
+ this.requestId = requestId;
}
/**
@@ -346,6 +351,10 @@
return inputsAndDigest;
}
+ public OptionalInt getRequestId() {
+ return requestId;
+ }
+
@Nullable
public String getTargetLabel() {
return targetLabel;
@@ -369,7 +378,8 @@
.sourceOutput(getSourceGenDir())
.processorPath(getProcessorPath())
.plugins(getPlugins())
- .inputsAndDigest(getInputsAndDigest());
+ .inputsAndDigest(getInputsAndDigest())
+ .requestId(getRequestId());
addJavacArguments(builder);
// Performance optimization: when reduced classpaths are enabled, stop the compilation after
// the first diagnostic that would result in fallback to the transitive classpath. The user
diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacArguments.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacArguments.java
index 49529b2..8c2ff75 100644
--- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacArguments.java
+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/javac/BlazeJavacArguments.java
@@ -21,6 +21,7 @@
import com.google.devtools.build.buildjar.javac.plugins.BlazeJavaCompilerPlugin;
import com.google.protobuf.ByteString;
import java.nio.file.Path;
+import java.util.OptionalInt;
import javax.annotation.Nullable;
/**
@@ -78,6 +79,8 @@
/** The Inputs' path and digest received from a WorkRequest */
public abstract ImmutableMap<String, ByteString> inputsAndDigest();
+ public abstract OptionalInt requestId();
+
public static Builder builder() {
return new AutoValue_BlazeJavacArguments.Builder()
.classPath(ImmutableList.of())
@@ -91,7 +94,8 @@
.processorPath(ImmutableList.of())
.plugins(ImmutableList.of())
.failFast(false)
- .inputsAndDigest(ImmutableMap.of());
+ .inputsAndDigest(ImmutableMap.of())
+ .requestId(OptionalInt.empty());
}
/** {@link BlazeJavacArguments}Builder. */
@@ -127,6 +131,8 @@
Builder inputsAndDigest(ImmutableMap<String, ByteString> inputsAndDigest);
+ Builder requestId(OptionalInt requestId);
+
BlazeJavacArguments build();
}
}