1// Copyright 2017 The Bazel Authors. All rights reserved.
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.
14syntax = "proto3";
15
16package options;
17
18// option java_api_version = 2;
19option java_package = "com.google.devtools.common.options.proto";
20
21// IMPORTANT NOTE: These two enums must be kept in sync with their Java
22// equivalents in src/main/java/com/google/devtools/common/options.
23// Changing this proto has specific compatibility requirements, please see the
24// Java documentation for details.
25
26// Docs in java enum.
27enum OptionEffectTag {
28  // This option's effect or intent is unknown.
29  UNKNOWN = 0;
30
31  // This flag has literally no effect.
32  NO_OP = 1;
33
34  LOSES_INCREMENTAL_STATE = 2;
35  CHANGES_INPUTS = 3;
36  AFFECTS_OUTPUTS = 4;
37  BUILD_FILE_SEMANTICS = 5;
38  BAZEL_INTERNAL_CONFIGURATION = 6;
39  LOADING_AND_ANALYSIS = 7;
40  EXECUTION = 8;
41  HOST_MACHINE_RESOURCE_OPTIMIZATIONS = 9;
42  EAGERNESS_TO_EXIT = 10;
43  BAZEL_MONITORING = 11;
44  TERMINAL_OUTPUT = 12;
45  ACTION_COMMAND_LINES = 13;
46  TEST_RUNNER = 14;
47}
48
49// Docs in java enum.
50enum OptionMetadataTag {
51  EXPERIMENTAL = 0;
52  INCOMPATIBLE_CHANGE = 1;
53  DEPRECATED = 2;
54  HIDDEN = 3;
55  INTERNAL = 4;
56  reserved "TRIGGERED_BY_ALL_INCOMPATIBLE_CHANGES";
57  reserved 5;
58  EXPLICIT_IN_OUTPUT_PATH = 6;
59}
60