xref: /aosp_15_r20/external/bazelbuild-rules_rust/tools/rust_analyzer/3rdparty/crates/defs.bzl (revision d4726bddaa87cc4778e7472feed243fa4b6c267f)
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", "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu"],
371    "aarch64-unknown-nixos-gnu": ["@rules_rust//rust/platform:aarch64-unknown-nixos-gnu"],
372    "arm-unknown-linux-gnueabi": ["@rules_rust//rust/platform:arm-unknown-linux-gnueabi"],
373    "armv7-linux-androideabi": ["@rules_rust//rust/platform:armv7-linux-androideabi"],
374    "armv7-unknown-linux-gnueabi": ["@rules_rust//rust/platform:armv7-unknown-linux-gnueabi"],
375    "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"],
376    "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:aarch64-unknown-nixos-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", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
377    "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"],
378    "cfg(all(target_arch = \"aarch64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:aarch64-pc-windows-msvc"],
379    "cfg(all(target_arch = \"x86\", target_env = \"gnu\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-unknown-linux-gnu"],
380    "cfg(all(target_arch = \"x86\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:i686-pc-windows-msvc"],
381    "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", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
382    "cfg(all(target_arch = \"x86_64\", target_env = \"msvc\", not(windows_raw_dylib)))": ["@rules_rust//rust/platform:x86_64-pc-windows-msvc"],
383    "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:aarch64-unknown-nixos-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", "@rules_rust//rust/platform:x86_64-unknown-nixos-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:aarch64-unknown-nixos-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", "@rules_rust//rust/platform:x86_64-unknown-nixos-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", "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
402    "x86_64-unknown-nixos-gnu": ["@rules_rust//rust/platform:x86_64-unknown-nixos-gnu"],
403}
404
405###############################################################################
406
407def crate_repositories():
408    """A macro for defining repositories for all generated crates.
409
410    Returns:
411      A list of repos visible to the module through the module extension.
412    """
413    maybe(
414        http_archive,
415        name = "rrra__aho-corasick-1.0.2",
416        sha256 = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41",
417        type = "tar.gz",
418        urls = ["https://static.crates.io/crates/aho-corasick/1.0.2/download"],
419        strip_prefix = "aho-corasick-1.0.2",
420        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.aho-corasick-1.0.2.bazel"),
421    )
422
423    maybe(
424        http_archive,
425        name = "rrra__anstream-0.3.2",
426        sha256 = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163",
427        type = "tar.gz",
428        urls = ["https://static.crates.io/crates/anstream/0.3.2/download"],
429        strip_prefix = "anstream-0.3.2",
430        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.anstream-0.3.2.bazel"),
431    )
432
433    maybe(
434        http_archive,
435        name = "rrra__anstyle-1.0.1",
436        sha256 = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd",
437        type = "tar.gz",
438        urls = ["https://static.crates.io/crates/anstyle/1.0.1/download"],
439        strip_prefix = "anstyle-1.0.1",
440        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.anstyle-1.0.1.bazel"),
441    )
442
443    maybe(
444        http_archive,
445        name = "rrra__anstyle-parse-0.2.1",
446        sha256 = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333",
447        type = "tar.gz",
448        urls = ["https://static.crates.io/crates/anstyle-parse/0.2.1/download"],
449        strip_prefix = "anstyle-parse-0.2.1",
450        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.anstyle-parse-0.2.1.bazel"),
451    )
452
453    maybe(
454        http_archive,
455        name = "rrra__anstyle-query-1.0.0",
456        sha256 = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b",
457        type = "tar.gz",
458        urls = ["https://static.crates.io/crates/anstyle-query/1.0.0/download"],
459        strip_prefix = "anstyle-query-1.0.0",
460        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.anstyle-query-1.0.0.bazel"),
461    )
462
463    maybe(
464        http_archive,
465        name = "rrra__anstyle-wincon-1.0.1",
466        sha256 = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188",
467        type = "tar.gz",
468        urls = ["https://static.crates.io/crates/anstyle-wincon/1.0.1/download"],
469        strip_prefix = "anstyle-wincon-1.0.1",
470        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.anstyle-wincon-1.0.1.bazel"),
471    )
472
473    maybe(
474        http_archive,
475        name = "rrra__anyhow-1.0.71",
476        sha256 = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8",
477        type = "tar.gz",
478        urls = ["https://static.crates.io/crates/anyhow/1.0.71/download"],
479        strip_prefix = "anyhow-1.0.71",
480        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.anyhow-1.0.71.bazel"),
481    )
482
483    maybe(
484        http_archive,
485        name = "rrra__bitflags-1.3.2",
486        sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a",
487        type = "tar.gz",
488        urls = ["https://static.crates.io/crates/bitflags/1.3.2/download"],
489        strip_prefix = "bitflags-1.3.2",
490        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.bitflags-1.3.2.bazel"),
491    )
492
493    maybe(
494        http_archive,
495        name = "rrra__cc-1.0.79",
496        sha256 = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f",
497        type = "tar.gz",
498        urls = ["https://static.crates.io/crates/cc/1.0.79/download"],
499        strip_prefix = "cc-1.0.79",
500        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.cc-1.0.79.bazel"),
501    )
502
503    maybe(
504        http_archive,
505        name = "rrra__clap-4.3.11",
506        sha256 = "1640e5cc7fb47dbb8338fd471b105e7ed6c3cb2aeb00c2e067127ffd3764a05d",
507        type = "tar.gz",
508        urls = ["https://static.crates.io/crates/clap/4.3.11/download"],
509        strip_prefix = "clap-4.3.11",
510        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.clap-4.3.11.bazel"),
511    )
512
513    maybe(
514        http_archive,
515        name = "rrra__clap_builder-4.3.11",
516        sha256 = "98c59138d527eeaf9b53f35a77fcc1fad9d883116070c63d5de1c7dc7b00c72b",
517        type = "tar.gz",
518        urls = ["https://static.crates.io/crates/clap_builder/4.3.11/download"],
519        strip_prefix = "clap_builder-4.3.11",
520        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.clap_builder-4.3.11.bazel"),
521    )
522
523    maybe(
524        http_archive,
525        name = "rrra__clap_derive-4.3.2",
526        sha256 = "b8cd2b2a819ad6eec39e8f1d6b53001af1e5469f8c177579cdaeb313115b825f",
527        type = "tar.gz",
528        urls = ["https://static.crates.io/crates/clap_derive/4.3.2/download"],
529        strip_prefix = "clap_derive-4.3.2",
530        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.clap_derive-4.3.2.bazel"),
531    )
532
533    maybe(
534        http_archive,
535        name = "rrra__clap_lex-0.5.0",
536        sha256 = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b",
537        type = "tar.gz",
538        urls = ["https://static.crates.io/crates/clap_lex/0.5.0/download"],
539        strip_prefix = "clap_lex-0.5.0",
540        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.clap_lex-0.5.0.bazel"),
541    )
542
543    maybe(
544        http_archive,
545        name = "rrra__colorchoice-1.0.0",
546        sha256 = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7",
547        type = "tar.gz",
548        urls = ["https://static.crates.io/crates/colorchoice/1.0.0/download"],
549        strip_prefix = "colorchoice-1.0.0",
550        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.colorchoice-1.0.0.bazel"),
551    )
552
553    maybe(
554        http_archive,
555        name = "rrra__either-1.8.1",
556        sha256 = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91",
557        type = "tar.gz",
558        urls = ["https://static.crates.io/crates/either/1.8.1/download"],
559        strip_prefix = "either-1.8.1",
560        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.either-1.8.1.bazel"),
561    )
562
563    maybe(
564        http_archive,
565        name = "rrra__env_logger-0.10.0",
566        sha256 = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0",
567        type = "tar.gz",
568        urls = ["https://static.crates.io/crates/env_logger/0.10.0/download"],
569        strip_prefix = "env_logger-0.10.0",
570        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.env_logger-0.10.0.bazel"),
571    )
572
573    maybe(
574        http_archive,
575        name = "rrra__errno-0.3.1",
576        sha256 = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a",
577        type = "tar.gz",
578        urls = ["https://static.crates.io/crates/errno/0.3.1/download"],
579        strip_prefix = "errno-0.3.1",
580        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.errno-0.3.1.bazel"),
581    )
582
583    maybe(
584        http_archive,
585        name = "rrra__errno-dragonfly-0.1.2",
586        sha256 = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf",
587        type = "tar.gz",
588        urls = ["https://static.crates.io/crates/errno-dragonfly/0.1.2/download"],
589        strip_prefix = "errno-dragonfly-0.1.2",
590        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.errno-dragonfly-0.1.2.bazel"),
591    )
592
593    maybe(
594        http_archive,
595        name = "rrra__heck-0.4.1",
596        sha256 = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8",
597        type = "tar.gz",
598        urls = ["https://static.crates.io/crates/heck/0.4.1/download"],
599        strip_prefix = "heck-0.4.1",
600        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.heck-0.4.1.bazel"),
601    )
602
603    maybe(
604        http_archive,
605        name = "rrra__hermit-abi-0.3.2",
606        sha256 = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b",
607        type = "tar.gz",
608        urls = ["https://static.crates.io/crates/hermit-abi/0.3.2/download"],
609        strip_prefix = "hermit-abi-0.3.2",
610        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.hermit-abi-0.3.2.bazel"),
611    )
612
613    maybe(
614        http_archive,
615        name = "rrra__humantime-2.1.0",
616        sha256 = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4",
617        type = "tar.gz",
618        urls = ["https://static.crates.io/crates/humantime/2.1.0/download"],
619        strip_prefix = "humantime-2.1.0",
620        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.humantime-2.1.0.bazel"),
621    )
622
623    maybe(
624        http_archive,
625        name = "rrra__io-lifetimes-1.0.11",
626        sha256 = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2",
627        type = "tar.gz",
628        urls = ["https://static.crates.io/crates/io-lifetimes/1.0.11/download"],
629        strip_prefix = "io-lifetimes-1.0.11",
630        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.io-lifetimes-1.0.11.bazel"),
631    )
632
633    maybe(
634        http_archive,
635        name = "rrra__is-terminal-0.4.7",
636        sha256 = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f",
637        type = "tar.gz",
638        urls = ["https://static.crates.io/crates/is-terminal/0.4.7/download"],
639        strip_prefix = "is-terminal-0.4.7",
640        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.is-terminal-0.4.7.bazel"),
641    )
642
643    maybe(
644        http_archive,
645        name = "rrra__itertools-0.11.0",
646        sha256 = "b1c173a5686ce8bfa551b3563d0c2170bf24ca44da99c7ca4bfdab5418c3fe57",
647        type = "tar.gz",
648        urls = ["https://static.crates.io/crates/itertools/0.11.0/download"],
649        strip_prefix = "itertools-0.11.0",
650        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.itertools-0.11.0.bazel"),
651    )
652
653    maybe(
654        http_archive,
655        name = "rrra__itoa-1.0.8",
656        sha256 = "62b02a5381cc465bd3041d84623d0fa3b66738b52b8e2fc3bab8ad63ab032f4a",
657        type = "tar.gz",
658        urls = ["https://static.crates.io/crates/itoa/1.0.8/download"],
659        strip_prefix = "itoa-1.0.8",
660        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.itoa-1.0.8.bazel"),
661    )
662
663    maybe(
664        http_archive,
665        name = "rrra__libc-0.2.147",
666        sha256 = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3",
667        type = "tar.gz",
668        urls = ["https://static.crates.io/crates/libc/0.2.147/download"],
669        strip_prefix = "libc-0.2.147",
670        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.libc-0.2.147.bazel"),
671    )
672
673    maybe(
674        http_archive,
675        name = "rrra__linux-raw-sys-0.3.8",
676        sha256 = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519",
677        type = "tar.gz",
678        urls = ["https://static.crates.io/crates/linux-raw-sys/0.3.8/download"],
679        strip_prefix = "linux-raw-sys-0.3.8",
680        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.linux-raw-sys-0.3.8.bazel"),
681    )
682
683    maybe(
684        http_archive,
685        name = "rrra__log-0.4.19",
686        sha256 = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4",
687        type = "tar.gz",
688        urls = ["https://static.crates.io/crates/log/0.4.19/download"],
689        strip_prefix = "log-0.4.19",
690        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.log-0.4.19.bazel"),
691    )
692
693    maybe(
694        http_archive,
695        name = "rrra__memchr-2.5.0",
696        sha256 = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d",
697        type = "tar.gz",
698        urls = ["https://static.crates.io/crates/memchr/2.5.0/download"],
699        strip_prefix = "memchr-2.5.0",
700        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.memchr-2.5.0.bazel"),
701    )
702
703    maybe(
704        http_archive,
705        name = "rrra__once_cell-1.18.0",
706        sha256 = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d",
707        type = "tar.gz",
708        urls = ["https://static.crates.io/crates/once_cell/1.18.0/download"],
709        strip_prefix = "once_cell-1.18.0",
710        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.once_cell-1.18.0.bazel"),
711    )
712
713    maybe(
714        http_archive,
715        name = "rrra__proc-macro2-1.0.64",
716        sha256 = "78803b62cbf1f46fde80d7c0e803111524b9877184cfe7c3033659490ac7a7da",
717        type = "tar.gz",
718        urls = ["https://static.crates.io/crates/proc-macro2/1.0.64/download"],
719        strip_prefix = "proc-macro2-1.0.64",
720        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.proc-macro2-1.0.64.bazel"),
721    )
722
723    maybe(
724        http_archive,
725        name = "rrra__quote-1.0.29",
726        sha256 = "573015e8ab27661678357f27dc26460738fd2b6c86e46f386fde94cb5d913105",
727        type = "tar.gz",
728        urls = ["https://static.crates.io/crates/quote/1.0.29/download"],
729        strip_prefix = "quote-1.0.29",
730        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.quote-1.0.29.bazel"),
731    )
732
733    maybe(
734        http_archive,
735        name = "rrra__regex-1.9.1",
736        sha256 = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575",
737        type = "tar.gz",
738        urls = ["https://static.crates.io/crates/regex/1.9.1/download"],
739        strip_prefix = "regex-1.9.1",
740        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.regex-1.9.1.bazel"),
741    )
742
743    maybe(
744        http_archive,
745        name = "rrra__regex-automata-0.3.3",
746        sha256 = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310",
747        type = "tar.gz",
748        urls = ["https://static.crates.io/crates/regex-automata/0.3.3/download"],
749        strip_prefix = "regex-automata-0.3.3",
750        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.regex-automata-0.3.3.bazel"),
751    )
752
753    maybe(
754        http_archive,
755        name = "rrra__regex-syntax-0.7.4",
756        sha256 = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2",
757        type = "tar.gz",
758        urls = ["https://static.crates.io/crates/regex-syntax/0.7.4/download"],
759        strip_prefix = "regex-syntax-0.7.4",
760        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.regex-syntax-0.7.4.bazel"),
761    )
762
763    maybe(
764        http_archive,
765        name = "rrra__rustix-0.37.23",
766        sha256 = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06",
767        type = "tar.gz",
768        urls = ["https://static.crates.io/crates/rustix/0.37.23/download"],
769        strip_prefix = "rustix-0.37.23",
770        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.rustix-0.37.23.bazel"),
771    )
772
773    maybe(
774        http_archive,
775        name = "rrra__ryu-1.0.14",
776        sha256 = "fe232bdf6be8c8de797b22184ee71118d63780ea42ac85b61d1baa6d3b782ae9",
777        type = "tar.gz",
778        urls = ["https://static.crates.io/crates/ryu/1.0.14/download"],
779        strip_prefix = "ryu-1.0.14",
780        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.ryu-1.0.14.bazel"),
781    )
782
783    maybe(
784        http_archive,
785        name = "rrra__serde-1.0.171",
786        sha256 = "30e27d1e4fd7659406c492fd6cfaf2066ba8773de45ca75e855590f856dc34a9",
787        type = "tar.gz",
788        urls = ["https://static.crates.io/crates/serde/1.0.171/download"],
789        strip_prefix = "serde-1.0.171",
790        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.serde-1.0.171.bazel"),
791    )
792
793    maybe(
794        http_archive,
795        name = "rrra__serde_derive-1.0.171",
796        sha256 = "389894603bd18c46fa56231694f8d827779c0951a667087194cf9de94ed24682",
797        type = "tar.gz",
798        urls = ["https://static.crates.io/crates/serde_derive/1.0.171/download"],
799        strip_prefix = "serde_derive-1.0.171",
800        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.serde_derive-1.0.171.bazel"),
801    )
802
803    maybe(
804        http_archive,
805        name = "rrra__serde_json-1.0.102",
806        sha256 = "b5062a995d481b2308b6064e9af76011f2921c35f97b0468811ed9f6cd91dfed",
807        type = "tar.gz",
808        urls = ["https://static.crates.io/crates/serde_json/1.0.102/download"],
809        strip_prefix = "serde_json-1.0.102",
810        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.serde_json-1.0.102.bazel"),
811    )
812
813    maybe(
814        http_archive,
815        name = "rrra__strsim-0.10.0",
816        sha256 = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623",
817        type = "tar.gz",
818        urls = ["https://static.crates.io/crates/strsim/0.10.0/download"],
819        strip_prefix = "strsim-0.10.0",
820        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.strsim-0.10.0.bazel"),
821    )
822
823    maybe(
824        http_archive,
825        name = "rrra__syn-2.0.25",
826        sha256 = "15e3fc8c0c74267e2df136e5e5fb656a464158aa57624053375eb9c8c6e25ae2",
827        type = "tar.gz",
828        urls = ["https://static.crates.io/crates/syn/2.0.25/download"],
829        strip_prefix = "syn-2.0.25",
830        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.syn-2.0.25.bazel"),
831    )
832
833    maybe(
834        http_archive,
835        name = "rrra__termcolor-1.2.0",
836        sha256 = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6",
837        type = "tar.gz",
838        urls = ["https://static.crates.io/crates/termcolor/1.2.0/download"],
839        strip_prefix = "termcolor-1.2.0",
840        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.termcolor-1.2.0.bazel"),
841    )
842
843    maybe(
844        http_archive,
845        name = "rrra__unicode-ident-1.0.10",
846        sha256 = "22049a19f4a68748a168c0fc439f9516686aa045927ff767eca0a85101fb6e73",
847        type = "tar.gz",
848        urls = ["https://static.crates.io/crates/unicode-ident/1.0.10/download"],
849        strip_prefix = "unicode-ident-1.0.10",
850        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.unicode-ident-1.0.10.bazel"),
851    )
852
853    maybe(
854        http_archive,
855        name = "rrra__utf8parse-0.2.1",
856        sha256 = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a",
857        type = "tar.gz",
858        urls = ["https://static.crates.io/crates/utf8parse/0.2.1/download"],
859        strip_prefix = "utf8parse-0.2.1",
860        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.utf8parse-0.2.1.bazel"),
861    )
862
863    maybe(
864        http_archive,
865        name = "rrra__winapi-0.3.9",
866        sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419",
867        type = "tar.gz",
868        urls = ["https://static.crates.io/crates/winapi/0.3.9/download"],
869        strip_prefix = "winapi-0.3.9",
870        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.winapi-0.3.9.bazel"),
871    )
872
873    maybe(
874        http_archive,
875        name = "rrra__winapi-i686-pc-windows-gnu-0.4.0",
876        sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6",
877        type = "tar.gz",
878        urls = ["https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download"],
879        strip_prefix = "winapi-i686-pc-windows-gnu-0.4.0",
880        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel"),
881    )
882
883    maybe(
884        http_archive,
885        name = "rrra__winapi-util-0.1.5",
886        sha256 = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178",
887        type = "tar.gz",
888        urls = ["https://static.crates.io/crates/winapi-util/0.1.5/download"],
889        strip_prefix = "winapi-util-0.1.5",
890        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.winapi-util-0.1.5.bazel"),
891    )
892
893    maybe(
894        http_archive,
895        name = "rrra__winapi-x86_64-pc-windows-gnu-0.4.0",
896        sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f",
897        type = "tar.gz",
898        urls = ["https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download"],
899        strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0",
900        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"),
901    )
902
903    maybe(
904        http_archive,
905        name = "rrra__windows-sys-0.48.0",
906        sha256 = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9",
907        type = "tar.gz",
908        urls = ["https://static.crates.io/crates/windows-sys/0.48.0/download"],
909        strip_prefix = "windows-sys-0.48.0",
910        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows-sys-0.48.0.bazel"),
911    )
912
913    maybe(
914        http_archive,
915        name = "rrra__windows-targets-0.48.1",
916        sha256 = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f",
917        type = "tar.gz",
918        urls = ["https://static.crates.io/crates/windows-targets/0.48.1/download"],
919        strip_prefix = "windows-targets-0.48.1",
920        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows-targets-0.48.1.bazel"),
921    )
922
923    maybe(
924        http_archive,
925        name = "rrra__windows_aarch64_gnullvm-0.48.0",
926        sha256 = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc",
927        type = "tar.gz",
928        urls = ["https://static.crates.io/crates/windows_aarch64_gnullvm/0.48.0/download"],
929        strip_prefix = "windows_aarch64_gnullvm-0.48.0",
930        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows_aarch64_gnullvm-0.48.0.bazel"),
931    )
932
933    maybe(
934        http_archive,
935        name = "rrra__windows_aarch64_msvc-0.48.0",
936        sha256 = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3",
937        type = "tar.gz",
938        urls = ["https://static.crates.io/crates/windows_aarch64_msvc/0.48.0/download"],
939        strip_prefix = "windows_aarch64_msvc-0.48.0",
940        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows_aarch64_msvc-0.48.0.bazel"),
941    )
942
943    maybe(
944        http_archive,
945        name = "rrra__windows_i686_gnu-0.48.0",
946        sha256 = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241",
947        type = "tar.gz",
948        urls = ["https://static.crates.io/crates/windows_i686_gnu/0.48.0/download"],
949        strip_prefix = "windows_i686_gnu-0.48.0",
950        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows_i686_gnu-0.48.0.bazel"),
951    )
952
953    maybe(
954        http_archive,
955        name = "rrra__windows_i686_msvc-0.48.0",
956        sha256 = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00",
957        type = "tar.gz",
958        urls = ["https://static.crates.io/crates/windows_i686_msvc/0.48.0/download"],
959        strip_prefix = "windows_i686_msvc-0.48.0",
960        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows_i686_msvc-0.48.0.bazel"),
961    )
962
963    maybe(
964        http_archive,
965        name = "rrra__windows_x86_64_gnu-0.48.0",
966        sha256 = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1",
967        type = "tar.gz",
968        urls = ["https://static.crates.io/crates/windows_x86_64_gnu/0.48.0/download"],
969        strip_prefix = "windows_x86_64_gnu-0.48.0",
970        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows_x86_64_gnu-0.48.0.bazel"),
971    )
972
973    maybe(
974        http_archive,
975        name = "rrra__windows_x86_64_gnullvm-0.48.0",
976        sha256 = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953",
977        type = "tar.gz",
978        urls = ["https://static.crates.io/crates/windows_x86_64_gnullvm/0.48.0/download"],
979        strip_prefix = "windows_x86_64_gnullvm-0.48.0",
980        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows_x86_64_gnullvm-0.48.0.bazel"),
981    )
982
983    maybe(
984        http_archive,
985        name = "rrra__windows_x86_64_msvc-0.48.0",
986        sha256 = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a",
987        type = "tar.gz",
988        urls = ["https://static.crates.io/crates/windows_x86_64_msvc/0.48.0/download"],
989        strip_prefix = "windows_x86_64_msvc-0.48.0",
990        build_file = Label("@rules_rust//tools/rust_analyzer/3rdparty/crates:BUILD.windows_x86_64_msvc-0.48.0.bazel"),
991    )
992
993    return [
994        struct(repo = "rrra__anyhow-1.0.71", is_dev_dep = False),
995        struct(repo = "rrra__clap-4.3.11", is_dev_dep = False),
996        struct(repo = "rrra__env_logger-0.10.0", is_dev_dep = False),
997        struct(repo = "rrra__itertools-0.11.0", is_dev_dep = False),
998        struct(repo = "rrra__log-0.4.19", is_dev_dep = False),
999        struct(repo = "rrra__serde-1.0.171", is_dev_dep = False),
1000        struct(repo = "rrra__serde_json-1.0.102", is_dev_dep = False),
1001    ]
1002