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