You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
182 lines
5.9 KiB
182 lines
5.9 KiB
// 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;
|
|
}
|
|
|