aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/buildeventstream/transports
diff options
context:
space:
mode:
authorGravatar aehlig <aehlig@google.com>2017-04-04 15:03:23 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-04-04 18:39:53 +0200
commit617bb896dc5d2b815449459e991c577237d7a7fc (patch)
treee25a4bfe6e925ad2cff32c71447af412a77faf2e /src/main/java/com/google/devtools/build/lib/buildeventstream/transports
parent0297702d9533142e6c326660f913899d25b89b5d (diff)
BEP: provide events a generic converter class
Change the BuildEvent interface to accept a generic class of converters. In this way, we won't have to change it again in the future, once more converters are needed. In fact, a new converter is needed right now (will be added in a follow-up patch) to allow build events to know the name of named artifact groups already reported in the stream. Change-Id: Ibb32ea5fff361e21bcf2d34818d8351a1da7a2e3 PiperOrigin-RevId: 152131870
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/buildeventstream/transports')
-rw-r--r--src/main/java/com/google/devtools/build/lib/buildeventstream/transports/BinaryFormatFileTransport.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/buildeventstream/transports/TextFormatFileTransport.java10
2 files changed, 18 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/BinaryFormatFileTransport.java b/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/BinaryFormatFileTransport.java
index 1bf30b7c0e..3356c230ca 100644
--- a/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/BinaryFormatFileTransport.java
+++ b/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/BinaryFormatFileTransport.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.buildeventstream.transports;
import com.google.devtools.build.lib.buildeventstream.BuildEvent;
+import com.google.devtools.build.lib.buildeventstream.BuildEventConverters;
import com.google.devtools.build.lib.buildeventstream.BuildEventTransport;
import com.google.devtools.build.lib.buildeventstream.PathConverter;
import java.io.BufferedOutputStream;
@@ -40,7 +41,14 @@ public final class BinaryFormatFileTransport implements BuildEventTransport {
@Override
public synchronized void sendBuildEvent(BuildEvent event) throws IOException {
- event.asStreamProto(pathConverter).writeDelimitedTo(out);
+ BuildEventConverters converters =
+ new BuildEventConverters() {
+ @Override
+ public PathConverter pathConverter() {
+ return pathConverter;
+ }
+ };
+ event.asStreamProto(converters).writeDelimitedTo(out);
out.flush();
}
diff --git a/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/TextFormatFileTransport.java b/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/TextFormatFileTransport.java
index 5f8f59d338..54e979e739 100644
--- a/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/TextFormatFileTransport.java
+++ b/src/main/java/com/google/devtools/build/lib/buildeventstream/transports/TextFormatFileTransport.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.buildeventstream.transports;
import com.google.devtools.build.lib.buildeventstream.BuildEvent;
+import com.google.devtools.build.lib.buildeventstream.BuildEventConverters;
import com.google.devtools.build.lib.buildeventstream.BuildEventTransport;
import com.google.devtools.build.lib.buildeventstream.PathConverter;
import com.google.protobuf.TextFormat;
@@ -40,7 +41,14 @@ public final class TextFormatFileTransport implements BuildEventTransport {
@Override
public synchronized void sendBuildEvent(BuildEvent event) throws IOException {
if (out != null) {
- String protoTextRepresentation = TextFormat.printToString(event.asStreamProto(pathConverter));
+ BuildEventConverters converters =
+ new BuildEventConverters() {
+ @Override
+ public PathConverter pathConverter() {
+ return pathConverter;
+ }
+ };
+ String protoTextRepresentation = TextFormat.printToString(event.asStreamProto(converters));
out.write(("event {\n" + protoTextRepresentation + "}\n\n").getBytes(StandardCharsets.UTF_8));
out.flush();
}