Include more information about build events' referenced local files.
Instead of just a path, events now include information about the type of file (output, source file, stdout/stderr, test logs, etc.). This information can be used by the uploaders to determine a) whether to upload, b) what kind of lease to give the files.
RELNOTES: None
PiperOrigin-RevId: 203285549
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java b/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java
index adb71f4..4ae435e 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TargetCompleteEvent.java
@@ -29,6 +29,7 @@
import com.google.devtools.build.lib.analysis.test.TestProvider;
import com.google.devtools.build.lib.buildeventstream.ArtifactGroupNamer;
import com.google.devtools.build.lib.buildeventstream.BuildEvent;
+import com.google.devtools.build.lib.buildeventstream.BuildEvent.LocalFile.LocalFileType;
import com.google.devtools.build.lib.buildeventstream.BuildEventContext;
import com.google.devtools.build.lib.buildeventstream.BuildEventId;
import com.google.devtools.build.lib.buildeventstream.BuildEventStreamProtos;
@@ -278,12 +279,15 @@
}
@Override
- public ImmutableSet<Path> referencedLocalFiles() {
- ImmutableSet.Builder<Path> builder = ImmutableSet.builder();
+ public Collection<LocalFile> referencedLocalFiles() {
+ ImmutableList.Builder<LocalFile> builder = ImmutableList.builder();
for (ArtifactsInOutputGroup group : outputs) {
if (group.areImportant()) {
for (Artifact artifact : group.getArtifacts()) {
- builder.add(artifact.getPath());
+ builder.add(
+ new LocalFile(
+ artifact.getPath(),
+ artifact.isSourceArtifact() ? LocalFileType.SOURCE : LocalFileType.OUTPUT));
}
}
}