xref: /aosp_15_r20/external/bazelbuild-rules_go/go/private/repositories.bzl (revision 9bb1b549b6a84214c53be0924760be030e66b93a)
1*9bb1b549SSpandan Das# Copyright 2014 The Bazel Authors. All rights reserved.
2*9bb1b549SSpandan Das#
3*9bb1b549SSpandan Das# Licensed under the Apache License, Version 2.0 (the "License");
4*9bb1b549SSpandan Das# you may not use this file except in compliance with the License.
5*9bb1b549SSpandan Das# You may obtain a copy of the License at
6*9bb1b549SSpandan Das#
7*9bb1b549SSpandan Das#    http://www.apache.org/licenses/LICENSE-2.0
8*9bb1b549SSpandan Das#
9*9bb1b549SSpandan Das# Unless required by applicable law or agreed to in writing, software
10*9bb1b549SSpandan Das# distributed under the License is distributed on an "AS IS" BASIS,
11*9bb1b549SSpandan Das# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*9bb1b549SSpandan Das# See the License for the specific language governing permissions and
13*9bb1b549SSpandan Das# limitations under the License.
14*9bb1b549SSpandan Das
15*9bb1b549SSpandan Das# Once nested repositories work, this file should cease to exist.
16*9bb1b549SSpandan Das
17*9bb1b549SSpandan Dasload("//go/private:common.bzl", "MINIMUM_BAZEL_VERSION")
18*9bb1b549SSpandan Dasload("//go/private/skylib/lib:versions.bzl", "versions")
19*9bb1b549SSpandan Dasload("//go/private:nogo.bzl", "DEFAULT_NOGO", "go_register_nogo")
20*9bb1b549SSpandan Dasload("//proto:gogo.bzl", "gogo_special_proto")
21*9bb1b549SSpandan Dasload("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
22*9bb1b549SSpandan Das
23*9bb1b549SSpandan Dasdef go_rules_dependencies(force = False):
24*9bb1b549SSpandan Das    """Declares workspaces the Go rules depend on. Workspaces that use
25*9bb1b549SSpandan Das    rules_go should call this.
26*9bb1b549SSpandan Das
27*9bb1b549SSpandan Das    See https://github.com/bazelbuild/rules_go/blob/master/go/dependencies.rst#overriding-dependencies
28*9bb1b549SSpandan Das    for information on each dependency.
29*9bb1b549SSpandan Das
30*9bb1b549SSpandan Das    Instructions for updating this file are in
31*9bb1b549SSpandan Das    https://github.com/bazelbuild/rules_go/wiki/Updating-dependencies.
32*9bb1b549SSpandan Das
33*9bb1b549SSpandan Das    PRs updating dependencies are NOT ACCEPTED. See
34*9bb1b549SSpandan Das    https://github.com/bazelbuild/rules_go/blob/master/go/dependencies.rst#overriding-dependencies
35*9bb1b549SSpandan Das    for information on choosing different versions of these repositories
36*9bb1b549SSpandan Das    in your own project.
37*9bb1b549SSpandan Das    """
38*9bb1b549SSpandan Das    if getattr(native, "bazel_version", None):
39*9bb1b549SSpandan Das        versions.check(MINIMUM_BAZEL_VERSION, bazel_version = native.bazel_version)
40*9bb1b549SSpandan Das
41*9bb1b549SSpandan Das    if force:
42*9bb1b549SSpandan Das        wrapper = _always
43*9bb1b549SSpandan Das    else:
44*9bb1b549SSpandan Das        wrapper = _maybe
45*9bb1b549SSpandan Das
46*9bb1b549SSpandan Das    # Needed by rules_go implementation and tests.
47*9bb1b549SSpandan Das    # We can't call bazel_skylib_workspace from here. At the moment, it's only
48*9bb1b549SSpandan Das    # used to register unittest toolchains, which rules_go does not need.
49*9bb1b549SSpandan Das    # releaser:upgrade-dep bazelbuild bazel-skylib
50*9bb1b549SSpandan Das    wrapper(
51*9bb1b549SSpandan Das        http_archive,
52*9bb1b549SSpandan Das        name = "bazel_skylib",
53*9bb1b549SSpandan Das        # 1.4.1, latest as of 2023-03-27
54*9bb1b549SSpandan Das        urls = [
55*9bb1b549SSpandan Das            "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.4.1/bazel-skylib-1.4.1.tar.gz",
56*9bb1b549SSpandan Das            "https://github.com/bazelbuild/bazel-skylib/releases/download/1.4.1/bazel-skylib-1.4.1.tar.gz",
57*9bb1b549SSpandan Das        ],
58*9bb1b549SSpandan Das        sha256 = "b8a1527901774180afc798aeb28c4634bdccf19c4d98e7bdd1ce79d1fe9aaad7",
59*9bb1b549SSpandan Das        strip_prefix = "",
60*9bb1b549SSpandan Das    )
61*9bb1b549SSpandan Das
62*9bb1b549SSpandan Das    # Needed for nogo vet checks and go/packages.
63*9bb1b549SSpandan Das    # releaser:upgrade-dep golang tools
64*9bb1b549SSpandan Das    wrapper(
65*9bb1b549SSpandan Das        http_archive,
66*9bb1b549SSpandan Das        name = "org_golang_x_tools",
67*9bb1b549SSpandan Das        # v0.7.0, latest as of 2023-03-27
68*9bb1b549SSpandan Das        urls = [
69*9bb1b549SSpandan Das            "https://mirror.bazel.build/github.com/golang/tools/archive/refs/tags/v0.7.0.zip",
70*9bb1b549SSpandan Das            "https://github.com/golang/tools/archive/refs/tags/v0.7.0.zip",
71*9bb1b549SSpandan Das        ],
72*9bb1b549SSpandan Das        sha256 = "9f20a20f29f4008d797a8be882ef82b69cf8f7f2b96dbdfe3814c57d8280fa4b",
73*9bb1b549SSpandan Das        strip_prefix = "tools-0.7.0",
74*9bb1b549SSpandan Das        patches = [
75*9bb1b549SSpandan Das            # deletegopls removes the gopls subdirectory. It contains a nested
76*9bb1b549SSpandan Das            # module with additional dependencies. It's not needed by rules_go.
77*9bb1b549SSpandan Das            # releaser:patch-cmd rm -rf gopls
78*9bb1b549SSpandan Das            Label("//third_party:org_golang_x_tools-deletegopls.patch"),
79*9bb1b549SSpandan Das            # releaser:patch-cmd gazelle -repo_root . -go_prefix golang.org/x/tools -go_naming_convention import_alias
80*9bb1b549SSpandan Das            Label("//third_party:org_golang_x_tools-gazelle.patch"),
81*9bb1b549SSpandan Das        ],
82*9bb1b549SSpandan Das        patch_args = ["-p1"],
83*9bb1b549SSpandan Das    )
84*9bb1b549SSpandan Das
85*9bb1b549SSpandan Das    # releaser:upgrade-dep golang sys
86*9bb1b549SSpandan Das    wrapper(
87*9bb1b549SSpandan Das        http_archive,
88*9bb1b549SSpandan Das        name = "org_golang_x_sys",
89*9bb1b549SSpandan Das        # v0.6.0, latest as of 2023-03-27
90*9bb1b549SSpandan Das        urls = [
91*9bb1b549SSpandan Das            "https://mirror.bazel.build/github.com/golang/sys/archive/refs/tags/v0.6.0.zip",
92*9bb1b549SSpandan Das            "https://github.com/golang/sys/archive/refs/tags/v0.6.0.zip",
93*9bb1b549SSpandan Das        ],
94*9bb1b549SSpandan Das        sha256 = "7f2399398b2eb4f1f495cc754d6353566e0ad934ee0eb46505e55162e0def56d",
95*9bb1b549SSpandan Das        strip_prefix = "sys-0.6.0",
96*9bb1b549SSpandan Das        patches = [
97*9bb1b549SSpandan Das            # releaser:patch-cmd gazelle -repo_root . -go_prefix golang.org/x/sys -go_naming_convention import_alias
98*9bb1b549SSpandan Das            Label("//third_party:org_golang_x_sys-gazelle.patch"),
99*9bb1b549SSpandan Das        ],
100*9bb1b549SSpandan Das        patch_args = ["-p1"],
101*9bb1b549SSpandan Das    )
102*9bb1b549SSpandan Das
103*9bb1b549SSpandan Das    # Needed by golang.org/x/tools/go/packages
104*9bb1b549SSpandan Das    # releaser:upgrade-dep golang xerrors
105*9bb1b549SSpandan Das    wrapper(
106*9bb1b549SSpandan Das        http_archive,
107*9bb1b549SSpandan Das        name = "org_golang_x_xerrors",
108*9bb1b549SSpandan Das        # master, as of 2023-03-27
109*9bb1b549SSpandan Das        urls = [
110*9bb1b549SSpandan Das            "https://mirror.bazel.build/github.com/golang/xerrors/archive/04be3eba64a22a838cdb17b8dca15a52871c08b4.zip",
111*9bb1b549SSpandan Das            "https://github.com/golang/xerrors/archive/04be3eba64a22a838cdb17b8dca15a52871c08b4.zip",
112*9bb1b549SSpandan Das        ],
113*9bb1b549SSpandan Das        sha256 = "ffad2b06ef2e09d040da2ff08077865e99ab95d4d0451737fc8e33706bb01634",
114*9bb1b549SSpandan Das        strip_prefix = "xerrors-04be3eba64a22a838cdb17b8dca15a52871c08b4",
115*9bb1b549SSpandan Das        patches = [
116*9bb1b549SSpandan Das            # releaser:patch-cmd gazelle -repo_root . -go_prefix golang.org/x/xerrors -go_naming_convention import_alias
117*9bb1b549SSpandan Das            Label("//third_party:org_golang_x_xerrors-gazelle.patch"),
118*9bb1b549SSpandan Das        ],
119*9bb1b549SSpandan Das        patch_args = ["-p1"],
120*9bb1b549SSpandan Das    )
121*9bb1b549SSpandan Das
122*9bb1b549SSpandan Das    # Proto dependencies
123*9bb1b549SSpandan Das    # These are limited as much as possible. In most cases, users need to
124*9bb1b549SSpandan Das    # declare these on their own (probably via go_repository rules generated
125*9bb1b549SSpandan Das    # with 'gazelle update-repos -from_file=go.mod). There are several
126*9bb1b549SSpandan Das    # reasons for this:
127*9bb1b549SSpandan Das    #
128*9bb1b549SSpandan Das    # * com_google_protobuf has its own dependency macro. We can't load
129*9bb1b549SSpandan Das    #   the macro here.
130*9bb1b549SSpandan Das    # * rules_proto also has a dependency macro. It's only needed by tests and
131*9bb1b549SSpandan Das    #   by gogo_special_proto. Users will need to declare it anyway.
132*9bb1b549SSpandan Das    # * org_golang_google_grpc has too many dependencies for us to maintain.
133*9bb1b549SSpandan Das    # * In general, declaring dependencies here confuses users when they
134*9bb1b549SSpandan Das    #   declare their own dependencies later. Bazel ignores these.
135*9bb1b549SSpandan Das    # * Most proto repos are updated more frequently than rules_go, and
136*9bb1b549SSpandan Das    #   we can't keep up.
137*9bb1b549SSpandan Das
138*9bb1b549SSpandan Das    # Go protobuf runtime library and utilities.
139*9bb1b549SSpandan Das    # releaser:upgrade-dep protocolbuffers protobuf-go
140*9bb1b549SSpandan Das    wrapper(
141*9bb1b549SSpandan Das        http_archive,
142*9bb1b549SSpandan Das        name = "org_golang_google_protobuf",
143*9bb1b549SSpandan Das        sha256 = "cb1a05581c33b3705ede6c08edf9b9c1dbc579559ba30f532704c324e42bf801",
144*9bb1b549SSpandan Das        # v1.30.0, latest as of 2023-03-27
145*9bb1b549SSpandan Das        urls = [
146*9bb1b549SSpandan Das            "https://mirror.bazel.build/github.com/protocolbuffers/protobuf-go/archive/refs/tags/v1.30.0.zip",
147*9bb1b549SSpandan Das            "https://github.com/protocolbuffers/protobuf-go/archive/refs/tags/v1.30.0.zip",
148*9bb1b549SSpandan Das        ],
149*9bb1b549SSpandan Das        strip_prefix = "protobuf-go-1.30.0",
150*9bb1b549SSpandan Das        patches = [
151*9bb1b549SSpandan Das            # releaser:patch-cmd gazelle -repo_root . -go_prefix google.golang.org/protobuf -go_naming_convention import_alias -proto disable_global
152*9bb1b549SSpandan Das            Label("//third_party:org_golang_google_protobuf-gazelle.patch"),
153*9bb1b549SSpandan Das        ],
154*9bb1b549SSpandan Das        patch_args = ["-p1"],
155*9bb1b549SSpandan Das    )
156*9bb1b549SSpandan Das
157*9bb1b549SSpandan Das    # Legacy protobuf compiler, runtime, and utilities.
158*9bb1b549SSpandan Das    # We still use protoc-gen-go because the new one doesn't support gRPC, and
159*9bb1b549SSpandan Das    # the gRPC compiler doesn't exist yet.
160*9bb1b549SSpandan Das    # We need to apply a patch to enable both go_proto_library and
161*9bb1b549SSpandan Das    # go_library with pre-generated sources.
162*9bb1b549SSpandan Das    # releaser:upgrade-dep golang protobuf
163*9bb1b549SSpandan Das    wrapper(
164*9bb1b549SSpandan Das        http_archive,
165*9bb1b549SSpandan Das        name = "com_github_golang_protobuf",
166*9bb1b549SSpandan Das        # v1.5.3, latest as of 2023-03-27
167*9bb1b549SSpandan Das        urls = [
168*9bb1b549SSpandan Das            "https://mirror.bazel.build/github.com/golang/protobuf/archive/refs/tags/v1.5.3.zip",
169*9bb1b549SSpandan Das            "https://github.com/golang/protobuf/archive/refs/tags/v1.5.3.zip",
170*9bb1b549SSpandan Das        ],
171*9bb1b549SSpandan Das        sha256 = "2dced4544ae5372281e20f1e48ca76368355a01b31353724718c4d6e3dcbb430",
172*9bb1b549SSpandan Das        strip_prefix = "protobuf-1.5.3",
173*9bb1b549SSpandan Das        patches = [
174*9bb1b549SSpandan Das            # releaser:patch-cmd gazelle -repo_root . -go_prefix github.com/golang/protobuf -go_naming_convention import_alias -proto disable_global
175*9bb1b549SSpandan Das            Label("//third_party:com_github_golang_protobuf-gazelle.patch"),
176*9bb1b549SSpandan Das        ],
177*9bb1b549SSpandan Das        patch_args = ["-p1"],
178*9bb1b549SSpandan Das    )
179*9bb1b549SSpandan Das
180*9bb1b549SSpandan Das    # Extra protoc plugins and libraries.
181*9bb1b549SSpandan Das    # Doesn't belong here, but low maintenance.
182*9bb1b549SSpandan Das    # releaser:upgrade-dep mwitkow go-proto-validators
183*9bb1b549SSpandan Das    wrapper(
184*9bb1b549SSpandan Das        http_archive,
185*9bb1b549SSpandan Das        name = "com_github_mwitkow_go_proto_validators",
186*9bb1b549SSpandan Das        # v0.3.2, latest as of 2023-03-27
187*9bb1b549SSpandan Das        urls = [
188*9bb1b549SSpandan Das            "https://mirror.bazel.build/github.com/mwitkow/go-proto-validators/archive/refs/tags/v0.3.2.zip",
189*9bb1b549SSpandan Das            "https://github.com/mwitkow/go-proto-validators/archive/refs/tags/v0.3.2.zip",
190*9bb1b549SSpandan Das        ],
191*9bb1b549SSpandan Das        sha256 = "d8697f05a2f0eaeb65261b480e1e6035301892d9fc07ed945622f41b12a68142",
192*9bb1b549SSpandan Das        strip_prefix = "go-proto-validators-0.3.2",
193*9bb1b549SSpandan Das        # Bazel support added in v0.3.0, so no patches needed.
194*9bb1b549SSpandan Das    )
195*9bb1b549SSpandan Das
196*9bb1b549SSpandan Das    # releaser:upgrade-dep gogo protobuf
197*9bb1b549SSpandan Das    wrapper(
198*9bb1b549SSpandan Das        http_archive,
199*9bb1b549SSpandan Das        name = "com_github_gogo_protobuf",
200*9bb1b549SSpandan Das        # v1.3.2, latest as of 2023-03-27
201*9bb1b549SSpandan Das        urls = [
202*9bb1b549SSpandan Das            "https://mirror.bazel.build/github.com/gogo/protobuf/archive/refs/tags/v1.3.2.zip",
203*9bb1b549SSpandan Das            "https://github.com/gogo/protobuf/archive/refs/tags/v1.3.2.zip",
204*9bb1b549SSpandan Das        ],
205*9bb1b549SSpandan Das        sha256 = "f89f8241af909ce3226562d135c25b28e656ae173337b3e58ede917aa26e1e3c",
206*9bb1b549SSpandan Das        strip_prefix = "protobuf-1.3.2",
207*9bb1b549SSpandan Das        patches = [
208*9bb1b549SSpandan Das            # releaser:patch-cmd gazelle -repo_root . -go_prefix github.com/gogo/protobuf -go_naming_convention import_alias -proto legacy
209*9bb1b549SSpandan Das            Label("//third_party:com_github_gogo_protobuf-gazelle.patch"),
210*9bb1b549SSpandan Das        ],
211*9bb1b549SSpandan Das        patch_args = ["-p1"],
212*9bb1b549SSpandan Das    )
213*9bb1b549SSpandan Das
214*9bb1b549SSpandan Das    wrapper(
215*9bb1b549SSpandan Das        gogo_special_proto,
216*9bb1b549SSpandan Das        name = "gogo_special_proto",
217*9bb1b549SSpandan Das    )
218*9bb1b549SSpandan Das
219*9bb1b549SSpandan Das    # go_library targets with pre-generated sources for Well Known Types
220*9bb1b549SSpandan Das    # and Google APIs.
221*9bb1b549SSpandan Das    # Doesn't belong here, but it would be an annoying source of errors if
222*9bb1b549SSpandan Das    # this weren't generated with -proto disable_global.
223*9bb1b549SSpandan Das    # releaser:upgrade-dep googleapis go-genproto
224*9bb1b549SSpandan Das    wrapper(
225*9bb1b549SSpandan Das        http_archive,
226*9bb1b549SSpandan Das        name = "org_golang_google_genproto",
227*9bb1b549SSpandan Das        # main, as of 2023-03-27
228*9bb1b549SSpandan Das        urls = [
229*9bb1b549SSpandan Das            "https://mirror.bazel.build/github.com/googleapis/go-genproto/archive/6ac7f18bb9d5eeeb13a9f1ae4f21e4374a1952f8.zip",
230*9bb1b549SSpandan Das            "https://github.com/googleapis/go-genproto/archive/6ac7f18bb9d5eeeb13a9f1ae4f21e4374a1952f8.zip",
231*9bb1b549SSpandan Das        ],
232*9bb1b549SSpandan Das        sha256 = "3470e7a89b24971b20c4bb8900a668df25279e4b741f72bc09418c1f22543215",
233*9bb1b549SSpandan Das        strip_prefix = "go-genproto-6ac7f18bb9d5eeeb13a9f1ae4f21e4374a1952f8",
234*9bb1b549SSpandan Das        patches = [
235*9bb1b549SSpandan Das            # releaser:patch-cmd gazelle -repo_root . -go_prefix google.golang.org/genproto -go_naming_convention import_alias -proto disable_global
236*9bb1b549SSpandan Das            Label("//third_party:org_golang_google_genproto-gazelle.patch"),
237*9bb1b549SSpandan Das        ],
238*9bb1b549SSpandan Das        patch_args = ["-p1"],
239*9bb1b549SSpandan Das    )
240*9bb1b549SSpandan Das
241*9bb1b549SSpandan Das    # go_proto_library targets for gRPC and Google APIs.
242*9bb1b549SSpandan Das    # TODO(#1986): migrate to com_google_googleapis. This workspace was added
243*9bb1b549SSpandan Das    # before the real workspace supported Bazel. Gazelle resolves dependencies
244*9bb1b549SSpandan Das    # here. Gazelle should resolve dependencies to com_google_googleapis
245*9bb1b549SSpandan Das    # instead, and we should remove this.
246*9bb1b549SSpandan Das    # releaser:upgrade-dep googleapis googleapis
247*9bb1b549SSpandan Das    wrapper(
248*9bb1b549SSpandan Das        http_archive,
249*9bb1b549SSpandan Das        name = "go_googleapis",
250*9bb1b549SSpandan Das        # master, as of 2022-12-05
251*9bb1b549SSpandan Das        urls = [
252*9bb1b549SSpandan Das            "https://mirror.bazel.build/github.com/googleapis/googleapis/archive/83c3605afb5a39952bf0a0809875d41cf2a558ca.zip",
253*9bb1b549SSpandan Das            "https://github.com/googleapis/googleapis/archive/83c3605afb5a39952bf0a0809875d41cf2a558ca.zip",
254*9bb1b549SSpandan Das        ],
255*9bb1b549SSpandan Das        sha256 = "ba694861340e792fd31cb77274eacaf6e4ca8bda97707898f41d8bebfd8a4984",
256*9bb1b549SSpandan Das        strip_prefix = "googleapis-83c3605afb5a39952bf0a0809875d41cf2a558ca",
257*9bb1b549SSpandan Das        patches = [
258*9bb1b549SSpandan Das            # releaser:patch-cmd find . -name BUILD.bazel -delete
259*9bb1b549SSpandan Das            Label("//third_party:go_googleapis-deletebuild.patch"),
260*9bb1b549SSpandan Das            # set gazelle directives; change workspace name
261*9bb1b549SSpandan Das            Label("//third_party:go_googleapis-directives.patch"),
262*9bb1b549SSpandan Das            # releaser:patch-cmd gazelle -repo_root .
263*9bb1b549SSpandan Das            Label("//third_party:go_googleapis-gazelle.patch"),
264*9bb1b549SSpandan Das        ],
265*9bb1b549SSpandan Das        patch_args = ["-E", "-p1"],
266*9bb1b549SSpandan Das    )
267*9bb1b549SSpandan Das
268*9bb1b549SSpandan Das    # releaser:upgrade-dep golang mock
269*9bb1b549SSpandan Das    _maybe(
270*9bb1b549SSpandan Das        http_archive,
271*9bb1b549SSpandan Das        name = "com_github_golang_mock",
272*9bb1b549SSpandan Das        # v1.7.0-rc.1, latest as of 2023-03-27
273*9bb1b549SSpandan Das        urls = [
274*9bb1b549SSpandan Das            "https://mirror.bazel.build/github.com/golang/mock/archive/refs/tags/v1.7.0-rc.1.zip",
275*9bb1b549SSpandan Das            "https://github.com/golang/mock/archive/refs/tags/v1.7.0-rc.1.zip",
276*9bb1b549SSpandan Das        ],
277*9bb1b549SSpandan Das        patches = [
278*9bb1b549SSpandan Das            # releaser:patch-cmd gazelle -repo_root . -go_prefix github.com/golang/mock -go_naming_convention import_alias
279*9bb1b549SSpandan Das            Label("//third_party:com_github_golang_mock-gazelle.patch"),
280*9bb1b549SSpandan Das        ],
281*9bb1b549SSpandan Das        patch_args = ["-p1"],
282*9bb1b549SSpandan Das        sha256 = "5359c78b0c1649cf7beb3b48ff8b1d1aaf0243b22ea4789aba94805280075d8e",
283*9bb1b549SSpandan Das        strip_prefix = "mock-1.7.0-rc.1",
284*9bb1b549SSpandan Das    )
285*9bb1b549SSpandan Das
286*9bb1b549SSpandan Das    # This may be overridden by go_register_toolchains, but it's not mandatory
287*9bb1b549SSpandan Das    # for users to call that function (they may declare their own @go_sdk and
288*9bb1b549SSpandan Das    # register their own toolchains).
289*9bb1b549SSpandan Das    wrapper(
290*9bb1b549SSpandan Das        go_register_nogo,
291*9bb1b549SSpandan Das        name = "io_bazel_rules_nogo",
292*9bb1b549SSpandan Das        nogo = DEFAULT_NOGO,
293*9bb1b549SSpandan Das    )
294*9bb1b549SSpandan Das
295*9bb1b549SSpandan Dasdef _maybe(repo_rule, name, **kwargs):
296*9bb1b549SSpandan Das    if name not in native.existing_rules():
297*9bb1b549SSpandan Das        repo_rule(name = name, **kwargs)
298*9bb1b549SSpandan Das
299*9bb1b549SSpandan Dasdef _always(repo_rule, name, **kwargs):
300*9bb1b549SSpandan Das    repo_rule(name = name, **kwargs)
301