aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar Klaus Aehlig <aehlig@google.com>2017-05-05 14:03:02 +0200
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2017-05-05 15:27:49 +0200
commite114a5eb00e458561152fa5cd04c318fad948253 (patch)
tree383aed9ee2f024d448e0b3bd749dbb20fefcf63f /src/main/java/com/google/devtools/build
parent598c90d0a24140ef81042efd3fd4aac9d48ec5ed (diff)
BEP: extend the proto definition to support configurations
Extend the build event protocol to be able to report configurations; in this way, we can distinguish, for which configuration a target completed, a test passed, etc. Note that this change allows for an additional expansion step: patterns can be expanded to unconfigured targets that get configured in a separate expansion step. Change-Id: I31442796f57fe9acebc3cb5044e03087c4e4fd59 PiperOrigin-RevId: 155186365
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r--src/main/java/com/google/devtools/build/lib/buildeventstream/proto/build_event_stream.proto32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/buildeventstream/proto/build_event_stream.proto b/src/main/java/com/google/devtools/build/lib/buildeventstream/proto/build_event_stream.proto
index ea7aba800c..9439273352 100644
--- a/src/main/java/com/google/devtools/build/lib/buildeventstream/proto/build_event_stream.proto
+++ b/src/main/java/com/google/devtools/build/lib/buildeventstream/proto/build_event_stream.proto
@@ -73,6 +73,12 @@ message BuildEventId {
repeated string pattern = 1;
}
+ // Identifier of an event indicating that a target has been expanded by
+ // identifying for which configurations it should be build.
+ message TargetConfiguredId {
+ string label = 1;
+ }
+
// Identifier of an event introducing a named set of files (usually artifacts)
// to be referred to in later messages.
message NamedSetOfFilesId {
@@ -81,6 +87,14 @@ message BuildEventId {
string id = 1;
}
+ // Identifier of an event introducing a configuration.
+ message ConfigurationId {
+ // Identifier of the configuraiton; users of the protocol should not make
+ // any assumptions about it having any structure, or equality of the
+ // identifier between different streams.
+ string id = 1;
+ }
+
// Identifier of an event indicating that a target was built completely; this
// does not include running the test if the target is a test target.
message TargetCompletedId {
@@ -126,6 +140,8 @@ message BuildEventId {
CommandLineId command_line = 11;
WorkspaceStatusId workspace_status = 14;
OptionsParsedId options_parsed = 12;
+ ConfigurationId configuration = 15;
+ TargetConfiguredId target_configured = 16;
PatternExpandedId pattern = 4;
PatternExpandedId pattern_skipped = 10;
NamedSetOfFilesId named_set = 13;
@@ -242,6 +258,13 @@ message WorkspaceStatus {
repeated Item item = 1;
}
+// Payload of an event reporting details of a given configuration.
+message Configuration {
+ string mnemonic = 1;
+ string platform_name = 2;
+ string cpu = 3;
+}
+
// Payload of the event indicating the expansion of a target pattern.
// The main information is in the chaining part: the id will contain the
// target pattern that was expanded and the children id will contain the
@@ -249,6 +272,13 @@ message WorkspaceStatus {
message PatternExpanded {
}
+// Payload of the event indicating that the configurations for a target have
+// been identified. As with pattern expansion the main information is in the
+// chaining part: the id will contain the target that was configured and the
+// children id will ctontain the configured targets it was configured to.
+message TargetConfigured {
+}
+
message File {
// identifier indicating the nature of the file (e.g., "stdout", "stderr")
string name = 1;
@@ -432,7 +462,9 @@ message BuildEvent {
CommandLine command_line = 12;
OptionsParsed options_parsed = 13;
WorkspaceStatus workspace_status = 16;
+ Configuration configuration = 17;
PatternExpanded expanded = 6;
+ TargetConfigured configured = 18;
ActionExecuted action = 7;
NamedSetOfFiles named_set_of_files = 15;
TargetComplete completed = 8;