aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Klaus Aehlig <aehlig@google.com>2017-06-13 18:14:15 +0200
committerGravatar Yun Peng <pcloudy@google.com>2017-06-14 13:16:38 +0200
commit5c04d2a6d16671c5e470d259916d06aa5087871e (patch)
tree0f379de0d2ed8191829c4e61258c88102983bbcb
parent6186fa5fe9869c6102597b18244fc9546f931632 (diff)
Make packages able to handle Postables as well
Packages can remember events associated with reading the package; also make them aware of additional Postable events. Change-Id: Id7933de7e364b142d0c95fd774585d3271204b2b PiperOrigin-RevId: 158853675
-rw-r--r--src/main/java/com/google/devtools/build/lib/packages/Package.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/Package.java b/src/main/java/com/google/devtools/build/lib/packages/Package.java
index 55f39fdd46..91cc477c21 100644
--- a/src/main/java/com/google/devtools/build/lib/packages/Package.java
+++ b/src/main/java/com/google/devtools/build/lib/packages/Package.java
@@ -31,6 +31,7 @@ import com.google.devtools.build.lib.collect.CollectionUtils;
import com.google.devtools.build.lib.collect.ImmutableSortedKeyMap;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.EventHandler;
+import com.google.devtools.build.lib.events.ExtendedEventHandler.Postable;
import com.google.devtools.build.lib.events.Location;
import com.google.devtools.build.lib.packages.AttributeMap.AcceptsLabelAttribute;
import com.google.devtools.build.lib.packages.License.DistributionType;
@@ -191,6 +192,7 @@ public class Package {
private ImmutableSet<String> features;
private ImmutableList<Event> events;
+ private ImmutableList<Postable> posts;
/**
* Package initialization, part 1 of 3: instantiates a new package with the
@@ -315,6 +317,7 @@ public class Package {
this.defaultDistributionSet = builder.defaultDistributionSet;
this.features = ImmutableSortedSet.copyOf(builder.features);
this.events = ImmutableList.copyOf(builder.events);
+ this.posts = ImmutableList.copyOf(builder.posts);
}
/**
@@ -430,6 +433,10 @@ public class Package {
return containsErrors;
}
+ public List<Postable> getPosts() {
+ return posts;
+ }
+
public List<Event> getEvents() {
return events;
}
@@ -743,6 +750,7 @@ public class Package {
private List<String> defaultCopts = null;
private List<String> features = new ArrayList<>();
private List<Event> events = Lists.newArrayList();
+ private List<Postable> posts = Lists.newArrayList();
private boolean containsErrors = false;
private License defaultLicense = License.NO_LICENSE;
@@ -824,6 +832,10 @@ public class Package {
return filename;
}
+ public List<Postable> getPosts() {
+ return posts;
+ }
+
public List<Event> getEvents() {
return events;
}
@@ -926,6 +938,18 @@ public class Package {
return containsErrors;
}
+ public Builder addPosts(Iterable<Postable> posts) {
+ for (Postable post : posts) {
+ addPost(post);
+ }
+ return this;
+ }
+
+ public Builder addPost(Postable post) {
+ this.posts.add(post);
+ return this;
+ }
+
public Builder addEvents(Iterable<Event> events) {
for (Event event : events) {
addEvent(event);