mirror of
https://github.com/peridotbuild/peridot.git
synced 2024-12-30 14:00:56 +00:00
Vendor blaze_query
This commit is contained in:
parent
4402fde788
commit
d025a0f568
5 changed files with 816 additions and 0 deletions
36
third_party/bazel/AUTHORS
vendored
Normal file
36
third_party/bazel/AUTHORS
vendored
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
# This the official list of Bazel authors for copyright purposes.
|
||||||
|
# This file is distinct from the CONTRIBUTORS files.
|
||||||
|
# See the latter for an explanation.
|
||||||
|
|
||||||
|
# Names should be added to this file as:
|
||||||
|
# Name or Organization <email address>
|
||||||
|
# The email address is not required for organizations.
|
||||||
|
|
||||||
|
Google Inc.
|
||||||
|
Anthony Bellissimo <twon33@gmail.com>
|
||||||
|
Volker Braun <vbraun.name@gmail.com>
|
||||||
|
Thomas Broyer <t.broyer@ltgt.net>
|
||||||
|
Steven Dee <steven@choosemuse.com>
|
||||||
|
Alan Donovan <adonovan@google.com>
|
||||||
|
Thiago Farina <tfarina@chromium.org>
|
||||||
|
Peter Foley <pefoley2@pefoley.com>
|
||||||
|
Roland Huß <roland@jolokia.org>
|
||||||
|
Erik Kuefler <ekuefler@gmail.com>
|
||||||
|
liuhuahang <liuhuahang@zerus.co>
|
||||||
|
David Mankin <dmankin@atlassian.com>
|
||||||
|
Kamal Marhubi <kamal@marhubi.com>
|
||||||
|
Carl Mastrangelo <carl-mastrangelo@users.noreply.github.com>
|
||||||
|
Kyle Moffett <kyle@moffetthome.net>
|
||||||
|
NicholasGorski <nicholasgorski@outlook.com>
|
||||||
|
Allen Porter <allen.porter@gmail.com>
|
||||||
|
Doug Rabson <dfr@rabson.org>
|
||||||
|
David Santiago <david.santiago@gmail.com>
|
||||||
|
John Shimek <varikin@gmail.com>
|
||||||
|
Brian Silverman <bsilver16384@gmail.com>
|
||||||
|
John Sullivan <john.t.sullivan@gmail.com>
|
||||||
|
Topher <topher.the.geek@gmail.com>
|
||||||
|
Zhong Wang <linuxerwang@gmail.com>
|
||||||
|
Kevin Watts <kevinwwatts@gmail.com>
|
||||||
|
Jie Yu <yujie.jay@gmail.com>
|
||||||
|
Andrew Z Allen <me@andrewzallen.com>
|
||||||
|
Ming Zhao <mzhao@luminatewireless.com>
|
202
third_party/bazel/LICENSE
vendored
Normal file
202
third_party/bazel/LICENSE
vendored
Normal file
|
@ -0,0 +1,202 @@
|
||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
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.
|
23
third_party/bazel/src/main/protobuf/BUILD
vendored
Normal file
23
third_party/bazel/src/main/protobuf/BUILD
vendored
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
load("@rules_proto//proto:defs.bzl", "proto_library")
|
||||||
|
load("@io_bazel_rules_go//go:def.bzl", "go_library")
|
||||||
|
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
|
||||||
|
|
||||||
|
proto_library(
|
||||||
|
name = "blaze_query_proto",
|
||||||
|
srcs = ["build.proto"],
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
||||||
|
|
||||||
|
go_proto_library(
|
||||||
|
name = "blaze_query_go_proto",
|
||||||
|
importpath = "go.resf.org/peridot/third_party/bazel/src/main/protobuf",
|
||||||
|
proto = ":blaze_query_proto",
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
||||||
|
|
||||||
|
go_library(
|
||||||
|
name = "protobuf",
|
||||||
|
embed = [":blaze_query_go_proto"],
|
||||||
|
importpath = "go.resf.org/peridot/third_party/bazel/src/main/protobuf",
|
||||||
|
visibility = ["//visibility:public"],
|
||||||
|
)
|
541
third_party/bazel/src/main/protobuf/build.proto
vendored
Normal file
541
third_party/bazel/src/main/protobuf/build.proto
vendored
Normal file
|
@ -0,0 +1,541 @@
|
||||||
|
// 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 {
|
||||||
|
reserved 12, 16;
|
||||||
|
|
||||||
|
// 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 {
|
||||||
|
reserved 12;
|
||||||
|
|
||||||
|
// 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 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;
|
||||||
|
|
||||||
|
// 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 bytes DEPRECATED_string_dict_unary_value = 18;
|
||||||
|
}
|
||||||
|
|
||||||
|
// A rule instance (e.g., cc_library foo, java_binary bar).
|
||||||
|
message Rule {
|
||||||
|
reserved 8, 11;
|
||||||
|
|
||||||
|
// 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>:<column_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://bazel.build/rules/macros#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;
|
||||||
|
|
||||||
|
repeated ConfiguredRuleInput configured_rule_input = 15;
|
||||||
|
|
||||||
|
// 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 "features" inherited from the rule's package declaration.
|
||||||
|
repeated string default_setting = 7;
|
||||||
|
|
||||||
|
// The rule's class's public by default value.
|
||||||
|
optional bool DEPRECATED_public_by_default = 9;
|
||||||
|
|
||||||
|
optional bool DEPRECATED_is_skylark = 10;
|
||||||
|
|
||||||
|
// Hash encapsulating the behavior of this Starlark rule. Any change to this
|
||||||
|
// rule's definition that could change its behavior will be reflected here.
|
||||||
|
optional string skylark_environment_hash_code = 12;
|
||||||
|
|
||||||
|
// The Starlark call stack at the moment the rule was instantiated.
|
||||||
|
// Each entry has the form "file:line:col: function".
|
||||||
|
// The outermost stack frame ("<toplevel>", the BUILD file) appears first;
|
||||||
|
// the frame for the rule function itself is omitted.
|
||||||
|
// The file name may be relative to package's source root directory.
|
||||||
|
//
|
||||||
|
// Requires --proto:instantiation_stack=true.
|
||||||
|
repeated string instantiation_stack = 13;
|
||||||
|
|
||||||
|
// The Starlark call stack for the definition of the rule class of this
|
||||||
|
// particular rule instance. If empty, either populating the field was not
|
||||||
|
// enabled on the command line with the --proto:definition_stack flag or the
|
||||||
|
// rule is a native one.
|
||||||
|
repeated string definition_stack = 14;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ConfiguredRuleInput {
|
||||||
|
optional string label = 1;
|
||||||
|
optional string configuration_checksum = 2;
|
||||||
|
optional uint32 configuration_id = 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 {
|
||||||
|
reserved 4;
|
||||||
|
|
||||||
|
// 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 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 {
|
||||||
|
reserved 7;
|
||||||
|
|
||||||
|
// The name of the source file (a label).
|
||||||
|
required string name = 1;
|
||||||
|
|
||||||
|
// The location of the source file. This is a path with a line number and a
|
||||||
|
// column number not a label in the build system.
|
||||||
|
optional string location = 2;
|
||||||
|
|
||||||
|
// Labels of .bzl (Starlark) 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, line number, and column number 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.
|
||||||
|
// See https://bazel.build/rules/lib/attr.
|
||||||
|
message AttributeDefinition {
|
||||||
|
required string name = 1; // e.g. "name", "srcs"
|
||||||
|
required Attribute.Discriminator type = 2;
|
||||||
|
optional bool mandatory = 3;
|
||||||
|
optional AllowedRuleClassInfo allowed_rule_classes = 4; // type=label*
|
||||||
|
optional string documentation = 5;
|
||||||
|
optional bool allow_empty = 6; // type=*_list|*_dict
|
||||||
|
optional bool allow_single_file = 7; // type=label
|
||||||
|
optional AttributeValue default =
|
||||||
|
9; // simple (not computed/late-bound) values only
|
||||||
|
optional bool executable = 10; // type=label
|
||||||
|
optional bool configurable = 11;
|
||||||
|
optional bool nodep =
|
||||||
|
12; // label-valued edge does not establish a dependency
|
||||||
|
optional bool cfg_is_host =
|
||||||
|
13; // edge entails a transition to "host" configuration
|
||||||
|
}
|
||||||
|
|
||||||
|
// An AttributeValue represents the value of an attribute.
|
||||||
|
// A single field, determined by the attribute type, is populated.
|
||||||
|
//
|
||||||
|
// It is used only for AttributeDefinition.default. Attribute and
|
||||||
|
// SelectorEntry do their own thing for unfortunate historical reasons.
|
||||||
|
message AttributeValue {
|
||||||
|
optional int32 int = 1; // type=int|tristate
|
||||||
|
optional string string = 2; // type=string|label|output
|
||||||
|
optional bool bool = 3; // type=bool
|
||||||
|
repeated AttributeValue list = 4; // type=*_list|distrib
|
||||||
|
repeated DictEntry dict = 5; // type=*_dict
|
||||||
|
|
||||||
|
message DictEntry {
|
||||||
|
required string key = 1;
|
||||||
|
required AttributeValue value = 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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;
|
||||||
|
}
|
14
third_party/copybara/bazel/copy.bara.sky
vendored
Normal file
14
third_party/copybara/bazel/copy.bara.sky
vendored
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
core.workflow(
|
||||||
|
name = "default",
|
||||||
|
origin = git.github_origin(
|
||||||
|
url = "https://github.com/bazelbuild/bazel",
|
||||||
|
ref = "6.3.2",
|
||||||
|
),
|
||||||
|
destination = folder.destination(),
|
||||||
|
origin_files = glob(["src/main/protobuf/build.proto", "LICENSE", "AUTHORS"]),
|
||||||
|
destination_files = glob(["third_party/bazel/**"], exclude = ["README_INTERNAL.txt"]),
|
||||||
|
authoring = authoring.pass_thru("peridot-copybara <peridot+copybara@lists.resf.org>"),
|
||||||
|
transformations = [
|
||||||
|
core.move("", "third_party/bazel"),
|
||||||
|
],
|
||||||
|
)
|
Loading…
Reference in a new issue