vagrant-unbundled 2.3.2.0 → 2.3.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -0
  3. data/CHANGELOG.md +57 -0
  4. data/Gemfile.lock +40 -40
  5. data/LICENSE +1 -3
  6. data/Makefile +53 -9
  7. data/contrib/bash/completion.sh +15 -0
  8. data/go.mod +1 -1
  9. data/go.sum +2 -10
  10. data/lib/vagrant/action/builtin/box_add.rb +16 -6
  11. data/lib/vagrant/environment.rb +1 -1
  12. data/lib/vagrant/errors.rb +12 -0
  13. data/lib/vagrant/plugin/v2/config.rb +0 -5
  14. data/lib/vagrant/shared_helpers.rb +21 -0
  15. data/lib/vagrant/util/file_mutex.rb +47 -0
  16. data/lib/vagrant/util/install_cli_autocomplete.rb +3 -3
  17. data/lib/vagrant/util/platform.rb +8 -2
  18. data/lib/vagrant/util.rb +1 -0
  19. data/lib/vagrant.rb +1 -3
  20. data/pkg/vagrant-unbundled-2.3.2.0.gem +0 -0
  21. data/pkg/vagrant-unbundled-2.3.3.0.gem +0 -0
  22. data/plugins/commands/box/command/outdated.rb +1 -1
  23. data/plugins/commands/serve/command.rb +22 -24
  24. data/plugins/commands/serve/constants.rb +8 -0
  25. data/plugins/communicators/ssh/communicator.rb +11 -20
  26. data/plugins/guests/solaris/cap/remove_public_key.rb +2 -2
  27. data/plugins/hosts/arch/host.rb +1 -1
  28. data/plugins/hosts/gentoo/host.rb +1 -1
  29. data/plugins/hosts/slackware/host.rb +1 -1
  30. data/plugins/kernel_v2/config/vm.rb +0 -9
  31. data/plugins/providers/docker/action.rb +1 -2
  32. data/plugins/providers/docker/driver.rb +17 -1
  33. data/plugins/providers/hyperv/driver.rb +6 -1
  34. data/plugins/providers/hyperv/scripts/set_enhanced_session_transport_type.ps1 +11 -2
  35. data/plugins/providers/hyperv/scripts/utils/VagrantVM/VagrantVM.psm1 +15 -0
  36. data/plugins/providers/virtualbox/action/check_virtualbox.rb +0 -6
  37. data/plugins/providers/virtualbox/action/network.rb +23 -5
  38. data/plugins/providers/virtualbox/driver/base.rb +49 -1
  39. data/plugins/providers/virtualbox/driver/version_5_0.rb +40 -36
  40. data/plugins/providers/virtualbox/driver/version_7_0.rb +241 -6
  41. data/plugins/provisioners/ansible/cap/guest/debian/ansible_install.rb +5 -1
  42. data/plugins/provisioners/ansible/cap/guest/posix/ansible_installed.rb +2 -2
  43. data/plugins/provisioners/ansible/provisioner/guest.rb +1 -1
  44. data/plugins/provisioners/ansible/provisioner/host.rb +4 -3
  45. data/plugins/provisioners/chef/config/chef_zero.rb +1 -1
  46. data/plugins/synced_folders/rsync/helper.rb +4 -6
  47. data/templates/commands/init/Vagrantfile.erb +7 -0
  48. data/templates/locales/en.yml +16 -0
  49. data/thirdparty/proto/api-common-protos/.bazelrc +2 -0
  50. data/thirdparty/proto/api-common-protos/.git +1 -0
  51. data/thirdparty/proto/api-common-protos/.gitignore +11 -0
  52. data/thirdparty/proto/api-common-protos/BUILD.bazel +129 -0
  53. data/thirdparty/proto/api-common-protos/CODE_OF_CONDUCT.md +43 -0
  54. data/thirdparty/proto/api-common-protos/CONTRIBUTING.md +42 -0
  55. data/thirdparty/proto/api-common-protos/Dockerfile +18 -0
  56. data/thirdparty/proto/api-common-protos/LICENSE +201 -0
  57. data/thirdparty/proto/api-common-protos/README.md +113 -0
  58. data/thirdparty/proto/api-common-protos/SECURITY.md +7 -0
  59. data/thirdparty/proto/api-common-protos/WORKSPACE +154 -0
  60. data/thirdparty/proto/api-common-protos/google/api/BUILD.bazel +246 -0
  61. data/thirdparty/proto/api-common-protos/google/api/README.md +46 -0
  62. data/thirdparty/proto/api-common-protos/google/api/annotations.proto +31 -0
  63. data/thirdparty/proto/api-common-protos/google/api/auth.proto +181 -0
  64. data/thirdparty/proto/api-common-protos/google/api/backend.proto +51 -0
  65. data/thirdparty/proto/api-common-protos/google/api/billing.proto +67 -0
  66. data/thirdparty/proto/api-common-protos/google/api/client.proto +99 -0
  67. data/thirdparty/proto/api-common-protos/google/api/config_change.proto +85 -0
  68. data/thirdparty/proto/api-common-protos/google/api/consumer.proto +83 -0
  69. data/thirdparty/proto/api-common-protos/google/api/context.proto +63 -0
  70. data/thirdparty/proto/api-common-protos/google/api/control.proto +33 -0
  71. data/thirdparty/proto/api-common-protos/google/api/distribution.proto +213 -0
  72. data/thirdparty/proto/api-common-protos/google/api/documentation.proto +157 -0
  73. data/thirdparty/proto/api-common-protos/google/api/endpoint.proto +71 -0
  74. data/thirdparty/proto/api-common-protos/google/api/field_behavior.proto +84 -0
  75. data/thirdparty/proto/api-common-protos/google/api/http.proto +318 -0
  76. data/thirdparty/proto/api-common-protos/google/api/httpbody.proto +76 -0
  77. data/thirdparty/proto/api-common-protos/google/api/label.proto +49 -0
  78. data/thirdparty/proto/api-common-protos/google/api/launch_stage.proto +67 -0
  79. data/thirdparty/proto/api-common-protos/google/api/log.proto +55 -0
  80. data/thirdparty/proto/api-common-protos/google/api/logging.proto +83 -0
  81. data/thirdparty/proto/api-common-protos/google/api/metric.proto +192 -0
  82. data/thirdparty/proto/api-common-protos/google/api/monitored_resource.proto +116 -0
  83. data/thirdparty/proto/api-common-protos/google/api/monitoring.proto +89 -0
  84. data/thirdparty/proto/api-common-protos/google/api/quota.proto +259 -0
  85. data/thirdparty/proto/api-common-protos/google/api/resource.proto +299 -0
  86. data/thirdparty/proto/api-common-protos/google/api/routing.proto +461 -0
  87. data/thirdparty/proto/api-common-protos/google/api/service.proto +175 -0
  88. data/thirdparty/proto/api-common-protos/google/api/source_info.proto +32 -0
  89. data/thirdparty/proto/api-common-protos/google/api/system_parameter.proto +96 -0
  90. data/thirdparty/proto/api-common-protos/google/api/usage.proto +92 -0
  91. data/thirdparty/proto/api-common-protos/google/cloud/extended_operations.proto +150 -0
  92. data/thirdparty/proto/api-common-protos/google/iam/README.md +14 -0
  93. data/thirdparty/proto/api-common-protos/google/iam/admin/v1/iam.proto +1087 -0
  94. data/thirdparty/proto/api-common-protos/google/iam/v1/iam_policy.proto +145 -0
  95. data/thirdparty/proto/api-common-protos/google/iam/v1/logging/audit_data.proto +34 -0
  96. data/thirdparty/proto/api-common-protos/google/iam/v1/options.proto +41 -0
  97. data/thirdparty/proto/api-common-protos/google/iam/v1/policy.proto +240 -0
  98. data/thirdparty/proto/api-common-protos/google/logging/type/README.md +12 -0
  99. data/thirdparty/proto/api-common-protos/google/logging/type/http_request.proto +92 -0
  100. data/thirdparty/proto/api-common-protos/google/logging/type/log_severity.proto +72 -0
  101. data/thirdparty/proto/api-common-protos/google/longrunning/README.md +31 -0
  102. data/thirdparty/proto/api-common-protos/google/longrunning/operations.proto +247 -0
  103. data/thirdparty/proto/api-common-protos/google/rpc/README.md +18 -0
  104. data/thirdparty/proto/api-common-protos/google/rpc/code.proto +186 -0
  105. data/thirdparty/proto/api-common-protos/google/rpc/context/attribute_context.proto +287 -0
  106. data/thirdparty/proto/api-common-protos/google/rpc/error_details.proto +246 -0
  107. data/thirdparty/proto/api-common-protos/google/rpc/status.proto +47 -0
  108. data/thirdparty/proto/api-common-protos/google/type/README.md +7 -0
  109. data/thirdparty/proto/api-common-protos/google/type/calendar_period.proto +57 -0
  110. data/thirdparty/proto/api-common-protos/google/type/color.proto +170 -0
  111. data/thirdparty/proto/api-common-protos/google/type/date.proto +50 -0
  112. data/thirdparty/proto/api-common-protos/google/type/datetime.proto +97 -0
  113. data/thirdparty/proto/api-common-protos/google/type/dayofweek.proto +51 -0
  114. data/thirdparty/proto/api-common-protos/google/type/expr.proto +51 -0
  115. data/thirdparty/proto/api-common-protos/google/type/fraction.proto +34 -0
  116. data/thirdparty/proto/api-common-protos/google/type/latlng.proto +37 -0
  117. data/thirdparty/proto/api-common-protos/google/type/money.proto +43 -0
  118. data/thirdparty/proto/api-common-protos/google/type/month.proto +66 -0
  119. data/thirdparty/proto/api-common-protos/google/type/postal_address.proto +135 -0
  120. data/thirdparty/proto/api-common-protos/google/type/quaternion.proto +95 -0
  121. data/thirdparty/proto/api-common-protos/google/type/timeofday.proto +44 -0
  122. data/thirdparty/proto/api-common-protos/renovate.json +5 -0
  123. data/thirdparty/proto/api-common-protos/repository_rules.bzl +222 -0
  124. data/tools.go +10 -0
  125. data/vagrant.gemspec +13 -13
  126. data/version.txt +1 -1
  127. metadata +111 -38
  128. data/lib/vagrant/patches/net-ssh.rb +0 -286
