• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1###############################################################################
2# @generated
3# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
4# regenerate this file, run the following:
5#
6#     bazel run @//tools/rust_analyzer/3rdparty:crates_vendor
7###############################################################################
8"""
9# `crates_repository` API
10
11- [aliases](#aliases)
12- [crate_deps](#crate_deps)
13- [all_crate_deps](#all_crate_deps)
14- [crate_repositories](#crate_repositories)
15
16"""
17
18load("@bazel_skylib//lib:selects.bzl", "selects")
19load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
20load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
21
22###############################################################################
23# MACROS API
24###############################################################################
25
26# An identifier that represent common dependencies (unconditional).
27_COMMON_CONDITION = ""
28
29def _flatten_dependency_maps(all_dependency_maps):
30    """Flatten a list of dependency maps into one dictionary.
31
32    Dependency maps have the following structure:
33
34    ```python
35    DEPENDENCIES_MAP = {
36        # The first key in the map is a Bazel package
37        # name of the workspace this file is defined in.
38        "workspace_member_package": {
39
40            # Not all dependencies are supported for all platforms.
41            # the condition key is the condition required to be true
42            # on the host platform.
43            "condition": {
44
45                # An alias to a crate target.     # The label of the crate target the
46                # Aliases are only crate names.   # package name refers to.
47                "package_name":                   "@full//:label",
48            }
49        }
50    }
51    ```
52
53    Args:
54        all_dependency_maps (list): A list of dicts as described above
55
56    Returns:
57        dict: A dictionary as described above
58    """
59    dependencies = {}
60
61    for workspace_deps_map in all_dependency_maps:
62        for pkg_name, conditional_deps_map in workspace_deps_map.items():
63            if pkg_name not in dependencies:
64                non_frozen_map = dict()
65                for key, values in conditional_deps_map.items():
66                    non_frozen_map.update({key: dict(values.items())})
67                dependencies.setdefault(pkg_name, non_frozen_map)
68                continue
69
70            for condition, deps_map in conditional_deps_map.items():
71                # If the condition has not been recorded, do so and continue
72                if condition not in dependencies[pkg_name]:
73                    dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))
74                    continue
75
76                # Alert on any miss-matched dependencies
77                inconsistent_entries = []
78                for crate_name, crate_label in deps_map.items():
79                    existing = dependencies[pkg_name][condition].get(crate_name)
80                    if existing and existing != crate_label:
81                        inconsistent_entries.append((crate_name, existing, crate_label))
82                    dependencies[pkg_name][condition].update({crate_name: crate_label})
83
84    return dependencies
85
86def crate_deps(deps, package_name = None):
87    """Finds the fully qualified label of the requested crates for the package where this macro is called.
88
89    Args:
90        deps (list): The desired list of crate targets.
91        package_name (str, optional): The package name of the set of dependencies to look up.
92            Defaults to `native.package_name()`.
93
94    Returns:
95        list: A list of labels to generated rust targets (str)
96    """
97
98    if not deps:
99        return []
100
101    if package_name == None:
102        package_name = native.package_name()
103
104    # Join both sets of dependencies
105    dependencies = _flatten_dependency_maps([
106        _NORMAL_DEPENDENCIES,
107        _NORMAL_DEV_DEPENDENCIES,
108        _PROC_MACRO_DEPENDENCIES,
109        _PROC_MACRO_DEV_DEPENDENCIES,
110        _BUILD_DEPENDENCIES,
111        _BUILD_PROC_MACRO_DEPENDENCIES,
112    ]).pop(package_name, {})
113
114    # Combine all conditional packages so we can easily index over a flat list
115    # TODO: Perhaps this should actually return select statements and maintain
116    # the conditionals of the dependencies
117    flat_deps = {}
118    for deps_set in dependencies.values():
119        for crate_name, crate_label in deps_set.items():
120            flat_deps.update({crate_name: crate_label})
121
122    missing_crates = []
123    crate_targets = []
124    for crate_target in deps:
125        if crate_target not in flat_deps:
126            missing_crates.append(crate_target)
127        else:
128            crate_targets.append(flat_deps[crate_target])
129
130    if missing_crates:
131        fail("Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`".format(
132            missing_crates,
133            package_name,
134            dependencies,
135        ))
136
137    return crate_targets
138
139def all_crate_deps(
140        normal = False,
141        normal_dev = False,
142        proc_macro = False,
143        proc_macro_dev = False,
144        build = False,
145        build_proc_macro = False,
146        package_name = None):
147    """Finds the fully qualified label of all requested direct crate dependencies \
148    for the package where this macro is called.
149
150    If no parameters are set, all normal dependencies are returned. Setting any one flag will
151    otherwise impact the contents of the returned list.
152
153    Args:
154        normal (bool, optional): If True, normal dependencies are included in the
155            output list.
156        normal_dev (bool, optional): If True, normal dev dependencies will be
157            included in the output list..
158        proc_macro (bool, optional): If True, proc_macro dependencies are included
159            in the output list.
160        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
161            included in the output list.
162        build (bool, optional): If True, build dependencies are included
163            in the output list.
164        build_proc_macro (bool, optional): If True, build proc_macro dependencies are
165            included in the output list.
166        package_name (str, optional): The package name of the set of dependencies to look up.
167            Defaults to `native.package_name()` when unset.
168
169    Returns:
170        list: A list of labels to generated rust targets (str)
171    """
172
173    if package_name == None:
174        package_name = native.package_name()
175
176    # Determine the relevant maps to use
177    all_dependency_maps = []
178    if normal:
179        all_dependency_maps.append(_NORMAL_DEPENDENCIES)
180    if normal_dev:
181        all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)
182    if proc_macro:
183        all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)
184    if proc_macro_dev:
185        all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)
186    if build:
187        all_dependency_maps.append(_BUILD_DEPENDENCIES)
188    if build_proc_macro:
189        all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)
190
191    # Default to always using normal dependencies
192    if not all_dependency_maps:
193        all_dependency_maps.append(_NORMAL_DEPENDENCIES)
194
195    dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)
196
197    if not dependencies:
198        if dependencies == None:
199            fail("Tried to get all_crate_deps for package " + package_name + " but that package had no Cargo.toml file")
200        else:
201            return []
202
203    crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())
204    for condition, deps in dependencies.items():
205        crate_deps += selects.with_or({
206            tuple(_CONDITIONS[condition]): deps.values(),
207            "//conditions:default": [],
208        })
209
210    return crate_deps
211
212def aliases(
213        normal = False,
214        normal_dev = False,
215        proc_macro = False,
216        proc_macro_dev = False,
217        build = False,
218        build_proc_macro = False,
219        package_name = None):
220    """Produces a map of Crate alias names to their original label
221
222    If no dependency kinds are specified, `normal` and `proc_macro` are used by default.
223    Setting any one flag will otherwise determine the contents of the returned dict.
224
225    Args:
226        normal (bool, optional): If True, normal dependencies are included in the
227            output list.
228        normal_dev (bool, optional): If True, normal dev dependencies will be
229            included in the output list..
230        proc_macro (bool, optional): If True, proc_macro dependencies are included
231            in the output list.
232        proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
233            included in the output list.
234        build (bool, optional): If True, build dependencies are included
235            in the output list.
236        build_proc_macro (bool, optional): If True, build proc_macro dependencies are
237            included in the output list.
238        package_name (str, optional): The package name of the set of dependencies to look up.
239            Defaults to `native.package_name()` when unset.
240
241    Returns:
242        dict: The aliases of all associated packages
243    """
244    if package_name == None:
245        package_name = native.package_name()
246
247    # Determine the relevant maps to use
248    all_aliases_maps = []
249    if normal:
250        all_aliases_maps.append(_NORMAL_ALIASES)
251    if normal_dev:
252        all_aliases_maps.append(_NORMAL_DEV_ALIASES)
253    if proc_macro:
254        all_aliases_maps.append(_PROC_MACRO_ALIASES)
255    if proc_macro_dev:
256        all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)
257    if build:
258        all_aliases_maps.append(_BUILD_ALIASES)
259    if build_proc_macro:
260        all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)
261
262    # Default to always using normal aliases
263    if not all_aliases_maps:
264        all_aliases_maps.append(_NORMAL_ALIASES)
265        all_aliases_maps.append(_PROC_MACRO_ALIASES)
266
267    aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)
268
269    if not aliases:
270        return dict()
271
272    common_items = aliases.pop(_COMMON_CONDITION, {}).items()
273
274    # If there are only common items in the dictionary, immediately return them
275    if not len(aliases.keys()) == 1:
276        return dict(common_items)
277
278    # Build a single select statement where each conditional has accounted for the
279    # common set of aliases.
280    crate_aliases = {"//conditions:default": dict(common_items)}
281    for condition, deps in aliases.items():
282        condition_triples = _CONDITIONS[condition]
283        for triple in condition_triples:
284            if triple in crate_aliases:
285                crate_aliases[triple].update(deps)
286            else:
287                crate_aliases.update({triple: dict(deps.items() + common_items)})
288
289    return select(crate_aliases)
290
291###############################################################################
292# WORKSPACE MEMBER DEPS AND ALIASES
293###############################################################################
294
295_NORMAL_DEPENDENCIES = {
296    "": {
297        _COMMON_CONDITION: {
298            "anyhow": Label("@rrra__anyhow-1.0.71//:anyhow"),
299            "clap": Label("@rrra__clap-4.3.11//:clap"),
300            "env_logger": Label("@rrra__env_logger-0.10.0//:env_logger"),
301            "itertools": Label("@rrra__itertools-0.11.0//:itertools"),
302            "log": Label("@rrra__log-0.4.19//:log"),
303            "serde": Label("@rrra__serde-1.0.171//:serde"),
304            "serde_json": Label("@rrra__serde_json-1.0.102//:serde_json"),
305        },
306    },
307}
308
309_NORMAL_ALIASES = {
310    "": {
311        _COMMON_CONDITION: {
312        },
313    },
314}
315
316_NORMAL_DEV_DEPENDENCIES = {
317    "": {
318    },
319}
320
321_NORMAL_DEV_ALIASES = {
322    "": {
323    },
324}
325
326_PROC_MACRO_DEPENDENCIES = {
327    "": {
328    },
329}
330
331_PROC_MACRO_ALIASES = {
332    "": {
333    },
334}
335
336_PROC_MACRO_DEV_DEPENDENCIES = {
337    "": {
338    },
339}
340
341_PROC_MACRO_DEV_ALIASES = {
342    "": {
343    },
344}
345
346_BUILD_DEPENDENCIES = {
347    "": {
348    },
349}
350
351_BUILD_ALIASES = {
352    "": {
353    },
354}
355
356_BUILD_PROC_MACRO_DEPENDENCIES = {
357    "": {
358    },
359}
360
361_BUILD_PROC_MACRO_ALIASES = {
362    "": {
363    },
364}
365
366_CONDITIONS = {
367    "aarch64-apple-darwin": ["@rules_rust//rust/platform:aarch64-apple-darwin"],
368    "aarch64-pc-windows-gnullvm": [],
369    "aarch64-pc-windows-msvc": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"],
370    "aarch64-unknown-linux-gnu": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu"],
371    "arm-unknown-linux-gnueabi": ["@rules_rust//rust/platform:arm-unknown-linux-gnueabi"],
372    "armv7-linux-androideabi": ["@rules_rust//rust/platform:armv7-linux-androideabi"],
373    "armv7-unknown-linux-gnueabi": ["@rules_rust//rust/platform:armv7-unknown-linux-gnueabi"],
374    "cfg(all(any(target_os = \"android\", target_os = \"linux\"), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu"],
375    "cfg(all(not(rustix_use_libc), not(miri), target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\")))))": ["@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
376    "cfg(all(not(windows), any(rustix_use_libc, miri, not(all(target_os = \"linux\", any(target_arch = \"x86\", all(target_arch = \"x86_64\", target_pointer_width = \"64\"), all(target_endian = \"little\", any(target_arch = \"arm\", all(target_arch = \"aarch64\", target_pointer_width = \"64\"), target_arch = \"powerpc64\", target_arch = \"riscv64\", target_arch = \"mips\", target_arch = \"mips64\"))))))))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-unknown-freebsd"],
377    "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"],
378    "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"],
379    "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-pc-windows-msvc"],
380    "cfg(all(target_arch = \"x86_64\", target_env = \"gnu\", not(target_abi = \"llvm\"), not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
381    "cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
382    "cfg(not(any(windows, target_os = \"hermit\", target_os = \"unknown\")))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
383    "cfg(not(windows))": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
384    "cfg(target_os = \"dragonfly\")": [],
385    "cfg(target_os = \"hermit\")": [],
386    "cfg(target_os = \"wasi\")": [],
387    "cfg(unix)": ["@rules_rust//rust/platform:aarch64-apple-darwin", "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", "@rules_rust//rust/platform:arm-unknown-linux-gnueabi", "@rules_rust//rust/platform:armv7-linux-androideabi", "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi", "@rules_rust//rust/platform:i686-apple-darwin", "@rules_rust//rust/platform:i686-unknown-freebsd", "@rules_rust//rust/platform:i686-unknown-linux-gnu", "@rules_rust//rust/platform:powerpc-unknown-linux-gnu", "@rules_rust//rust/platform:s390x-unknown-linux-gnu", "@rules_rust//rust/platform:x86_64-apple-darwin", "@rules_rust//rust/platform:x86_64-unknown-freebsd", "@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
388    "cfg(windows)": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc", "@rules_rust//rust/platform:i686-pc-windows-msvc", "@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
389    "i686-apple-darwin": ["@rules_rust//rust/platform:i686-apple-darwin"],
390    "i686-pc-windows-gnu": [],
391    "i686-pc-windows-msvc": ["@rules_rust//rust/platform:i686-pc-windows-msvc"],
392    "i686-unknown-freebsd": ["@rules_rust//rust/platform:i686-unknown-freebsd"],
393    "i686-unknown-linux-gnu": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"],
394    "powerpc-unknown-linux-gnu": ["@rules_rust//rust/platform:powerpc-unknown-linux-gnu"],
395    "s390x-unknown-linux-gnu": ["@rules_rust//rust/platform:s390x-unknown-linux-gnu"],
396    "x86_64-apple-darwin": ["@rules_rust//rust/platform:x86_64-apple-darwin"],
397    "x86_64-pc-windows-gnu": [],
398    "x86_64-pc-windows-gnullvm": [],
399    "x86_64-pc-windows-msvc": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
400    "x86_64-unknown-freebsd": ["@rules_rust//rust/platform:x86_64-unknown-freebsd"],
401    "x86_64-unknown-linux-gnu": ["@rules_rust//rust/platform:x86_64-unknown-linux-gnu"],
402}
403
404###############################################################################
405
406def crate_repositories():
407    """A macro for defining repositories for all generated crates.
408
409    Returns:
410      A list of repos visible to the module through the module extension.
411    """
412    maybe(
413        http_archive,
414        name = "rrra__aho-corasick-1.0.2",
415        sha256 = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41",
416        type = "tar.gz",
417        urls = ["https://crates.io/api/v1/crates/aho-corasick/1.0.2/download"],
418        strip_prefix = "aho-corasick-1.0.2",
419        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.aho-corasick-1.0.2.bazel"),
420    )
421
422    maybe(
423        http_archive,
424        name = "rrra__anstream-0.3.2",
425        sha256 = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163",
426        type = "tar.gz",
427        urls = ["https://crates.io/api/v1/crates/anstream/0.3.2/download"],
428        strip_prefix = "anstream-0.3.2",
429        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.anstream-0.3.2.bazel"),
430    )
431
432    maybe(
433        http_archive,
434        name = "rrra__anstyle-1.0.1",
435        sha256 = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd",
436        type = "tar.gz",
437        urls = ["https://crates.io/api/v1/crates/anstyle/1.0.1/download"],
438        strip_prefix = "anstyle-1.0.1",
439        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.anstyle-1.0.1.bazel"),
440    )
441
442    maybe(
443        http_archive,
444        name = "rrra__anstyle-parse-0.2.1",
445        sha256 = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333",
446        type = "tar.gz",
447        urls = ["https://crates.io/api/v1/crates/anstyle-parse/0.2.1/download"],
448        strip_prefix = "anstyle-parse-0.2.1",
449        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.anstyle-parse-0.2.1.bazel"),
450    )
451
452    maybe(
453        http_archive,
454        name = "rrra__anstyle-query-1.0.0",
455        sha256 = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b",
456        type = "tar.gz",
457        urls = ["https://crates.io/api/v1/crates/anstyle-query/1.0.0/download"],
458        strip_prefix = "anstyle-query-1.0.0",
459        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.anstyle-query-1.0.0.bazel"),
460    )
461
462    maybe(
463        http_archive,
464        name = "rrra__anstyle-wincon-1.0.1",
465        sha256 = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188",
466        type = "tar.gz",
467        urls = ["https://crates.io/api/v1/crates/anstyle-wincon/1.0.1/download"],
468        strip_prefix = "anstyle-wincon-1.0.1",
469        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.anstyle-wincon-1.0.1.bazel"),
470    )
471
472    maybe(
473        http_archive,
474        name = "rrra__anyhow-1.0.71",
475        sha256 = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8",
476        type = "tar.gz",
477        urls = ["https://crates.io/api/v1/crates/anyhow/1.0.71/download"],
478        strip_prefix = "anyhow-1.0.71",
479        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.anyhow-1.0.71.bazel"),
480    )
481
482    maybe(
483        http_archive,
484        name = "rrra__bitflags-1.3.2",
485        sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a",
486        type = "tar.gz",
487        urls = ["https://crates.io/api/v1/crates/bitflags/1.3.2/download"],
488        strip_prefix = "bitflags-1.3.2",
489        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.bitflags-1.3.2.bazel"),
490    )
491
492    maybe(
493        http_archive,
494        name = "rrra__cc-1.0.79",
495        sha256 = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f",
496        type = "tar.gz",
497        urls = ["https://crates.io/api/v1/crates/cc/1.0.79/download"],
498        strip_prefix = "cc-1.0.79",
499        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.cc-1.0.79.bazel"),
500    )
501
502    maybe(
503        http_archive,
504        name = "rrra__clap-4.3.11",
505        sha256 = "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d",
506        type = "tar.gz",
507        urls = ["https://crates.io/api/v1/crates/clap/4.3.11/download"],
508        strip_prefix = "clap-4.3.11",
509        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.clap-4.3.11.bazel"),
510    )
511
512    maybe(
513        http_archive,
514        name = "rrra__clap_builder-4.3.11",
515        sha256 = "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b",
516        type = "tar.gz",
517        urls = ["https://crates.io/api/v1/crates/clap_builder/4.3.11/download"],
518        strip_prefix = "clap_builder-4.3.11",
519        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.clap_builder-4.3.11.bazel"),
520    )
521
522    maybe(
523        http_archive,
524        name = "rrra__clap_derive-4.3.2",
525        sha256 = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f",
526        type = "tar.gz",
527        urls = ["https://crates.io/api/v1/crates/clap_derive/4.3.2/download"],
528        strip_prefix = "clap_derive-4.3.2",
529        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.clap_derive-4.3.2.bazel"),
530    )
531
532    maybe(
533        http_archive,
534        name = "rrra__clap_lex-0.5.0",
535        sha256 = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b",
536        type = "tar.gz",
537        urls = ["https://crates.io/api/v1/crates/clap_lex/0.5.0/download"],
538        strip_prefix = "clap_lex-0.5.0",
539        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.clap_lex-0.5.0.bazel"),
540    )
541
542    maybe(
543        http_archive,
544        name = "rrra__colorchoice-1.0.0",
545        sha256 = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7",
546        type = "tar.gz",
547        urls = ["https://crates.io/api/v1/crates/colorchoice/1.0.0/download"],
548        strip_prefix = "colorchoice-1.0.0",
549        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.colorchoice-1.0.0.bazel"),
550    )
551
552    maybe(
553        http_archive,
554        name = "rrra__either-1.8.1",
555        sha256 = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91",
556        type = "tar.gz",
557        urls = ["https://crates.io/api/v1/crates/either/1.8.1/download"],
558        strip_prefix = "either-1.8.1",
559        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.either-1.8.1.bazel"),
560    )
561
562    maybe(
563        http_archive,
564        name = "rrra__env_logger-0.10.0",
565        sha256 = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0",
566        type = "tar.gz",
567        urls = ["https://crates.io/api/v1/crates/env_logger/0.10.0/download"],
568        strip_prefix = "env_logger-0.10.0",
569        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.env_logger-0.10.0.bazel"),
570    )
571
572    maybe(
573        http_archive,
574        name = "rrra__errno-0.3.1",
575        sha256 = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a",
576        type = "tar.gz",
577        urls = ["https://crates.io/api/v1/crates/errno/0.3.1/download"],
578        strip_prefix = "errno-0.3.1",
579        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.errno-0.3.1.bazel"),
580    )
581
582    maybe(
583        http_archive,
584        name = "rrra__errno-dragonfly-0.1.2",
585        sha256 = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf",
586        type = "tar.gz",
587        urls = ["https://crates.io/api/v1/crates/errno-dragonfly/0.1.2/download"],
588        strip_prefix = "errno-dragonfly-0.1.2",
589        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.errno-dragonfly-0.1.2.bazel"),
590    )
591
592    maybe(
593        http_archive,
594        name = "rrra__heck-0.4.1",
595        sha256 = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8",
596        type = "tar.gz",
597        urls = ["https://crates.io/api/v1/crates/heck/0.4.1/download"],
598        strip_prefix = "heck-0.4.1",
599        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.heck-0.4.1.bazel"),
600    )
601
602    maybe(
603        http_archive,
604        name = "rrra__hermit-abi-0.3.2",
605        sha256 = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b",
606        type = "tar.gz",
607        urls = ["https://crates.io/api/v1/crates/hermit-abi/0.3.2/download"],
608        strip_prefix = "hermit-abi-0.3.2",
609        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.hermit-abi-0.3.2.bazel"),
610    )
611
612    maybe(
613        http_archive,
614        name = "rrra__humantime-2.1.0",
615        sha256 = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4",
616        type = "tar.gz",
617        urls = ["https://crates.io/api/v1/crates/humantime/2.1.0/download"],
618        strip_prefix = "humantime-2.1.0",
619        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.humantime-2.1.0.bazel"),
620    )
621
622    maybe(
623        http_archive,
624        name = "rrra__io-lifetimes-1.0.11",
625        sha256 = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2",
626        type = "tar.gz",
627        urls = ["https://crates.io/api/v1/crates/io-lifetimes/1.0.11/download"],
628        strip_prefix = "io-lifetimes-1.0.11",
629        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.io-lifetimes-1.0.11.bazel"),
630    )
631
632    maybe(
633        http_archive,
634        name = "rrra__is-terminal-0.4.7",
635        sha256 = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f",
636        type = "tar.gz",
637        urls = ["https://crates.io/api/v1/crates/is-terminal/0.4.7/download"],
638        strip_prefix = "is-terminal-0.4.7",
639        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.is-terminal-0.4.7.bazel"),
640    )
641
642    maybe(
643        http_archive,
644        name = "rrra__itertools-0.11.0",
645        sha256 = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57",
646        type = "tar.gz",
647        urls = ["https://crates.io/api/v1/crates/itertools/0.11.0/download"],
648        strip_prefix = "itertools-0.11.0",
649        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.itertools-0.11.0.bazel"),
650    )
651
652    maybe(
653        http_archive,
654        name = "rrra__itoa-1.0.8",
655        sha256 = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a",
656        type = "tar.gz",
657        urls = ["https://crates.io/api/v1/crates/itoa/1.0.8/download"],
658        strip_prefix = "itoa-1.0.8",
659        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.itoa-1.0.8.bazel"),
660    )
661
662    maybe(
663        http_archive,
664        name = "rrra__libc-0.2.147",
665        sha256 = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3",
666        type = "tar.gz",
667        urls = ["https://crates.io/api/v1/crates/libc/0.2.147/download"],
668        strip_prefix = "libc-0.2.147",
669        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.libc-0.2.147.bazel"),
670    )
671
672    maybe(
673        http_archive,
674        name = "rrra__linux-raw-sys-0.3.8",
675        sha256 = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519",
676        type = "tar.gz",
677        urls = ["https://crates.io/api/v1/crates/linux-raw-sys/0.3.8/download"],
678        strip_prefix = "linux-raw-sys-0.3.8",
679        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.linux-raw-sys-0.3.8.bazel"),
680    )
681
682    maybe(
683        http_archive,
684        name = "rrra__log-0.4.19",
685        sha256 = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4",
686        type = "tar.gz",
687        urls = ["https://crates.io/api/v1/crates/log/0.4.19/download"],
688        strip_prefix = "log-0.4.19",
689        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.log-0.4.19.bazel"),
690    )
691
692    maybe(
693        http_archive,
694        name = "rrra__memchr-2.5.0",
695        sha256 = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d",
696        type = "tar.gz",
697        urls = ["https://crates.io/api/v1/crates/memchr/2.5.0/download"],
698        strip_prefix = "memchr-2.5.0",
699        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.memchr-2.5.0.bazel"),
700    )
701
702    maybe(
703        http_archive,
704        name = "rrra__once_cell-1.18.0",
705        sha256 = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d",
706        type = "tar.gz",
707        urls = ["https://crates.io/api/v1/crates/once_cell/1.18.0/download"],
708        strip_prefix = "once_cell-1.18.0",
709        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.once_cell-1.18.0.bazel"),
710    )
711
712    maybe(
713        http_archive,
714        name = "rrra__proc-macro2-1.0.64",
715        sha256 = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da",
716        type = "tar.gz",
717        urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.64/download"],
718        strip_prefix = "proc-macro2-1.0.64",
719        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.proc-macro2-1.0.64.bazel"),
720    )
721
722    maybe(
723        http_archive,
724        name = "rrra__quote-1.0.29",
725        sha256 = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105",
726        type = "tar.gz",
727        urls = ["https://crates.io/api/v1/crates/quote/1.0.29/download"],
728        strip_prefix = "quote-1.0.29",
729        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.quote-1.0.29.bazel"),
730    )
731
732    maybe(
733        http_archive,
734        name = "rrra__regex-1.9.1",
735        sha256 = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575",
736        type = "tar.gz",
737        urls = ["https://crates.io/api/v1/crates/regex/1.9.1/download"],
738        strip_prefix = "regex-1.9.1",
739        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.regex-1.9.1.bazel"),
740    )
741
742    maybe(
743        http_archive,
744        name = "rrra__regex-automata-0.3.3",
745        sha256 = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310",
746        type = "tar.gz",
747        urls = ["https://crates.io/api/v1/crates/regex-automata/0.3.3/download"],
748        strip_prefix = "regex-automata-0.3.3",
749        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.regex-automata-0.3.3.bazel"),
750    )
751
752    maybe(
753        http_archive,
754        name = "rrra__regex-syntax-0.7.4",
755        sha256 = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2",
756        type = "tar.gz",
757        urls = ["https://crates.io/api/v1/crates/regex-syntax/0.7.4/download"],
758        strip_prefix = "regex-syntax-0.7.4",
759        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.regex-syntax-0.7.4.bazel"),
760    )
761
762    maybe(
763        http_archive,
764        name = "rrra__rustix-0.37.23",
765        sha256 = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06",
766        type = "tar.gz",
767        urls = ["https://crates.io/api/v1/crates/rustix/0.37.23/download"],
768        strip_prefix = "rustix-0.37.23",
769        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.rustix-0.37.23.bazel"),
770    )
771
772    maybe(
773        http_archive,
774        name = "rrra__ryu-1.0.14",
775        sha256 = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9",
776        type = "tar.gz",
777        urls = ["https://crates.io/api/v1/crates/ryu/1.0.14/download"],
778        strip_prefix = "ryu-1.0.14",
779        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.ryu-1.0.14.bazel"),
780    )
781
782    maybe(
783        http_archive,
784        name = "rrra__serde-1.0.171",
785        sha256 = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9",
786        type = "tar.gz",
787        urls = ["https://crates.io/api/v1/crates/serde/1.0.171/download"],
788        strip_prefix = "serde-1.0.171",
789        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.serde-1.0.171.bazel"),
790    )
791
792    maybe(
793        http_archive,
794        name = "rrra__serde_derive-1.0.171",
795        sha256 = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682",
796        type = "tar.gz",
797        urls = ["https://crates.io/api/v1/crates/serde_derive/1.0.171/download"],
798        strip_prefix = "serde_derive-1.0.171",
799        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.serde_derive-1.0.171.bazel"),
800    )
801
802    maybe(
803        http_archive,
804        name = "rrra__serde_json-1.0.102",
805        sha256 = "b5062a995d481b2308b6064e9af76011f2921c35f97b0468811ed9f6cd91dfed",
806        type = "tar.gz",
807        urls = ["https://crates.io/api/v1/crates/serde_json/1.0.102/download"],
808        strip_prefix = "serde_json-1.0.102",
809        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.serde_json-1.0.102.bazel"),
810    )
811
812    maybe(
813        http_archive,
814        name = "rrra__strsim-0.10.0",
815        sha256 = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623",
816        type = "tar.gz",
817        urls = ["https://crates.io/api/v1/crates/strsim/0.10.0/download"],
818        strip_prefix = "strsim-0.10.0",
819        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.strsim-0.10.0.bazel"),
820    )
821
822    maybe(
823        http_archive,
824        name = "rrra__syn-2.0.25",
825        sha256 = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2",
826        type = "tar.gz",
827        urls = ["https://crates.io/api/v1/crates/syn/2.0.25/download"],
828        strip_prefix = "syn-2.0.25",
829        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.syn-2.0.25.bazel"),
830    )
831
832    maybe(
833        http_archive,
834        name = "rrra__termcolor-1.2.0",
835        sha256 = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6",
836        type = "tar.gz",
837        urls = ["https://crates.io/api/v1/crates/termcolor/1.2.0/download"],
838        strip_prefix = "termcolor-1.2.0",
839        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.termcolor-1.2.0.bazel"),
840    )
841
842    maybe(
843        http_archive,
844        name = "rrra__unicode-ident-1.0.10",
845        sha256 = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73",
846        type = "tar.gz",
847        urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.10/download"],
848        strip_prefix = "unicode-ident-1.0.10",
849        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.unicode-ident-1.0.10.bazel"),
850    )
851
852    maybe(
853        http_archive,
854        name = "rrra__utf8parse-0.2.1",
855        sha256 = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a",
856        type = "tar.gz",
857        urls = ["https://crates.io/api/v1/crates/utf8parse/0.2.1/download"],
858        strip_prefix = "utf8parse-0.2.1",
859        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.utf8parse-0.2.1.bazel"),
860    )
861
862    maybe(
863        http_archive,
864        name = "rrra__winapi-0.3.9",
865        sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419",
866        type = "tar.gz",
867        urls = ["https://crates.io/api/v1/crates/winapi/0.3.9/download"],
868        strip_prefix = "winapi-0.3.9",
869        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.winapi-0.3.9.bazel"),
870    )
871
872    maybe(
873        http_archive,
874        name = "rrra__winapi-i686-pc-windows-gnu-0.4.0",
875        sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6",
876        type = "tar.gz",
877        urls = ["https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download"],
878        strip_prefix = "winapi-i686-pc-windows-gnu-0.4.0",
879        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel"),
880    )
881
882    maybe(
883        http_archive,
884        name = "rrra__winapi-util-0.1.5",
885        sha256 = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178",
886        type = "tar.gz",
887        urls = ["https://crates.io/api/v1/crates/winapi-util/0.1.5/download"],
888        strip_prefix = "winapi-util-0.1.5",
889        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.winapi-util-0.1.5.bazel"),
890    )
891
892    maybe(
893        http_archive,
894        name = "rrra__winapi-x86_64-pc-windows-gnu-0.4.0",
895        sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f",
896        type = "tar.gz",
897        urls = ["https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download"],
898        strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0",
899        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"),
900    )
901
902    maybe(
903        http_archive,
904        name = "rrra__windows-sys-0.48.0",
905        sha256 = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9",
906        type = "tar.gz",
907        urls = ["https://crates.io/api/v1/crates/windows-sys/0.48.0/download"],
908        strip_prefix = "windows-sys-0.48.0",
909        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows-sys-0.48.0.bazel"),
910    )
911
912    maybe(
913        http_archive,
914        name = "rrra__windows-targets-0.48.1",
915        sha256 = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f",
916        type = "tar.gz",
917        urls = ["https://crates.io/api/v1/crates/windows-targets/0.48.1/download"],
918        strip_prefix = "windows-targets-0.48.1",
919        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows-targets-0.48.1.bazel"),
920    )
921
922    maybe(
923        http_archive,
924        name = "rrra__windows_aarch64_gnullvm-0.48.0",
925        sha256 = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc",
926        type = "tar.gz",
927        urls = ["https://crates.io/api/v1/crates/windows_aarch64_gnullvm/0.48.0/download"],
928        strip_prefix = "windows_aarch64_gnullvm-0.48.0",
929        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows_aarch64_gnullvm-0.48.0.bazel"),
930    )
931
932    maybe(
933        http_archive,
934        name = "rrra__windows_aarch64_msvc-0.48.0",
935        sha256 = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3",
936        type = "tar.gz",
937        urls = ["https://crates.io/api/v1/crates/windows_aarch64_msvc/0.48.0/download"],
938        strip_prefix = "windows_aarch64_msvc-0.48.0",
939        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows_aarch64_msvc-0.48.0.bazel"),
940    )
941
942    maybe(
943        http_archive,
944        name = "rrra__windows_i686_gnu-0.48.0",
945        sha256 = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241",
946        type = "tar.gz",
947        urls = ["https://crates.io/api/v1/crates/windows_i686_gnu/0.48.0/download"],
948        strip_prefix = "windows_i686_gnu-0.48.0",
949        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows_i686_gnu-0.48.0.bazel"),
950    )
951
952    maybe(
953        http_archive,
954        name = "rrra__windows_i686_msvc-0.48.0",
955        sha256 = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00",
956        type = "tar.gz",
957        urls = ["https://crates.io/api/v1/crates/windows_i686_msvc/0.48.0/download"],
958        strip_prefix = "windows_i686_msvc-0.48.0",
959        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows_i686_msvc-0.48.0.bazel"),
960    )
961
962    maybe(
963        http_archive,
964        name = "rrra__windows_x86_64_gnu-0.48.0",
965        sha256 = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1",
966        type = "tar.gz",
967        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnu/0.48.0/download"],
968        strip_prefix = "windows_x86_64_gnu-0.48.0",
969        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows_x86_64_gnu-0.48.0.bazel"),
970    )
971
972    maybe(
973        http_archive,
974        name = "rrra__windows_x86_64_gnullvm-0.48.0",
975        sha256 = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953",
976        type = "tar.gz",
977        urls = ["https://crates.io/api/v1/crates/windows_x86_64_gnullvm/0.48.0/download"],
978        strip_prefix = "windows_x86_64_gnullvm-0.48.0",
979        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows_x86_64_gnullvm-0.48.0.bazel"),
980    )
981
982    maybe(
983        http_archive,
984        name = "rrra__windows_x86_64_msvc-0.48.0",
985        sha256 = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a",
986        type = "tar.gz",
987        urls = ["https://crates.io/api/v1/crates/windows_x86_64_msvc/0.48.0/download"],
988        strip_prefix = "windows_x86_64_msvc-0.48.0",
989        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows_x86_64_msvc-0.48.0.bazel"),
990    )
991
992    return [
993        struct(repo = "rrra__anyhow-1.0.71", is_dev_dep = False),
994        struct(repo = "rrra__clap-4.3.11", is_dev_dep = False),
995        struct(repo = "rrra__env_logger-0.10.0", is_dev_dep = False),
996        struct(repo = "rrra__itertools-0.11.0", is_dev_dep = False),
997        struct(repo = "rrra__log-0.4.19", is_dev_dep = False),
998        struct(repo = "rrra__serde-1.0.171", is_dev_dep = False),
999        struct(repo = "rrra__serde_json-1.0.102", is_dev_dep = False),
1000    ]
1001