diff options
Diffstat (limited to 'src/main/java/com')
4 files changed, 20 insertions, 10 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceModule.java b/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceModule.java index 0df599426b..22efe8e79d 100644 --- a/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceModule.java +++ b/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceModule.java @@ -230,7 +230,7 @@ public abstract class BuildEventServiceModule<T extends BuildEventServiceOptions pathConverter, commandLineReporter, besOptions.projectId, - besOptions.besKeywords); + keywords(besOptions)); logger.fine("BuildEventServiceTransport was created successfully"); return besTransport; } @@ -249,4 +249,12 @@ public abstract class BuildEventServiceModule<T extends BuildEventServiceOptions AuthAndTLSOptions authAndTLSOptions) throws IOException; protected abstract Set<String> whitelistedCommands(); + + protected Set<String> keywords(T besOptions) { + return besOptions + .besKeywords + .stream() + .map(keyword -> "user_keyword=" + keyword) + .collect(ImmutableSet.toImmutableSet()); + } } diff --git a/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceOptions.java b/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceOptions.java index e0c86e24d1..fda0ac936c 100644 --- a/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceOptions.java +++ b/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceOptions.java @@ -14,6 +14,7 @@ package com.google.devtools.build.lib.buildeventservice; +import com.google.devtools.common.options.Converters; import com.google.devtools.common.options.Option; import com.google.devtools.common.options.OptionDocumentationCategory; import com.google.devtools.common.options.OptionEffectTag; @@ -81,6 +82,7 @@ public class BuildEventServiceOptions extends OptionsBase { @Option( name = "bes_keywords", defaultValue = "", + converter = Converters.CommaSeparatedOptionListConverter.class, documentationCategory = OptionDocumentationCategory.LOGGING, effectTags = {OptionEffectTag.AFFECTS_OUTPUTS}, allowMultiple = true, diff --git a/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceProtoUtil.java b/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceProtoUtil.java index 022d29258a..a6c23c3e7e 100644 --- a/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceProtoUtil.java +++ b/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceProtoUtil.java @@ -17,7 +17,7 @@ package com.google.devtools.build.lib.buildeventservice; import static com.google.devtools.build.v1.BuildEvent.BuildComponentStreamFinished.FinishType.FINISHED; import com.google.common.annotations.VisibleForTesting; -import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.clock.Clock; import com.google.devtools.build.v1.BuildEvent; import com.google.devtools.build.v1.BuildEvent.BuildComponentStreamFinished; @@ -35,7 +35,7 @@ import com.google.devtools.build.v1.StreamId; import com.google.devtools.build.v1.StreamId.BuildComponent; import com.google.protobuf.Any; import com.google.protobuf.util.Timestamps; -import java.util.List; +import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; import javax.annotation.Nullable; @@ -48,7 +48,7 @@ public final class BuildEventServiceProtoUtil { private final AtomicInteger streamSequenceNumber; private final String commandName; private final Clock clock; - private final List<String> additionalKeywords; + private final Set<String> additionalKeywords; public BuildEventServiceProtoUtil( String buildRequestId, @@ -56,7 +56,7 @@ public final class BuildEventServiceProtoUtil { @Nullable String projectId, String commandName, Clock clock, - List<String> additionalKeywords) { + Set<String> additionalKeywords) { this.buildRequestId = buildRequestId; this.buildInvocationId = buildInvocationId; this.projectId = projectId; @@ -192,8 +192,8 @@ public final class BuildEventServiceProtoUtil { } /** Keywords used by BES subscribers to filter notifications */ - private ImmutableList<String> getKeywords() { - return ImmutableList.<String>builder() + private ImmutableSet<String> getKeywords() { + return ImmutableSet.<String>builder() .add("command_name=" + commandName) .add("protocol_name=BEP") .addAll(additionalKeywords) diff --git a/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceTransport.java b/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceTransport.java index 3aba07f73d..9f603fc0d6 100644 --- a/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceTransport.java +++ b/src/main/java/com/google/devtools/build/lib/buildeventservice/BuildEventServiceTransport.java @@ -58,7 +58,7 @@ import com.google.protobuf.Any; import io.grpc.Status; import java.time.Duration; import java.util.Deque; -import java.util.List; +import java.util.Set; import java.util.concurrent.BlockingDeque; import java.util.concurrent.Callable; import java.util.concurrent.ConcurrentLinkedDeque; @@ -133,7 +133,7 @@ public class BuildEventServiceTransport implements BuildEventTransport { PathConverter pathConverter, EventHandler commandLineReporter, @Nullable String projectId, - List<String> keywords) { + Set<String> keywords) { this(besClient, uploadTimeout, bestEffortUpload, publishLifecycleEvents, buildRequestId, invocationId, command, moduleEnvironment, clock, pathConverter, commandLineReporter, projectId, keywords, new JavaSleeper()); @@ -153,7 +153,7 @@ public class BuildEventServiceTransport implements BuildEventTransport { PathConverter pathConverter, EventHandler commandLineReporter, @Nullable String projectId, - List<String> keywords, + Set<String> keywords, Sleeper sleeper) { this.besClient = besClient; this.besProtoUtil = new BuildEventServiceProtoUtil( |