aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/JsonFormatFileTransport.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/buildeventstream/transports/JsonFormatFileTransport.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/buildeventstream/transports/JsonFormatFileTransport.java46
1 files changed, 15 insertions, 31 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/JsonFormatFileTransport.java b/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/JsonFormatFileTransport.java
index 3d51c4f632..33b296143e 100644
--- a/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/JsonFormatFileTransport.java
+++ b/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/JsonFormatFileTransport.java
@@ -16,28 +16,28 @@ package com.google.devtools.build.lib.buildeventstream.transports;
import com.google.devtools.build.lib.buildeventstream.ArtifactGroupNamer;
import com.google.devtools.build.lib.buildeventstream.BuildEvent;
-import com.google.devtools.build.lib.buildeventstream.BuildEventContext;
+import com.google.devtools.build.lib.buildeventstream.BuildEventArtifactUploader;
import com.google.devtools.build.lib.buildeventstream.BuildEventProtocolOptions;
+import com.google.devtools.build.lib.buildeventstream.BuildEventStreamProtos;
import com.google.devtools.build.lib.buildeventstream.BuildEventTransport;
-import com.google.devtools.build.lib.buildeventstream.PathConverter;
+import com.google.devtools.build.lib.util.AbruptExitException;
import com.google.protobuf.InvalidProtocolBufferException;
import com.google.protobuf.util.JsonFormat;
import java.io.IOException;
+import java.util.function.Consumer;
/**
* A simple {@link BuildEventTransport} that writes the JSON representation of the protocol-buffer
* representation of the events to a file.
*/
public final class JsonFormatFileTransport extends FileTransport {
- private final BuildEventProtocolOptions options;
- private final PathConverter pathConverter;
-
JsonFormatFileTransport(
- String path, BuildEventProtocolOptions options, PathConverter pathConverter)
- throws IOException {
- super(path);
- this.options = options;
- this.pathConverter = pathConverter;
+ String path,
+ BuildEventProtocolOptions options,
+ BuildEventArtifactUploader uploader,
+ Consumer<AbruptExitException> exitFunc)
+ throws IOException {
+ super(path, options, uploader, exitFunc);
}
@Override
@@ -47,30 +47,14 @@ public final class JsonFormatFileTransport extends FileTransport {
@Override
public synchronized void sendBuildEvent(BuildEvent event, final ArtifactGroupNamer namer) {
- BuildEventContext converters =
- new BuildEventContext() {
- @Override
- public PathConverter pathConverter() {
- return pathConverter;
- }
-
- @Override
- public ArtifactGroupNamer artifactGroupNamer() {
- return namer;
- }
-
- @Override
- public BuildEventProtocolOptions getOptions() {
- return options;
- }
- };
+ BuildEventStreamProtos.BuildEvent protoEvent = asStreamProto(event, namer);
+ if (protoEvent == null) {
+ return;
+ }
String protoJsonRepresentation;
try {
protoJsonRepresentation =
- JsonFormat.printer()
- .omittingInsignificantWhitespace()
- .print(event.asStreamProto(converters))
- + "\n";
+ JsonFormat.printer().omittingInsignificantWhitespace().print(protoEvent) + "\n";
} catch (InvalidProtocolBufferException e) {
// We don't expect any unknown Any fields in our protocol buffer. Nevertheless, handle
// the exception gracefully and, at least, return valid JSON with an id field.