xref: /aosp_15_r20/external/bazelbuild-rules_rust/tools/rust_analyzer/BUILD.bazel (revision d4726bddaa87cc4778e7472feed243fa4b6c267f)
1load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
2load("//rust:defs.bzl", "rust_binary", "rust_clippy", "rust_library", "rust_test")
3load("//tools:tool_utils.bzl", "aspect_repository")
4
5rust_binary(
6    name = "gen_rust_project",
7    srcs = ["main.rs"],
8    edition = "2018",
9    rustc_env = {
10        "ASPECT_REPOSITORY": aspect_repository(),
11    },
12    visibility = ["//visibility:public"],
13    deps = [
14        ":gen_rust_project_lib",
15        "//tools/rust_analyzer/3rdparty/crates:anyhow",
16        "//tools/rust_analyzer/3rdparty/crates:clap",
17        "//tools/rust_analyzer/3rdparty/crates:env_logger",
18        "//tools/rust_analyzer/3rdparty/crates:log",
19        "//util/label",
20    ],
21)
22
23rust_library(
24    name = "gen_rust_project_lib",
25    srcs = glob(
26        ["**/*.rs"],
27        exclude = ["main.rs"],
28    ),
29    data = [
30        "//rust/private:rust_analyzer_detect_sysroot",
31    ],
32    edition = "2018",
33    deps = [
34        "//tools/runfiles",
35        "//tools/rust_analyzer/3rdparty/crates:anyhow",
36        "//tools/rust_analyzer/3rdparty/crates:log",
37        "//tools/rust_analyzer/3rdparty/crates:serde",
38        "//tools/rust_analyzer/3rdparty/crates:serde_json",
39    ],
40)
41
42rust_test(
43    name = "gen_rust_project_lib_test",
44    crate = ":gen_rust_project_lib",
45    deps = [
46        "//tools/rust_analyzer/3rdparty/crates:itertools",
47    ],
48)
49
50rust_clippy(
51    name = "gen_rust_project_clippy",
52    testonly = True,
53    visibility = ["//visibility:private"],
54    deps = [
55        ":gen_rust_project",
56    ],
57)
58
59bzl_library(
60    name = "bzl_lib",
61    srcs = glob(["**/*.bzl"]),
62    visibility = ["//visibility:public"],
63    deps = ["//tools/rust_analyzer/3rdparty:bzl_lib"],
64)
65