Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / google-proto-files / google / devtools / build / v1 / build_events.proto
diff --git a/legacy-libs/google-proto-files/google/devtools/build/v1/build_events.proto b/legacy-libs/google-proto-files/google/devtools/build/v1/build_events.proto
new file mode 100644 (file)
index 0000000..8b29a45
--- /dev/null
@@ -0,0 +1,182 @@
+// Copyright 2018 Google LLC.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+syntax = "proto3";
+
+package google.devtools.build.v1;
+
+import "google/api/annotations.proto";
+import "google/devtools/build/v1/build_status.proto";
+import "google/protobuf/any.proto";
+import "google/protobuf/timestamp.proto";
+
+option cc_enable_arenas = true;
+option go_package = "google.golang.org/genproto/googleapis/devtools/build/v1;build";
+option java_multiple_files = true;
+option java_outer_classname = "BuildEventProto";
+option java_package = "com.google.devtools.build.v1";
+
+// An event representing some state change that occurred in the build. This
+// message does not include field for uniquely identifying an event.
+message BuildEvent {
+  // Notification that the build system has attempted to run the build tool.
+  message InvocationAttemptStarted {
+    // The number of the invocation attempt, starting at 1 and increasing by 1
+    // for each new attempt. Can be used to determine if there is a later
+    // invocation attempt replacing the current one a client is processing.
+    int64 attempt_number = 1;
+
+    // Additional details about the invocation.
+    google.protobuf.Any details = 2;
+  }
+
+  // Notification that an invocation attempt has finished.
+  message InvocationAttemptFinished {
+    // Final status of the invocation.
+    BuildStatus invocation_status = 3;
+  }
+
+  // Notification that the build request is enqueued.
+  message BuildEnqueued {
+    // Additional details about the Build.
+    google.protobuf.Any details = 1;
+  }
+
+  // Notification that the build request has finished, and no further
+  // invocations will occur.  Note that this applies to the entire Build.
+  // Individual invocations trigger InvocationFinished when they finish.
+  message BuildFinished {
+    // Final status of the build.
+    BuildStatus status = 1;
+  }
+
+  // Textual output written to standard output or standard error.
+  message ConsoleOutput {
+    // The output stream type.
+    ConsoleOutputStream type = 1;
+
+    // The output stream content.
+    oneof output {
+      // Regular UTF-8 output; normal text.
+      string text_output = 2;
+
+      // Used if the output is not UTF-8 text (for example, a binary proto).
+      bytes binary_output = 3;
+    }
+  }
+
+  // Notification of the end of a build event stream published by a build
+  // component other than CONTROLLER (See StreamId.BuildComponents).
+  message BuildComponentStreamFinished {
+    // How did the event stream finish.
+    enum FinishType {
+      // Unknown or unspecified; callers should never set this value.
+      FINISH_TYPE_UNSPECIFIED = 0;
+
+      // Set by the event publisher to indicate a build event stream is
+      // finished.
+      FINISHED = 1;
+
+      // Set by the WatchBuild RPC server when the publisher of a build event
+      // stream stops publishing events without publishing a
+      // BuildComponentStreamFinished event whose type equals FINISHED.
+      EXPIRED = 2;
+    }
+
+    // How the event stream finished.
+    FinishType type = 1;
+  }
+
+  // The timestamp of this event.
+  google.protobuf.Timestamp event_time = 1;
+
+  // //////////////////////////////////////////////////////////////////////////
+  // Events that indicate a state change of a build request in the build
+  // queue.
+  oneof event {
+    // An invocation attempt has started.
+    InvocationAttemptStarted invocation_attempt_started = 51;
+
+    // An invocation attempt has finished.
+    InvocationAttemptFinished invocation_attempt_finished = 52;
+
+    // The build is enqueued (just inserted to the build queue or put back
+    // into the build queue due to a previous build failure).
+    BuildEnqueued build_enqueued = 53;
+
+    // The build has finished. Set when the build is terminated.
+    BuildFinished build_finished = 55;
+
+    // An event containing printed text.
+    ConsoleOutput console_output = 56;
+
+    // Indicates the end of a build event stream (with the same StreamId) from
+    // a build component executing the requested build task.
+    // *** This field does not indicate the WatchBuild RPC is finished. ***
+    BuildComponentStreamFinished component_stream_finished = 59;
+
+    // Structured build event generated by Bazel about its execution progress.
+    google.protobuf.Any bazel_event = 60;
+
+    // An event that contains supplemental tool-specific information about
+    // build execution.
+    google.protobuf.Any build_execution_event = 61;
+
+    // An event that contains supplemental tool-specific information about
+    // source fetching.
+    google.protobuf.Any source_fetch_event = 62;
+  }
+}
+
+// Unique identifier for a build event stream.
+message StreamId {
+  // Which build component generates this event stream. Each build component
+  // may generate one event stream.
+  enum BuildComponent {
+    // Unknown or unspecified; callers should never set this value.
+    UNKNOWN_COMPONENT = 0;
+
+    // A component that coordinates builds.
+    CONTROLLER = 1;
+
+    // A component that runs executables needed to complete a build.
+    WORKER = 2;
+
+    // A component that builds something.
+    TOOL = 3;
+  }
+
+  // The id of a Build message.
+  string build_id = 1;
+
+  // The unique invocation ID within this build.
+  // It should be the same as {invocation} (below) during the migration.
+  string invocation_id = 6;
+
+  // The component that emitted this event.
+  BuildComponent component = 3;
+}
+
+// The type of console output stream.
+enum ConsoleOutputStream {
+  // Unspecified or unknown.
+  UNKNOWN = 0;
+
+  // Normal output stream.
+  STDOUT = 1;
+
+  // Error output stream.
+  STDERR = 2;
+}