load(
"@rules_rust//rust:defs.bzl",
"rust_binary",
"rust_clippy",
"rust_library",
"rust_test",
"rustfmt_test",
)
rust_library(
name = "ftzz_lib",
srcs = [
"src/errors.rs",
"src/generator.rs",
"src/lib.rs",
],
crate_name = "ftzz",
proc_macro_deps = [
"//third_party/cargo:derive_new",
],
deps = [
"//third_party/cargo:anyhow",
"//third_party/cargo:clap_num",
"//third_party/cargo:exitcode",
"//third_party/cargo:futures",
"//third_party/cargo:log",
"//third_party/cargo:nix",
"//third_party/cargo:num_cpus",
"//third_party/cargo:num_format",
"//third_party/cargo:rand",
"//third_party/cargo:rand_distr",
"//third_party/cargo:rand_xorshift",
"//third_party/cargo:structopt",
"//third_party/cargo:tokio",
],
)
rust_binary(
name = "ftzz",
srcs = [
"src/main.rs",
],
rustc_flags = select({
"//tools/config:release_build": [
"-Copt-level=3",
"-Clto",
"-Ccodegen-units=1",
"-Zstrip=symbols",
],
"//conditions:default": [],
}),
deps = [
":ftzz_lib",
"//third_party/cargo:clap_verbosity_flag",
"//third_party/cargo:simple_logger",
"//third_party/cargo:structopt",
],
)
rust_test(
name = "ftzz_test",
srcs = [
"tests/generator.rs",
],
data = glob(["testdata/**/*.hash"]),
proc_macro_deps = [
"//third_party/cargo:rstest",
],
rustc_flags = ["--cfg=bazel"],
deps = [
":ftzz_lib",
"//third_party/cargo:seahash",
"//third_party/cargo:tempfile",
"@rules_rust//tools/runfiles",
],
)