hack/update-vendor.sh
This commit is contained in:
1857
vendor/github.com/bazelbuild/buildtools/build_proto/build.gen.pb.go
generated
vendored
1857
vendor/github.com/bazelbuild/buildtools/build_proto/build.gen.pb.go
generated
vendored
File diff suppressed because it is too large
Load Diff
565
vendor/github.com/bazelbuild/buildtools/build_proto/build.proto
generated
vendored
Normal file
565
vendor/github.com/bazelbuild/buildtools/build_proto/build.proto
generated
vendored
Normal file
@@ -0,0 +1,565 @@
|
||||
// Copyright 2014 The Bazel Authors. All rights reserved.
|
||||
//
|
||||
// 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.
|
||||
//
|
||||
// This file contains the protocol buffer representation of a build
|
||||
// file or 'blaze query --output=proto' call.
|
||||
|
||||
syntax = "proto2";
|
||||
|
||||
package blaze_query;
|
||||
|
||||
// option cc_api_version = 2;
|
||||
// option java_api_version = 1;
|
||||
|
||||
option java_package = "com.google.devtools.build.lib.query2.proto.proto2api";
|
||||
|
||||
message License {
|
||||
repeated string license_type = 1;
|
||||
repeated string exception = 2;
|
||||
}
|
||||
|
||||
message StringDictEntry {
|
||||
required string key = 1;
|
||||
required string value = 2;
|
||||
}
|
||||
|
||||
message LabelDictUnaryEntry {
|
||||
required string key = 1;
|
||||
required string value = 2;
|
||||
}
|
||||
|
||||
message LabelListDictEntry {
|
||||
required string key = 1;
|
||||
repeated string value = 2;
|
||||
}
|
||||
|
||||
message LabelKeyedStringDictEntry {
|
||||
required string key = 1;
|
||||
required string value = 2;
|
||||
}
|
||||
|
||||
message StringListDictEntry {
|
||||
required string key = 1;
|
||||
repeated string value = 2;
|
||||
}
|
||||
|
||||
// Represents an entry attribute of a Fileset rule in a build file.
|
||||
message FilesetEntry {
|
||||
// Indicates what to do when a source file is actually a symlink.
|
||||
enum SymlinkBehavior {
|
||||
COPY = 1;
|
||||
DEREFERENCE = 2;
|
||||
}
|
||||
|
||||
// The label pointing to the source target where files are copied from.
|
||||
required string source = 1;
|
||||
|
||||
// The relative path within the fileset rule where files will be mapped.
|
||||
required string destination_directory = 2;
|
||||
|
||||
// Whether the files= attribute was specified. This is necessary because
|
||||
// no files= attribute and files=[] mean different things.
|
||||
optional bool files_present = 7;
|
||||
|
||||
// A list of file labels to include from the source directory.
|
||||
repeated string file = 3;
|
||||
|
||||
// If this is a fileset entry representing files within the rule
|
||||
// package, this lists relative paths to files that should be excluded from
|
||||
// the set. This cannot contain values if 'file' also has values.
|
||||
repeated string exclude = 4;
|
||||
|
||||
// This field is optional because there will be some time when the new
|
||||
// PB is used by tools depending on blaze query, but the new blaze version
|
||||
// is not yet released.
|
||||
// TODO(bazel-team): Make this field required once a version of Blaze is
|
||||
// released that outputs this field.
|
||||
optional SymlinkBehavior symlink_behavior = 5 [ default=COPY ];
|
||||
|
||||
// The prefix to strip from the path of the files in this FilesetEntry. Note
|
||||
// that no value and the empty string as the value mean different things here.
|
||||
optional string strip_prefix = 6;
|
||||
}
|
||||
|
||||
// A rule attribute. Each attribute must have a type and one of the various
|
||||
// value fields populated - for the most part.
|
||||
//
|
||||
// Attributes of BOOLEAN and TRISTATE type may set all of the int, bool, and
|
||||
// string values for backwards compatibility with clients that expect them to
|
||||
// be set.
|
||||
//
|
||||
// Attributes of INTEGER, STRING, LABEL, LICENSE, BOOLEAN, and TRISTATE type
|
||||
// may set *none* of the values. This can happen if the Attribute message is
|
||||
// prepared for a client that doesn't support SELECTOR_LIST, but the rule has
|
||||
// a selector list value for the attribute. (Selector lists for attributes of
|
||||
// other types--the collection types--are handled differently when prepared
|
||||
// for such a client. The possible collection values are gathered together
|
||||
// and flattened.)
|
||||
//
|
||||
// By checking the type, the appropriate value can be extracted - see the
|
||||
// comments on each type for the associated value. The order of lists comes
|
||||
// from the blaze parsing. If an attribute is of a list type, the associated
|
||||
// list should never be empty.
|
||||
message Attribute {
|
||||
// Indicates the type of attribute.
|
||||
enum Discriminator {
|
||||
INTEGER = 1; // int_value
|
||||
STRING = 2; // string_value
|
||||
LABEL = 3; // string_value
|
||||
OUTPUT = 4; // string_value
|
||||
STRING_LIST = 5; // string_list_value
|
||||
LABEL_LIST = 6; // string_list_value
|
||||
OUTPUT_LIST = 7; // string_list_value
|
||||
DISTRIBUTION_SET = 8; // string_list_value - order is unimportant
|
||||
LICENSE = 9; // license
|
||||
STRING_DICT = 10; // string_dict_value
|
||||
FILESET_ENTRY_LIST = 11; // fileset_list_value
|
||||
LABEL_LIST_DICT = 12; // label_list_dict_value
|
||||
STRING_LIST_DICT = 13; // string_list_dict_value
|
||||
BOOLEAN = 14; // int, bool and string value
|
||||
TRISTATE = 15; // tristate, int and string value
|
||||
INTEGER_LIST = 16; // int_list_value
|
||||
UNKNOWN = 18; // unknown type, use only for build extensions
|
||||
LABEL_DICT_UNARY = 19; // label_dict_unary_value
|
||||
SELECTOR_LIST = 20; // selector_list
|
||||
LABEL_KEYED_STRING_DICT = 21; // label_keyed_string_dict
|
||||
|
||||
DEPRECATED_STRING_DICT_UNARY = 17;
|
||||
|
||||
}
|
||||
|
||||
// Values for the TriState field type.
|
||||
enum Tristate {
|
||||
NO = 0;
|
||||
YES = 1;
|
||||
AUTO = 2;
|
||||
}
|
||||
|
||||
message SelectorEntry {
|
||||
// The key of the selector entry. At this time, this is the label of a
|
||||
// config_setting rule, or the pseudo-label "//conditions:default".
|
||||
optional string label = 1;
|
||||
|
||||
// True if the entry's value is the default value for the type as a
|
||||
// result of the condition value being specified as None (ie:
|
||||
// {"//condition": None}).
|
||||
optional bool is_default_value = 16;
|
||||
|
||||
// Exactly one of the following fields (except for glob_criteria) must be
|
||||
// populated - note that the BOOLEAN and TRISTATE caveat in Attribute's
|
||||
// comment does not apply here. The type field in the SelectorList
|
||||
// containing this entry indicates which of these fields is populated,
|
||||
// in accordance with the comments on Discriminator enum values above.
|
||||
// (To be explicit: BOOLEAN populates the boolean_value field and TRISTATE
|
||||
// populates the tristate_value field.)
|
||||
optional int32 int_value = 2;
|
||||
optional string string_value = 3;
|
||||
optional bool boolean_value = 4;
|
||||
optional Tristate tristate_value = 5;
|
||||
repeated string string_list_value = 6;
|
||||
optional License license = 7;
|
||||
repeated StringDictEntry string_dict_value = 8;
|
||||
repeated FilesetEntry fileset_list_value = 9;
|
||||
repeated LabelListDictEntry label_list_dict_value = 10;
|
||||
repeated StringListDictEntry string_list_dict_value = 11;
|
||||
repeated int32 int_list_value = 13;
|
||||
repeated LabelDictUnaryEntry label_dict_unary_value = 15;
|
||||
repeated LabelKeyedStringDictEntry label_keyed_string_dict_value = 17;
|
||||
|
||||
repeated DEPRECATED_GlobCriteria DEPRECATED_glob_criteria = 12;
|
||||
repeated bytes DEPRECATED_string_dict_unary_value = 14;
|
||||
}
|
||||
|
||||
message Selector {
|
||||
// The list of (label, value) pairs in the map that defines the selector.
|
||||
// At this time, this cannot be empty, i.e. a selector has at least one
|
||||
// entry.
|
||||
repeated SelectorEntry entries = 1;
|
||||
|
||||
// Whether or not this has any default values.
|
||||
optional bool has_default_value = 2;
|
||||
|
||||
// The error message when no condition matches.
|
||||
optional string no_match_error = 3;
|
||||
}
|
||||
|
||||
message SelectorList {
|
||||
// The type that this selector list evaluates to, and the type that each
|
||||
// selector in the list evaluates to. At this time, this cannot be
|
||||
// SELECTOR_LIST, i.e. selector lists do not nest.
|
||||
optional Discriminator type = 1;
|
||||
|
||||
// The list of selector elements in this selector list. At this time, this
|
||||
// cannot be empty, i.e. a selector list is never empty.
|
||||
repeated Selector elements = 2;
|
||||
}
|
||||
|
||||
// The name of the attribute
|
||||
required string name = 1;
|
||||
|
||||
// The location of the target in the BUILD file in a machine-parseable form.
|
||||
optional Location DEPRECATED_parseable_location = 12;
|
||||
|
||||
// Whether the attribute was explicitly specified
|
||||
optional bool explicitly_specified = 13;
|
||||
|
||||
// If this attribute has a string value or a string list value, then this
|
||||
// may be set to indicate that the value may be treated as a label that
|
||||
// isn't a dependency of this attribute's rule.
|
||||
optional bool nodep = 20;
|
||||
|
||||
// The type of attribute. This message is used for all of the different
|
||||
// attribute types so the discriminator helps for figuring out what is
|
||||
// stored in the message.
|
||||
required Discriminator type = 2;
|
||||
|
||||
// If this attribute has an integer value this will be populated.
|
||||
// Boolean and TriState also use this field as [0,1] and [-1,0,1]
|
||||
// for [false, true] and [auto, no, yes] respectively.
|
||||
optional int32 int_value = 3;
|
||||
|
||||
// If the attribute has a string value this will be populated. Label and
|
||||
// path attributes use this field as the value even though the type may
|
||||
// be LABEL or something else other than STRING.
|
||||
optional string string_value = 5;
|
||||
|
||||
// If the attribute has a boolean value this will be populated.
|
||||
optional bool boolean_value = 14;
|
||||
|
||||
// If the attribute is a Tristate value, this will be populated.
|
||||
optional Tristate tristate_value = 15;
|
||||
|
||||
// The value of the attribute has a list of string values (label and path
|
||||
// note from STRING applies here as well).
|
||||
repeated string string_list_value = 6;
|
||||
|
||||
// If this is a license attribute, the license information is stored here.
|
||||
optional License license = 7;
|
||||
|
||||
// If this is a string dict, each entry will be stored here.
|
||||
repeated StringDictEntry string_dict_value = 8;
|
||||
|
||||
// If the attribute is part of a Fileset, the fileset entries are stored in
|
||||
// this field.
|
||||
repeated FilesetEntry fileset_list_value = 9;
|
||||
|
||||
// If this is a label list dict, each entry will be stored here.
|
||||
repeated LabelListDictEntry label_list_dict_value = 10;
|
||||
|
||||
// If this is a string list dict, each entry will be stored here.
|
||||
repeated StringListDictEntry string_list_dict_value = 11;
|
||||
|
||||
// The value of the attribute has a list of int32 values
|
||||
repeated int32 int_list_value = 17;
|
||||
|
||||
// If this is a label dict unary, each entry will be stored here.
|
||||
repeated LabelDictUnaryEntry label_dict_unary_value = 19;
|
||||
|
||||
// If this is a label-keyed string dict, each entry will be stored here.
|
||||
repeated LabelKeyedStringDictEntry label_keyed_string_dict_value = 22;
|
||||
|
||||
// If this attribute's value is an expression containing one or more select
|
||||
// expressions, then its type is SELECTOR_LIST and a SelectorList will be
|
||||
// stored here.
|
||||
optional SelectorList selector_list = 21;
|
||||
|
||||
repeated DEPRECATED_GlobCriteria DEPRECATED_glob_criteria = 16;
|
||||
repeated bytes DEPRECATED_string_dict_unary_value = 18;
|
||||
}
|
||||
|
||||
// A rule instance (e.g., cc_library foo, java_binary bar).
|
||||
message Rule {
|
||||
// The name of the rule (formatted as an absolute label, e.g. //foo/bar:baz).
|
||||
required string name = 1;
|
||||
|
||||
// The rule class (e.g., java_library)
|
||||
required string rule_class = 2;
|
||||
|
||||
// The BUILD file and line number of the location (formatted as
|
||||
// <absolute_path>:<line_number>) in the rule's package's BUILD file where the
|
||||
// rule instance was instantiated. The line number will be that of a rule
|
||||
// invocation or macro call (that in turn invoked a rule). See
|
||||
// https://docs.bazel.build/versions/master/skylark/macros.html#macro-creation
|
||||
optional string location = 3;
|
||||
|
||||
// All of the attributes that describe the rule.
|
||||
repeated Attribute attribute = 4;
|
||||
|
||||
// All of the inputs to the rule (formatted as absolute labels). These are
|
||||
// predecessors in the dependency graph.
|
||||
repeated string rule_input = 5;
|
||||
|
||||
// All of the outputs of the rule (formatted as absolute labels). These are
|
||||
// successors in the dependency graph.
|
||||
repeated string rule_output = 6;
|
||||
|
||||
// The set of all default settings affecting this rule. The name of a default
|
||||
// setting is "<setting type>_<setting name>". There currently defined setting
|
||||
// types are:
|
||||
//
|
||||
// - 'blaze': settings implemented in Blaze itself
|
||||
repeated string default_setting = 7;
|
||||
|
||||
// The location of the target in the BUILD file in a machine-parseable form.
|
||||
optional Location DEPRECATED_parseable_location = 8;
|
||||
|
||||
// The rule's class's public by default value.
|
||||
optional bool public_by_default = 9;
|
||||
|
||||
// If this rule is of a skylark-defined RuleClass.
|
||||
optional bool is_skylark = 10;
|
||||
|
||||
// List of Skylark aspects that this rule applies.
|
||||
repeated AttributeAspect skylark_attribute_aspects = 11;
|
||||
|
||||
// Hash encapsulating the behavior of this Skylark rule. Any change to this
|
||||
// rule's definition that could change its behavior will be reflected here.
|
||||
optional string skylark_environment_hash_code = 12;
|
||||
}
|
||||
|
||||
// A pairing of attribute name and a Skylark aspect that is applied to that
|
||||
// attribute.
|
||||
message AttributeAspect {
|
||||
required string attribute_name = 1;
|
||||
required SkylarkAspect aspect = 2;
|
||||
}
|
||||
|
||||
// Aspect defined in Skylark.
|
||||
message SkylarkAspect {
|
||||
required string extension_file_label = 1;
|
||||
required string exported_name = 2;
|
||||
repeated Attribute attribute = 3;
|
||||
}
|
||||
|
||||
// Summary of all transitive dependencies of 'rule,' where each dependent
|
||||
// rule is included only once in the 'dependency' field. Gives complete
|
||||
// information to analyze the single build target labeled rule.name,
|
||||
// including optional location of target in BUILD file.
|
||||
message RuleSummary {
|
||||
required Rule rule = 1;
|
||||
repeated Rule dependency = 2;
|
||||
optional string location = 3;
|
||||
}
|
||||
|
||||
// A package group. Aside from the name, it contains the list of packages
|
||||
// present in the group (as specified in the BUILD file).
|
||||
message PackageGroup {
|
||||
// The name of the package group
|
||||
required string name = 1;
|
||||
|
||||
// The list of packages as specified in the BUILD file. Currently this is
|
||||
// only a list of packages, but some time in the future, there might be
|
||||
// some type of wildcard mechanism.
|
||||
repeated string contained_package = 2;
|
||||
|
||||
// The list of sub package groups included in this one.
|
||||
repeated string included_package_group = 3;
|
||||
|
||||
// The location of the target in the BUILD file in a machine-parseable form.
|
||||
optional Location DEPRECATED_parseable_location = 4;
|
||||
}
|
||||
|
||||
// An environment group.
|
||||
message EnvironmentGroup {
|
||||
// The name of the environment group.
|
||||
required string name = 1;
|
||||
|
||||
// The environments that belong to this group (as labels).
|
||||
repeated string environment = 2;
|
||||
|
||||
// The member environments that rules implicitly support if not otherwise
|
||||
// specified.
|
||||
repeated string default = 3;
|
||||
}
|
||||
|
||||
// A file that is an input into the build system.
|
||||
// Next-Id: 10
|
||||
message SourceFile {
|
||||
// The name of the source file (a label).
|
||||
required string name = 1;
|
||||
|
||||
// The location of the source file. This is a path with line numbers, not
|
||||
// a label in the build system.
|
||||
optional string location = 2;
|
||||
|
||||
// The location of the corresponding label in the BUILD file in a
|
||||
// machine-parseable form.
|
||||
optional Location DEPRECATED_parseable_location = 7;
|
||||
|
||||
// Labels of .bzl (Skylark) files that are transitively loaded in this BUILD
|
||||
// file. This is present only when the SourceFile represents a BUILD file that
|
||||
// loaded .bzl files.
|
||||
// TODO(bazel-team): Rename this field.
|
||||
repeated string subinclude = 3;
|
||||
|
||||
// Labels of package groups that are mentioned in the visibility declaration
|
||||
// for this source file.
|
||||
repeated string package_group = 4;
|
||||
|
||||
// Labels mentioned in the visibility declaration (including :__pkg__ and
|
||||
// //visibility: ones)
|
||||
repeated string visibility_label = 5;
|
||||
|
||||
// The package-level features enabled for this package. Only present if the
|
||||
// SourceFile represents a BUILD file.
|
||||
repeated string feature = 6;
|
||||
|
||||
// License attribute for the file.
|
||||
optional License license = 8;
|
||||
|
||||
// True if the package contains an error. Only present if the SourceFile
|
||||
// represents a BUILD file.
|
||||
optional bool package_contains_errors = 9;
|
||||
}
|
||||
|
||||
// A file that is the output of a build rule.
|
||||
message GeneratedFile {
|
||||
// The name of the generated file (a label).
|
||||
required string name = 1;
|
||||
|
||||
// The label of the target that generates the file.
|
||||
required string generating_rule = 2;
|
||||
|
||||
// The path of the output file (not a label).
|
||||
optional string location = 3;
|
||||
}
|
||||
|
||||
// A target from a blaze query execution. Similar to the Attribute message,
|
||||
// the Discriminator is used to determine which field contains information.
|
||||
// For any given type, only one of these can be populated in a single Target.
|
||||
message Target {
|
||||
enum Discriminator {
|
||||
RULE = 1;
|
||||
SOURCE_FILE = 2;
|
||||
GENERATED_FILE = 3;
|
||||
PACKAGE_GROUP = 4;
|
||||
ENVIRONMENT_GROUP = 5;
|
||||
}
|
||||
|
||||
// The type of target contained in the message.
|
||||
required Discriminator type = 1;
|
||||
|
||||
// If this target represents a rule, the rule is stored here.
|
||||
optional Rule rule = 2;
|
||||
|
||||
// A file that is not generated by the build system (version controlled
|
||||
// or created by the test harness).
|
||||
optional SourceFile source_file = 3;
|
||||
|
||||
// A generated file that is the output of a rule.
|
||||
optional GeneratedFile generated_file = 4;
|
||||
|
||||
// A package group.
|
||||
optional PackageGroup package_group = 5;
|
||||
|
||||
// An environment group.
|
||||
optional EnvironmentGroup environment_group = 6;
|
||||
}
|
||||
|
||||
// Container for all of the blaze query results.
|
||||
message QueryResult {
|
||||
// All of the targets returned by the blaze query.
|
||||
repeated Target target = 1;
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// Messages dealing with querying the BUILD language itself. For now, this is
|
||||
// quite simplistic: Blaze can only tell the names of the rule classes, their
|
||||
// attributes with their type.
|
||||
|
||||
// Information about allowed rule classes for a specific attribute of a rule.
|
||||
message AllowedRuleClassInfo {
|
||||
enum AllowedRuleClasses {
|
||||
ANY = 1; // Any rule is allowed to be in this attribute
|
||||
SPECIFIED = 2; // Only the explicitly listed rules are allowed
|
||||
}
|
||||
|
||||
required AllowedRuleClasses policy = 1;
|
||||
|
||||
// Rule class names of rules allowed in this attribute, e.g "cc_library",
|
||||
// "py_binary". Only present if the allowed_rule_classes field is set to
|
||||
// SPECIFIED.
|
||||
repeated string allowed_rule_class = 2;
|
||||
}
|
||||
|
||||
// This message represents a single attribute of a single rule.
|
||||
message AttributeDefinition {
|
||||
|
||||
// Attribute name, i.e. "name", "srcs", "deps"
|
||||
required string name = 1;
|
||||
required Attribute.Discriminator type = 2;
|
||||
required bool mandatory = 3;
|
||||
|
||||
// Only present for attributes of type LABEL and LABEL_LIST.
|
||||
optional AllowedRuleClassInfo allowed_rule_classes = 4;
|
||||
|
||||
optional string documentation = 5;
|
||||
}
|
||||
|
||||
message RuleDefinition {
|
||||
required string name = 1;
|
||||
// Only contains documented attributes
|
||||
repeated AttributeDefinition attribute = 2;
|
||||
optional string documentation = 3;
|
||||
// Only for build extensions: label to file that defines the extension
|
||||
optional string label = 4;
|
||||
}
|
||||
|
||||
message BuildLanguage {
|
||||
// Only contains documented rule definitions
|
||||
repeated RuleDefinition rule = 1;
|
||||
}
|
||||
|
||||
message Location {
|
||||
optional int32 start_offset = 1;
|
||||
optional int32 start_line = 2;
|
||||
optional int32 start_column = 3;
|
||||
optional int32 end_offset = 4;
|
||||
optional int32 end_line = 5;
|
||||
optional int32 end_column = 6;
|
||||
}
|
||||
|
||||
message MakeVarBinding {
|
||||
required string value = 1;
|
||||
required string platform_set_regexp = 2;
|
||||
}
|
||||
|
||||
message MakeVar {
|
||||
required string name = 1;
|
||||
repeated MakeVarBinding binding = 2;
|
||||
}
|
||||
|
||||
message DEPRECATED_GlobCriteria {
|
||||
// List of includes (or items if this criteria did not come from a glob)
|
||||
repeated string include = 1;
|
||||
|
||||
// List of exclude expressions
|
||||
repeated string exclude = 2;
|
||||
|
||||
// Whether this message came from a glob
|
||||
optional bool glob = 3;
|
||||
}
|
||||
|
||||
message Event {
|
||||
enum EventKind {
|
||||
ERROR = 1;
|
||||
WARNING = 2;
|
||||
INFO = 3;
|
||||
PROGRESS = 4;
|
||||
}
|
||||
|
||||
required EventKind kind = 1;
|
||||
optional Location DEPRECATED_location = 2;
|
||||
optional string message = 3;
|
||||
}
|
||||
Reference in New Issue
Block a user