BuildEventWithConfiguration: represent configurations as BuildEvent
From a BEP point of view, the only interface of a configuration we care
about is its BuildEvent structure. Represent it as such, so that we
can move this class to the rest of the buildeventstream module. This
is a prerequisite for ActionOwners refering to configurations in the
BEP.
Change-Id: I6d1c1bf2951aac91607e83cad664553cd6620df8
PiperOrigin-RevId: 161510049
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/TargetConfiguredEvent.java b/src/main/java/com/google/devtools/build/lib/analysis/TargetConfiguredEvent.java
index 2473991..56ddc4d 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/TargetConfiguredEvent.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/TargetConfiguredEvent.java
@@ -15,11 +15,13 @@
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
-import com.google.devtools.build.lib.analysis.config.BuildEventWithConfiguration;
+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.BuildEventWithConfiguration;
import com.google.devtools.build.lib.buildeventstream.GenericBuildEvent;
+import com.google.devtools.build.lib.buildeventstream.NullConfiguration;
import com.google.devtools.build.lib.cmdline.Label;
import java.util.Collection;
@@ -34,8 +36,16 @@
}
@Override
- public Collection<BuildConfiguration> getConfigurations() {
- return configurations;
+ public Collection<BuildEvent> getConfigurations() {
+ ImmutableList.Builder<BuildEvent> builder = new ImmutableList.Builder<>();
+ for (BuildConfiguration config : configurations) {
+ if (config != null) {
+ builder.add(config);
+ } else {
+ builder.add(new NullConfiguration());
+ }
+ }
+ return builder.build();
}
@Override