blob: 77b36e4d1ccb50b1818b8a59f8072e06977e8bb7 [file] [log] [blame]
load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", "rust_test")
package(default_visibility = ["//visibility:public"])
rust_binary(
name = "print",
srcs = ["main.rs"],
deps = [
":printer",
],
)
rust_library(
name = "printer",
srcs = [
"lib.rs",
"print_generic.rs",
] + select({
"@rules_rust//rust/platform:linux": [
":print_linux.rs",
],
"@rules_rust//rust/platform:macos": [
":print_macos.rs",
],
"@rules_rust//rust/platform:windows": [
":print_windows.rs",
],
}),
# Because each os specific file is conditionally added to the target,
# rustfmt does not have all sources to complete formatting. To avoid
# this failure, rustfmt is not run on this target
tags = ["norustfmt"],
)
rust_test(
name = "printer_test",
crate = ":printer",
# The same rational used for `printer` applies here. Do not run rustfmt
# since not all sources are available.
tags = ["norustfmt"],
)