diff options
author | Klaus Aehlig <aehlig@google.com> | 2017-05-02 19:08:29 +0200 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2017-05-03 10:57:02 +0200 |
commit | 4b7df4f24c25bb84af968234c1adebc8f56eefb0 (patch) | |
tree | 77323f8c4b513e1bb715590677509ec8bdecfc77 /src/main/java/com/google/devtools/build/lib/analysis/BuildInfoEvent.java | |
parent | d7273274861801353a35ce0f4f5b70266e5cd6a7 (diff) |
BEP: Add WorkspaceStatus
Add an event reporting the workspace status as key-value pairs reported
via the workspace_status_command.
Change-Id: I5791551798a594bc2465f483eb97f9d4fd4c7cfd
PiperOrigin-RevId: 154845224
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/BuildInfoEvent.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/BuildInfoEvent.java | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BuildInfoEvent.java b/src/main/java/com/google/devtools/build/lib/analysis/BuildInfoEvent.java index af0c015c76..de67b6c974 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/BuildInfoEvent.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/BuildInfoEvent.java @@ -14,14 +14,18 @@ package com.google.devtools.build.lib.analysis; +import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; - +import com.google.devtools.build.lib.buildeventstream.BuildEvent; +import com.google.devtools.build.lib.buildeventstream.BuildEventConverters; +import com.google.devtools.build.lib.buildeventstream.BuildEventId; +import com.google.devtools.build.lib.buildeventstream.BuildEventStreamProtos; +import com.google.devtools.build.lib.buildeventstream.GenericBuildEvent; +import java.util.Collection; import java.util.Map; -/** - * This event is fired once build info data is available. - */ -public final class BuildInfoEvent { +/** This event is fired once build info data is available. */ +public final class BuildInfoEvent implements BuildEvent { private final Map<String, String> buildInfoMap; /** @@ -37,4 +41,28 @@ public final class BuildInfoEvent { public Map<String, String> getBuildInfoMap() { return buildInfoMap; } + + @Override + public BuildEventId getEventId() { + return BuildEventId.workspaceStatusId(); + } + + @Override + public Collection<BuildEventId> getChildrenEvents() { + return ImmutableList.<BuildEventId>of(); + } + + @Override + public BuildEventStreamProtos.BuildEvent asStreamProto(BuildEventConverters converters) { + BuildEventStreamProtos.WorkspaceStatus.Builder status = + BuildEventStreamProtos.WorkspaceStatus.newBuilder(); + for (Map.Entry<String, String> entry : getBuildInfoMap().entrySet()) { + status.addItem( + BuildEventStreamProtos.WorkspaceStatus.Item.newBuilder() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build()); + } + return GenericBuildEvent.protoChaining(this).setWorkspaceStatus(status.build()).build(); + } } |