@@ -0,0 +1,42 @@
1
+ ## Contributing
2
+
3
+ We are pleased that you are interested in contributing to our work.
4
+
5
+ ### Protocol Buffer Files
6
+
7
+ We welcome ideas and discussion around the messages provided in this
8
+ repository. One caveat: These are very widely used within Google, and are
9
+ seeing increasing usage elsewhere. In the interest of compatibility, we
10
+ must be very deliberative about accepting additions in this repository.
11
+ We are likely to do so only if there is _already_ significant adoption
12
+ and general consensus around the idea (in another context, e.g. similar protos
13
+ declared elsewhere and already in use).
14
+
15
+ Therefore, we encourage and welcome ideas and contributions, but request
16
+ patience in the event that additions or changes are needed.
17
+
18
+
19
+ ### Documentation
20
+
21
+ We want for both protocol buffers and the types that we have provided here
22
+ to be understandable to everyone, including to those who may be unfamiliar
23
+ with the ecosystem or concepts.
24
+
25
+ That means we want our documentation to be better, and welcome anyone
26
+ willing to help with this. Please open a pull request.
27
+
28
+ ## Contributor License Agreement
29
+
30
+ Before we can accept your pull requests, you will need to sign a Contributor
31
+ License Agreement (CLA):
32
+
33
+ - **If you are an individual writing original source code** and **you own the
34
+ intellectual property**, then you need to sign an [individual CLA][].
35
+ - **If you work for a company that wants to allow you to contribute your
36
+ work**, then you need to sign a [corporate CLA][].
37
+
38
+ You can sign these electronically (just scroll to the bottom). After that,
39
+ we'll be able to accept your pull requests.
40
+
41
+ [individual CLA]: https://developers.google.com/open-source/cla/individual
42
+ [corporate CLA]: https://developers.google.com/open-source/cla/corporate
@@ -0,0 +1,18 @@
1
+ FROM alpine:3.15
2
+
3
+ # Install curl and unzip, which are required to add protoc.
4
+ RUN apk add --no-cache curl unzip
5
+
6
+ # Add protoc.
7
+ ENV PROTOBUF_VERSION 3.14.0
8
+ RUN mkdir -p /usr/src/protoc/ \
9
+ && curl --location https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/protoc-${PROTOBUF_VERSION}-linux-x86_64.zip > /usr/src/protoc/protoc-${PROTOBUF_VERSION}.zip \
10
+ && cd /usr/src/protoc/ \
11
+ && unzip protoc-${PROTOBUF_VERSION}.zip \
12
+ && rm protoc-${PROTOBUF_VERSION}.zip \
13
+ && ln -s /usr/src/protoc/bin/protoc /usr/local/bin/protoc \
14
+ && mkdir -p /protos/ \
15
+ && cp -R /usr/src/protoc/include/google/ /protos/google/
16
+
17
+ # Add the protos to the Docker image.
18
+ COPY . /protos/
@@ -0,0 +1,201 @@
1
+ Apache License
2
+ Version 2.0, January 2004
3
+ http://www.apache.org/licenses/
4
+
5
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
+
7
+ 1. Definitions.
8
+
9
+ "License" shall mean the terms and conditions for use, reproduction,
10
+ and distribution as defined by Sections 1 through 9 of this document.
11
+
12
+ "Licensor" shall mean the copyright owner or entity authorized by
13
+ the copyright owner that is granting the License.
14
+
15
+ "Legal Entity" shall mean the union of the acting entity and all
16
+ other entities that control, are controlled by, or are under common
17
+ control with that entity. For the purposes of this definition,
18
+ "control" means (i) the power, direct or indirect, to cause the
19
+ direction or management of such entity, whether by contract or
20
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
+ outstanding shares, or (iii) beneficial ownership of such entity.
22
+
23
+ "You" (or "Your") shall mean an individual or Legal Entity
24
+ exercising permissions granted by this License.
25
+
26
+ "Source" form shall mean the preferred form for making modifications,
27
+ including but not limited to software source code, documentation
28
+ source, and configuration files.
29
+
30
+ "Object" form shall mean any form resulting from mechanical
31
+ transformation or translation of a Source form, including but
32
+ not limited to compiled object code, generated documentation,
33
+ and conversions to other media types.
34
+
35
+ "Work" shall mean the work of authorship, whether in Source or
36
+ Object form, made available under the License, as indicated by a
37
+ copyright notice that is included in or attached to the work
38
+ (an example is provided in the Appendix below).
39
+
40
+ "Derivative Works" shall mean any work, whether in Source or Object
41
+ form, that is based on (or derived from) the Work and for which the
42
+ editorial revisions, annotations, elaborations, or other modifications
43
+ represent, as a whole, an original work of authorship. For the purposes
44
+ of this License, Derivative Works shall not include works that remain
45
+ separable from, or merely link (or bind by name) to the interfaces of,
46
+ the Work and Derivative Works thereof.
47
+
48
+ "Contribution" shall mean any work of authorship, including
49
+ the original version of the Work and any modifications or additions
50
+ to that Work or Derivative Works thereof, that is intentionally
51
+ submitted to Licensor for inclusion in the Work by the copyright owner
52
+ or by an individual or Legal Entity authorized to submit on behalf of
53
+ the copyright owner. For the purposes of this definition, "submitted"
54
+ means any form of electronic, verbal, or written communication sent
55
+ to the Licensor or its representatives, including but not limited to
56
+ communication on electronic mailing lists, source code control systems,
57
+ and issue tracking systems that are managed by, or on behalf of, the
58
+ Licensor for the purpose of discussing and improving the Work, but
59
+ excluding communication that is conspicuously marked or otherwise
60
+ designated in writing by the copyright owner as "Not a Contribution."
61
+
62
+ "Contributor" shall mean Licensor and any individual or Legal Entity
63
+ on behalf of whom a Contribution has been received by Licensor and
64
+ subsequently incorporated within the Work.
65
+
66
+ 2. Grant of Copyright License. Subject to the terms and conditions of
67
+ this License, each Contributor hereby grants to You a perpetual,
68
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
+ copyright license to reproduce, prepare Derivative Works of,
70
+ publicly display, publicly perform, sublicense, and distribute the
71
+ Work and such Derivative Works in Source or Object form.
72
+
73
+ 3. Grant of Patent License. Subject to the terms and conditions of
74
+ this License, each Contributor hereby grants to You a perpetual,
75
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
+ (except as stated in this section) patent license to make, have made,
77
+ use, offer to sell, sell, import, and otherwise transfer the Work,
78
+ where such license applies only to those patent claims licensable
79
+ by such Contributor that are necessarily infringed by their
80
+ Contribution(s) alone or by combination of their Contribution(s)
81
+ with the Work to which such Contribution(s) was submitted. If You
82
+ institute patent litigation against any entity (including a
83
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
84
+ or a Contribution incorporated within the Work constitutes direct
85
+ or contributory patent infringement, then any patent licenses
86
+ granted to You under this License for that Work shall terminate
87
+ as of the date such litigation is filed.
88
+
89
+ 4. Redistribution. You may reproduce and distribute copies of the
90
+ Work or Derivative Works thereof in any medium, with or without
91
+ modifications, and in Source or Object form, provided that You
92
+ meet the following conditions:
93
+
94
+ (a) You must give any other recipients of the Work or
95
+ Derivative Works a copy of this License; and
96
+
97
+ (b) You must cause any modified files to carry prominent notices
98
+ stating that You changed the files; and
99
+
100
+ (c) You must retain, in the Source form of any Derivative Works
101
+ that You distribute, all copyright, patent, trademark, and
102
+ attribution notices from the Source form of the Work,
103
+ excluding those notices that do not pertain to any part of
104
+ the Derivative Works; and
105
+
106
+ (d) If the Work includes a "NOTICE" text file as part of its
107
+ distribution, then any Derivative Works that You distribute must
108
+ include a readable copy of the attribution notices contained
109
+ within such NOTICE file, excluding those notices that do not
110
+ pertain to any part of the Derivative Works, in at least one
111
+ of the following places: within a NOTICE text file distributed
112
+ as part of the Derivative Works; within the Source form or
113
+ documentation, if provided along with the Derivative Works; or,
114
+ within a display generated by the Derivative Works, if and
115
+ wherever such third-party notices normally appear. The contents
116
+ of the NOTICE file are for informational purposes only and
117
+ do not modify the License. You may add Your own attribution
118
+ notices within Derivative Works that You distribute, alongside
119
+ or as an addendum to the NOTICE text from the Work, provided
120
+ that such additional attribution notices cannot be construed
121
+ as modifying the License.
122
+
123
+ You may add Your own copyright statement to Your modifications and
124
+ may provide additional or different license terms and conditions
125
+ for use, reproduction, or distribution of Your modifications, or
126
+ for any such Derivative Works as a whole, provided Your use,
127
+ reproduction, and distribution of the Work otherwise complies with
128
+ the conditions stated in this License.
129
+
130
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
131
+ any Contribution intentionally submitted for inclusion in the Work
132
+ by You to the Licensor shall be under the terms and conditions of
133
+ this License, without any additional terms or conditions.
134
+ Notwithstanding the above, nothing herein shall supersede or modify
135
+ the terms of any separate license agreement you may have executed
136
+ with Licensor regarding such Contributions.
137
+
138
+ 6. Trademarks. This License does not grant permission to use the trade
139
+ names, trademarks, service marks, or product names of the Licensor,
140
+ except as required for reasonable and customary use in describing the
141
+ origin of the Work and reproducing the content of the NOTICE file.
142
+
143
+ 7. Disclaimer of Warranty. Unless required by applicable law or
144
+ agreed to in writing, Licensor provides the Work (and each
145
+ Contributor provides its Contributions) on an "AS IS" BASIS,
146
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
+ implied, including, without limitation, any warranties or conditions
148
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
+ PARTICULAR PURPOSE. You are solely responsible for determining the
150
+ appropriateness of using or redistributing the Work and assume any
151
+ risks associated with Your exercise of permissions under this License.
152
+
153
+ 8. Limitation of Liability. In no event and under no legal theory,
154
+ whether in tort (including negligence), contract, or otherwise,
155
+ unless required by applicable law (such as deliberate and grossly
156
+ negligent acts) or agreed to in writing, shall any Contributor be
157
+ liable to You for damages, including any direct, indirect, special,
158
+ incidental, or consequential damages of any character arising as a
159
+ result of this License or out of the use or inability to use the
160
+ Work (including but not limited to damages for loss of goodwill,
161
+ work stoppage, computer failure or malfunction, or any and all
162
+ other commercial damages or losses), even if such Contributor
163
+ has been advised of the possibility of such damages.
164
+
165
+ 9. Accepting Warranty or Additional Liability. While redistributing
166
+ the Work or Derivative Works thereof, You may choose to offer,
167
+ and charge a fee for, acceptance of support, warranty, indemnity,
168
+ or other liability obligations and/or rights consistent with this
169
+ License. However, in accepting such obligations, You may act only
170
+ on Your own behalf and on Your sole responsibility, not on behalf
171
+ of any other Contributor, and only if You agree to indemnify,
172
+ defend, and hold each Contributor harmless for any liability
173
+ incurred by, or claims asserted against, such Contributor by reason
174
+ of your accepting any such warranty or additional liability.
175
+
176
+ END OF TERMS AND CONDITIONS
177
+
178
+ APPENDIX: How to apply the Apache License to your work.
179
+
180
+ To apply the Apache License to your work, attach the following
181
+ boilerplate notice, with the fields enclosed by brackets "[]"
182
+ replaced with your own identifying information. (Don't include
183
+ the brackets!) The text should be enclosed in the appropriate
184
+ comment syntax for the file format. We also recommend that a
185
+ file or class name and description of purpose be included on the
186
+ same "printed page" as the copyright notice for easier
187
+ identification within third-party archives.
188
+
189
+ Copyright [yyyy] [name of copyright owner]
190
+
191
+ Licensed under the Apache License, Version 2.0 (the "License");
192
+ you may not use this file except in compliance with the License.
193
+ You may obtain a copy of the License at
194
+
195
+ http://www.apache.org/licenses/LICENSE-2.0
196
+
197
+ Unless required by applicable law or agreed to in writing, software
198
+ distributed under the License is distributed on an "AS IS" BASIS,
199
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
+ See the License for the specific language governing permissions and
201
+ limitations under the License.
@@ -0,0 +1,113 @@
1
+ ## Common Protos
2
+
3
+ [![release level](https://img.shields.io/badge/release%20level-general%20availability%20%28GA%29-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages)
4
+
5
+ This repository is a home for the [protocol buffer][protobuf] types which are
6
+ common dependencies throughout the Google API ecosystem, and which are made
7
+ available for use as dependencies elsewhere.
8
+
9
+ ### About protocol buffers
10
+
11
+ [Protocol buffers][protobuf] are Google's language-neutral, platform-neutral,
12
+ extensible mechanism for serializing structured data – think XML,
13
+ but smaller, faster, and simpler. You define how you want your data to be
14
+ structured once, then you can use special generated source code to easily
15
+ write and read your structured data to and from a variety of data streams
16
+ and using a variety of languages.
17
+
18
+ One popular use for protocol buffers, both within Google and elsewhere,
19
+ is for specifying API design. They serve as a useful representation for
20
+ API serivices, methods, and fields. You can read more about API design
21
+ philosophy with protocol buffers by consulting our
22
+ [API Design Guide][api-style].
23
+
24
+ [api-style]: https://cloud.google.com/apis/design/
25
+ [protobuf]: https://developers.google.com/protocol-buffers/
26
+
27
+ ### Why a common protos repository?
28
+
29
+ When writing protocol buffers, it is common to need to reuse common patterns.
30
+ For example, common types show up in many different APIs, but have
31
+ a consistent implementation. The same is true elsewhere.
32
+
33
+ This repository seeks to be a home for such types; protocol buffer authors
34
+ may check out this repository and import them into their own work to save
35
+ effort.
36
+
37
+ The protos in the various subdirectories in this repository have different
38
+ purposes, and are documented in their respective README files.
39
+
40
+ ## Using these protos
41
+
42
+ These protos are made available under an Apache license (see `LICENSE`) and
43
+ you are free to depend on them within your applications. They are
44
+ considered stable and will not change in backwards-incompaible ways.
45
+
46
+ In order to depend on these protos, use proto import statements that
47
+ reference the base of this repository, for example:
48
+
49
+ ```protobuf
50
+ syntax = "proto3";
51
+
52
+ import "google/type/color.proto";
53
+
54
+
55
+ // A message representing a paint can.
56
+ message PaintCan {
57
+ // The size of the paint can, in gallons.
58
+ float size_gallons = 1;
59
+
60
+ // The color of the paint.
61
+ google.type.Color color = 2;
62
+ }
63
+ ```
64
+
65
+ If you are using `protoc` (or other similar tooling) to compile these
66
+ protos yourself, you will likely require a local copy. Clone this repository
67
+ to a convenient location and use `--proto_path` to specify the _root_ of
68
+ this repository on your machine to the compiler.
69
+
70
+ ## Packages
71
+
72
+ Additionally, if using these common protos, it is not necessary to ship
73
+ the compiled types yourself in many common languages. Google provides
74
+ a common protos package in several languages, which can be added as a
75
+ dependency, and which makes these types available.
76
+
77
+ * **C#**: [Google.Api.CommonProtos](https://www.nuget.org/packages/Google.Api.CommonProtos/)
78
+ * **Java**: [proto-google-common-protos](https://mvnrepository.com/artifact/com.google.api.grpc/proto-google-common-protos)
79
+ * **Go**: [google.golang.org/genproto/googleapis](https://godoc.org/google.golang.org/genproto/googleapis)
80
+ * **Node.js**: [google-proto-files](https://www.npmjs.com/package/google-proto-files)
81
+ * **PHP**: [gax-php](https://github.com/googleapis/gax-php)
82
+ * **Python**: [googleapis-common-protos](https://pypi.org/project/googleapis-common-protos/)
83
+ * **Ruby**: [googleapis-common-protos](https://rubygems.org/gems/googleapis-common-protos/versions/1.3.5)
84
+
85
+ Note that if using these packages, you will still need a local copy of
86
+ these protos when using `protoc`, but you will _not_ need to ship compiled
87
+ versions of them. (This is consistent with `protoc`'s default behavior of
88
+ only providing compiled output for the files specifically requested, and not
89
+ their imports.)
90
+
91
+ ## google.protobuf types (separate from this repo)
92
+
93
+ There are a small number of types that are _so_ common that they are
94
+ included in the actual protocol buffers runtime itself.
95
+ These are anything with an import path beginning with `google/protobuf/`,
96
+ and notably includes timestamps and durations.
97
+
98
+ These are _not_ defined in this directory, and you do _not_ need to follow
99
+ any of the instructions for including this (as discussed in the root `README`
100
+ file) if you want to use those. They are part of protocol buffers, and
101
+ an import of those will "just work". These are colloquially referred to
102
+ as "well-known types".
103
+
104
+ ## Disclaimer
105
+
106
+ These protos are made available by Google, but are not considered to be an
107
+ official Google product.
108
+
109
+ ## License
110
+
111
+ These protos are licensed using the Apache 2.0 software license, a permissive,
112
+ copyfree license. You are free to use them in your applications provided
113
+ the license terms are honored.
@@ -0,0 +1,7 @@
1
+ # Security Policy
2
+
3
+ To report a security issue, please use [g.co/vulnz](https://g.co/vulnz).
4
+
5
+ The Google Security Team will respond within 5 working days of your report on g.co/vulnz.
6
+
7
+ We use g.co/vulnz for our intake, and do coordination and disclosure here using GitHub Security Advisory to privately discuss and fix the issue.
@@ -0,0 +1,154 @@
1
+ workspace(name = "com_google_googleapis")
2
+
3
+ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
4
+
5
+ ##############################################################################
6
+ # Common
7
+ ##############################################################################
8
+
9
+ load("//:repository_rules.bzl", "switched_rules_by_language")
10
+
11
+ switched_rules_by_language(
12
+ name = "com_google_googleapis_imports",
13
+ cc = True,
14
+ gapic = True,
15
+ go = True,
16
+ grpc = True,
17
+ java = True,
18
+ nodejs = True,
19
+ php = True,
20
+ )
21
+
22
+ # Note gapic-generator contains java-specific and common code, that is why it is imported in common
23
+ # section
24
+ http_archive(
25
+ name = "com_google_api_codegen",
26
+ strip_prefix = "gapic-generator-c075bbe8eff3a1094a03cd77474d8dbcb010f954",
27
+ urls = ["https://github.com/googleapis/gapic-generator/archive/c075bbe8eff3a1094a03cd77474d8dbcb010f954.zip"],
28
+ )
29
+
30
+ ##############################################################################
31
+ # Java
32
+ ##############################################################################
33
+
34
+ # java_gapic artifacts runtime dependencies (gax-java)
35
+ #
36
+ # Keeping it here to see how this goes (what will be more maintainable: direct import of gax or via
37
+ # gapic-generator).
38
+ #
39
+ #load("@com_google_api_codegen//rules_gapic/java:java_gapic_repositories.bzl", "java_gapic_repositories")
40
+ #
41
+ #java_gapic_repositories()
42
+
43
+ http_archive(
44
+ name = "com_google_api_gax_java",
45
+ strip_prefix = "gax-java-6b170195c18e0d8abc8385ef063d6da9773f87de",
46
+ urls = ["https://github.com/googleapis/gax-java/archive/6b170195c18e0d8abc8385ef063d6da9773f87de.zip"],
47
+ )
48
+
49
+ load("@com_google_api_gax_java//:repository_rules.bzl", "com_google_api_gax_java_properties")
50
+
51
+ com_google_api_gax_java_properties(
52
+ name = "com_google_api_gax_java_properties",
53
+ file = "@com_google_api_gax_java//:dependencies.properties",
54
+ )
55
+
56
+ load("@com_google_api_gax_java//:repositories.bzl", "com_google_api_gax_java_repositories")
57
+
58
+ com_google_api_gax_java_repositories()
59
+
60
+ # gapic-generator transitive
61
+ # (goes AFTER java-gax, since both java gax and gapic-generator are written in java and may conflict)
62
+ load("@com_google_api_codegen//:repository_rules.bzl", "com_google_api_codegen_properties")
63
+
64
+ com_google_api_codegen_properties(
65
+ name = "com_google_api_codegen_properties",
66
+ file = "@com_google_api_codegen//:dependencies.properties",
67
+ )
68
+
69
+ load("@com_google_api_codegen//:repositories.bzl", "com_google_api_codegen_repositories")
70
+
71
+ com_google_api_codegen_repositories()
72
+
73
+ # protoc-java-resource-names-plugin (loaded in com_google_api_codegen_repositories())
74
+ # (required to support resource names feature in gapic generator)
75
+ load(
76
+ "@com_google_protoc_java_resource_names_plugin//:repositories.bzl",
77
+ "com_google_protoc_java_resource_names_plugin_repositories",
78
+ )
79
+
80
+ com_google_protoc_java_resource_names_plugin_repositories(omit_com_google_protobuf = True)
81
+
82
+ ##############################################################################
83
+ # Go
84
+ ##############################################################################
85
+
86
+ # rules_go (support Golang under bazel)
87
+ http_archive(
88
+ name = "io_bazel_rules_go",
89
+ sha256 = "a82a352bffae6bee4e95f68a8d80a70e87f42c4741e6a448bec11998fcc82329",
90
+ url = "https://github.com/bazelbuild/rules_go/releases/download/0.18.5/rules_go-0.18.5.tar.gz",
91
+ )
92
+
93
+ load("@io_bazel_rules_go//go:deps.bzl", "go_rules_dependencies", "go_register_toolchains")
94
+
95
+ go_rules_dependencies()
96
+
97
+ go_register_toolchains()
98
+
99
+ # bazel-gazelle (support Golang under bazel)
100
+ http_archive(
101
+ name = "bazel_gazelle",
102
+ strip_prefix = "bazel-gazelle-0.17.0",
103
+ urls = ["https://github.com/bazelbuild/bazel-gazelle/archive/0.17.0.zip"],
104
+ )
105
+
106
+ load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies")
107
+
108
+ gazelle_dependencies()
109
+
110
+ # go_gapic artifacts runtime dependencies (gax-go)
111
+ load("@com_google_api_codegen//rules_gapic/go:go_gapic_repositories.bzl", "go_gapic_repositories")
112
+
113
+ go_gapic_repositories()
114
+
115
+ ##############################################################################
116
+ # C++
117
+ ##############################################################################
118
+
119
+ http_archive(
120
+ name = "com_google_gapic_generator_cpp",
121
+ strip_prefix = "gapic-generator-cpp-2d9229952b649e53b2e986f5a3031d0d374af9e1",
122
+ urls = ["https://github.com/googleapis/gapic-generator-cpp/archive/2d9229952b649e53b2e986f5a3031d0d374af9e1.zip"],
123
+ )
124
+
125
+ load(
126
+ "@com_google_gapic_generator_cpp//gax:repositories.bzl",
127
+ "com_google_gapic_generator_cpp_gax_repositories",
128
+ )
129
+
130
+ com_google_gapic_generator_cpp_gax_repositories()
131
+
132
+ load("@com_github_grpc_grpc//bazel:grpc_deps.bzl", "grpc_deps")
133
+
134
+ grpc_deps()
135
+
136
+ load(
137
+ "@com_google_gapic_generator_cpp//:repositories.bzl",
138
+ "com_google_gapic_generator_cpp_repositories",
139
+ )
140
+
141
+ com_google_gapic_generator_cpp_repositories()
142
+
143
+ ##############################################################################
144
+ # PHP
145
+ ##############################################################################
146
+
147
+ load("@com_google_api_codegen//rules_gapic/php:php_gapic_repositories.bzl", "php", "php_gapic_repositories")
148
+
149
+ php(
150
+ name = "php",
151
+ version = "7.1.30",
152
+ )
153
+
154
+ php_gapic_repositories()