google / cargo-raze

Generate Bazel BUILD from Cargo dependencies!
Apache License 2.0
480 stars 104 forks source link

Feature Request: Add "tools" to CratesSettings #486

Open alealv opened 2 years ago

alealv commented 2 years ago

It would be handy to have tools argument in order not to generate a custom cargo_build_script

As an example, I need the following to build bitar just because I cannot fill the tools section.

# To be included as additional build script in `bitar`
load(
    "@rules_rust//cargo:cargo_build_script.bzl",
    "cargo_build_script",
)

cargo_build_script(
    name = "bitar_build_script",
    srcs = glob(["**/*.rs"]),
    build_script_env = {"PROTOC": "$(execpath @prx//:protoc)"},
    crate_features = [
        "brotli",
        "compress",
    ],
    crate_root = "build.rs",
    data = glob(["proto/**/*.proto"]),
    edition = "2018",
    rustc_flags = ["--cap-lints=allow"],
    tools = ["@com_google_protobuf//:protoc"],
    version = "0.9.0",
    visibility = ["//visibility:private"],
    deps = ["@raze__prost_build__0_8_0//:prost_build"],
)

This is needed because of https://github.com/bazelbuild/rules_rust/issues/884#issuecomment-1132782277

redshirtrob commented 1 year ago

It seems like this should be closed since it was solved with #487.