blob: 899fa0e649d9fb9381ce11f0ed2ac2f487499e2e [file] [log] [blame]
load("@rules_rust//rust:defs.bzl", "rust_library", "rust_proc_macro", "rust_test")
load(":custom_alias.bzl", "custom_alias")
rust_library(
name = "mylib",
srcs = ["mylib.rs"],
edition = "2018",
proc_macro_deps = [":proc_macro_dep"],
deps = [
":alias_dep",
":custom_alias_dep",
":lib_dep",
],
)
rust_library(
name = "lib_dep",
srcs = ["lib_dep.rs"],
edition = "2018",
)
alias(
name = "alias_dep",
actual = ":actual_dep",
)
rust_library(
name = "actual_dep",
srcs = ["actual_dep.rs"],
edition = "2018",
deps = [":dep_of_aliased_dep"],
)
rust_library(
name = "dep_of_aliased_dep",
srcs = ["dep_of_aliased_dep.rs"],
edition = "2018",
)
custom_alias(
name = "custom_alias_dep",
actual = ":custom_actual_dep",
)
rust_library(
name = "custom_actual_dep",
srcs = ["custom_actual_dep.rs"],
edition = "2018",
deps = [":dep_of_custom_aliased_dep"],
)
rust_library(
name = "dep_of_custom_aliased_dep",
srcs = ["dep_of_custom_aliased_dep.rs"],
edition = "2018",
)
rust_proc_macro(
name = "proc_macro_dep",
srcs = ["proc_macro_dep.rs"],
edition = "2018",
)
rust_test(
name = "mylib_test",
crate = ":mylib",
edition = "2018",
proc_macro_deps = [":extra_proc_macro_dep"],
deps = [":extra_test_dep"],
)
rust_library(
name = "extra_test_dep",
srcs = ["extra_test_dep.rs"],
edition = "2018",
)
rust_proc_macro(
name = "extra_proc_macro_dep",
srcs = ["extra_proc_macro_dep.rs"],
edition = "2018",
)
rust_test(
name = "rust_project_json_test",
srcs = ["rust_project_json_test.rs"],
data = [":rust-project.json"],
edition = "2018",
env = {"RUST_PROJECT_JSON": "$(rootpath :rust-project.json)"},
# This target is tagged as manual since it's not expected to pass in
# contexts outside of `//test/rust_analyzer:rust_analyzer_test`. Run
# that target to execute this test.
tags = ["manual"],
)