blob: 88e2792ad96f2341c3738a5dd5968e1d3695e84e [file] [log] [blame]
load("//rust:defs.bzl", "rust_binary", "rust_clippy", "rust_library")
load("//tools:tool_utils.bzl", "aspect_repository")
exports_files(
[
"rustfmt.toml",
"rustfmt_utils.bzl",
],
visibility = ["//visibility:public"],
)
rust_library(
name = "rustfmt_lib",
srcs = glob(
include = ["src/**/*.rs"],
exclude = [
"src/**/*main.rs",
"src/bin/**",
],
),
data = [
"//:rustfmt.toml",
"//rust/toolchain:current_rustfmt_toolchain",
],
edition = "2018",
rustc_env = {
"RUSTFMT": "$(rootpath //rust/toolchain:current_rustfmt_toolchain)",
"RUSTFMT_CONFIG": "$(rootpath //:rustfmt.toml)",
},
deps = [
"//tools/runfiles",
],
)
rust_binary(
name = "rustfmt",
srcs = [
"src/main.rs",
],
data = [
"//:rustfmt.toml",
],
edition = "2018",
rustc_env = {
"ASPECT_REPOSITORY": aspect_repository(),
"RUST_DEFAULT_EDITION": "$(RUST_DEFAULT_EDITION)",
},
toolchains = [
"@rules_rust//rust/toolchain:current_rust_toolchain",
"@rules_rust//rust/toolchain:current_rustfmt_toolchain",
],
visibility = ["//visibility:public"],
deps = [
":rustfmt_lib",
"//util/label",
],
)
rust_binary(
name = "rustfmt_test",
srcs = [
"src/bin/test_main.rs",
],
edition = "2018",
visibility = ["//visibility:public"],
deps = [
":rustfmt_lib",
"//tools/runfiles",
],
)
rust_clippy(
name = "rustfmt_clippy",
testonly = True,
visibility = ["//visibility:private"],
deps = [
":rustfmt",
],
)