Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / google-proto-files / google / devtools / resultstore / v2 / common.proto
1 // Copyright 2018 Google LLC.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 //
15
16 syntax = "proto3";
17
18 package google.devtools.resultstore.v2;
19
20 import "google/protobuf/duration.proto";
21 import "google/protobuf/timestamp.proto";
22
23 option go_package = "google.golang.org/genproto/googleapis/devtools/resultstore/v2;resultstore";
24 option java_multiple_files = true;
25 option java_package = "com.google.devtools.resultstore.v2";
26
27 // Describes the status of a resource in both enum and string form.
28 // Only use description when conveying additional info not captured in the enum
29 // name.
30 message StatusAttributes {
31   // Enum representation of the status.
32   Status status = 1;
33
34   // A longer description about the status.
35   string description = 2;
36 }
37
38 // A generic key-value property definition.
39 message Property {
40   // The key.
41   string key = 1;
42
43   // The value.
44   string value = 2;
45 }
46
47 // The timing of a particular Invocation, Action, etc. The start_time is
48 // specified, stop time can be calculated by adding duration to start_time.
49 message Timing {
50   // The time the resource started running. This is in UTC Epoch time.
51   google.protobuf.Timestamp start_time = 1;
52
53   // The duration for which the resource ran.
54   google.protobuf.Duration duration = 2;
55 }
56
57 // Represents a dependency of a resource on another resource. This can be used
58 // to define a graph or a workflow paradigm through resources.
59 message Dependency {
60   // The resource depended upon. It may be a Target, ConfiguredTarget, or
61   // Action.
62   oneof resource {
63     // The name of a target.  Its format must be:
64     // invocations/${INVOCATION_ID}/targets/${TARGET_ID}
65     // This must point to an target under the same invocation.
66     string target = 1;
67
68     // The name of a configured target.  Its format must be:
69     // invocations/${INVOCATION_ID}/targets/${TARGET_ID}/configuredTargets/${CONFIG_ID}
70     // This must point to an configured target under the same invocation.
71     string configured_target = 2;
72
73     // The name of an action.  Its format must be:
74     // invocations/${INVOCATION_ID}/targets/${TARGET_ID}/configuredTargets/${CONFIG_ID}/actions/${ACTION_ID}
75     // This must point to an action under the same invocation.
76     string action = 3;
77   }
78
79   // A label describing this dependency.
80   // The label "Root Cause" is handled specially. It is used to point to the
81   // exact resource that caused a resource to fail.
82   string label = 4;
83 }
84
85 // These correspond to the prefix of the rule name. Eg cc_test has language CC.
86 enum Language {
87   // Language unspecified or not listed here.
88   LANGUAGE_UNSPECIFIED = 0;
89
90   // Not related to any particular language
91   NONE = 1;
92
93   // Android
94   ANDROID = 2;
95
96   // ActionScript (Flash)
97   AS = 3;
98
99   // C++ or C
100   CC = 4;
101
102   // Cascading-Style-Sheets
103   CSS = 5;
104
105   // Dart
106   DART = 6;
107
108   // Go
109   GO = 7;
110
111   // Google-Web-Toolkit
112   GWT = 8;
113
114   // Haskell
115   HASKELL = 9;
116
117   // Java
118   JAVA = 10;
119
120   // Javascript
121   JS = 11;
122
123   // Lisp
124   LISP = 12;
125
126   // Objective-C
127   OBJC = 13;
128
129   // Python
130   PY = 14;
131
132   // Shell (Typically Bash)
133   SH = 15;
134
135   // Swift
136   SWIFT = 16;
137
138   // Typescript
139   TS = 18;
140
141   // Webtesting
142   WEB = 19;
143
144   // Scala
145   SCALA = 20;
146
147   // Protocol Buffer
148   PROTO = 21;
149 }
150
151 // Status of a resource.
152 enum Status {
153   // The implicit default enum value. Should never be set.
154   STATUS_UNSPECIFIED = 0;
155
156   // Displays as "Building". Means the target is compiling, linking, etc.
157   BUILDING = 1;
158
159   // Displays as "Built". Means the target was built successfully.
160   // If testing was requested, it should never reach this status: it should go
161   // straight from BUILDING to TESTING.
162   BUILT = 2;
163
164   // Displays as "Broken". Means build failure such as compile error.
165   FAILED_TO_BUILD = 3;
166
167   // Displays as "Testing". Means the test is running.
168   TESTING = 4;
169
170   // Displays as "Passed". Means the test was run and passed.
171   PASSED = 5;
172
173   // Displays as "Failed". Means the test was run and failed.
174   FAILED = 6;
175
176   // Displays as "Timed out". Means the test didn't finish in time.
177   TIMED_OUT = 7;
178
179   // Displays as "Cancelled". Means the build or test was cancelled.
180   // E.g. User hit control-C.
181   CANCELLED = 8;
182
183   // Displays as "Tool Failed". Means the build or test had internal tool
184   // failure.
185   TOOL_FAILED = 9;
186
187   // Displays as "Incomplete". Means the build or test did not complete.  This
188   // might happen when a build breakage or test failure causes the tool to stop
189   // trying to build anything more or run any more tests, with the default
190   // bazel --nokeep_going option or the --notest_keep_going option.
191   INCOMPLETE = 10;
192
193   // Displays as "Flaky". Means the aggregate status contains some runs that
194   // were successful, and some that were not.
195   FLAKY = 11;
196
197   // Displays as "Unknown". Means the tool uploading to the server died
198   // mid-upload or does not know the state.
199   UNKNOWN = 12;
200
201   // Displays as "Skipped". Means building and testing were skipped.
202   // (E.g. Restricted to a different configuration.)
203   SKIPPED = 13;
204 }