Get desktop application:
View/edit binary Protocol Buffers messages
Information about allowed rule classes for a specific attribute of a rule.
Used in:
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.
Used in:
Any rule is allowed to be in this attribute
Only the explicitly listed rules are allowed
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.
Used in:
,The name of the attribute
The location of the target in the BUILD file in a machine-parseable form.
Whether the attribute was explicitly specified
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.
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.
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.
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.
If the attribute has a boolean value this will be populated.
If the attribute is a Tristate value, this will be populated.
The value of the attribute has a list of string values (label and path note from STRING applies here as well).
If this is a license attribute, the license information is stored here.
If this is a string dict, each entry will be stored here.
If the attribute is part of a Fileset, the fileset entries are stored in this field.
If this is a label list dict, each entry will be stored here.
If this is a string list dict, each entry will be stored here.
The value of the attribute has a list of int32 values
If this is a label dict unary, each entry will be stored here.
If this is a label-keyed string dict, each entry will be stored here.
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.
Indicates the type of attribute.
Used in:
, ,int_value
string_value
string_value
string_value
string_list_value
string_list_value
string_list_value
string_list_value - order is unimportant
license
string_dict_value
fileset_list_value
label_list_dict_value
string_list_dict_value
int, bool and string value
tristate, int and string value
int_list_value
unknown type, use only for build extensions
label_dict_unary_value
selector_list
label_keyed_string_dict
Used in:
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.
Whether or not this has any default values.
The error message when no condition matches.
Used in:
The key of the selector entry. At this time, this is the label of a config_setting rule, or the pseudo-label "//conditions:default".
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}).
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.)
Used in:
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.
The list of selector elements in this selector list. At this time, this cannot be empty, i.e. a selector list is never empty.
Values for the TriState field type.
Used in:
,A pairing of attribute name and a Skylark aspect that is applied to that attribute.
Used in:
This message represents a single attribute of a single rule.
Used in:
Attribute name, i.e. "name", "srcs", "deps"
Only present for attributes of type LABEL and LABEL_LIST.
Only contains documented rule definitions
Used in:
,List of includes (or items if this criteria did not come from a glob)
List of exclude expressions
Whether this message came from a glob
An environment group.
Used in:
The name of the environment group.
The environments that belong to this group (as labels).
The member environments that rules implicitly support if not otherwise specified.
Used in:
Represents an entry attribute of a Fileset rule in a build file.
Used in:
,The label pointing to the source target where files are copied from.
The relative path within the fileset rule where files will be mapped.
Whether the files= attribute was specified. This is necessary because no files= attribute and files=[] mean different things.
A list of file labels to include from the source directory.
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.
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.
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.
Indicates what to do when a source file is actually a symlink.
Used in:
A file that is the output of a build rule.
Used in:
The name of the generated file (a label).
The label of the target that generates the file.
The path of the output file (not a label).
Used in:
,Used in:
,Used in:
,Used in:
, ,Used in:
, , , ,Used in:
A package group. Aside from the name, it contains the list of packages present in the group (as specified in the BUILD file).
Used in:
The name of the package group
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.
The list of sub package groups included in this one.
The location of the target in the BUILD file in a machine-parseable form.
Container for all of the blaze query results.
All of the targets returned by the blaze query.
A rule instance (e.g., cc_library foo, java_binary bar).
Used in:
,The name of the rule (formatted as an absolute label, e.g. //foo/bar:baz).
The rule class (e.g., java_library)
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
All of the attributes that describe the rule.
All of the inputs to the rule (formatted as absolute labels). These are predecessors in the dependency graph.
All of the outputs of the rule (formatted as absolute labels). These are successors in the dependency graph.
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
The location of the target in the BUILD file in a machine-parseable form.
The rule's class's public by default value.
If this rule is of a skylark-defined RuleClass.
List of Skylark aspects that this rule applies.
Hash encapsulating the behavior of this Skylark rule. Any change to this rule's definition that could change its behavior will be reflected here.
Used in:
Only contains documented attributes
Only for build extensions: label to file that defines the extension
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.
Aspect defined in Skylark.
Used in:
A file that is an input into the build system. Next-Id: 10
Used in:
The name of the source file (a label).
The location of the source file. This is a path with line numbers, not a label in the build system.
The location of the corresponding label in the BUILD file in a machine-parseable form.
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.
Labels of package groups that are mentioned in the visibility declaration for this source file.
Labels mentioned in the visibility declaration (including :__pkg__ and //visibility: ones)
The package-level features enabled for this package. Only present if the SourceFile represents a BUILD file.
License attribute for the file.
True if the package contains an error. Only present if the SourceFile represents a BUILD file.
Used in:
,Used in:
,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.
Used in:
The type of target contained in the message.
If this target represents a rule, the rule is stored here.
A file that is not generated by the build system (version controlled or created by the test harness).
A generated file that is the output of a rule.
A package group.
An environment group.
Used in: