diff options
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.java | 46 |
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. |