From c1ab10aaad9b3affca1bdb95bfeeb5c86d660361 Mon Sep 17 00:00:00 2001 From: Peter Kolloch Date: Tue, 25 Jun 2024 13:34:39 +0200 Subject: [PATCH] upstream wrappers for cargo, rustc, cargo-clippy (#2703) ...and a bazel_env example. As discussed in https://bazelbuild.slack.com/archives/CSV56UT0F/p1718207171652029?thread_ts=1718182474.631279&cid=CSV56UT0F --- .bazelignore | 1 + docs/flatten.md | 3 +- docs/rust_repositories.md | 3 +- examples/.bazelignore | 1 + examples/bazel_env/.bazelignore | 1 + examples/bazel_env/.bazelrc | 15 +++++ examples/bazel_env/.envrc | 8 +++ examples/bazel_env/.gitignore | 1 + examples/bazel_env/BUILD.bazel | 50 +++++++++++++++ examples/bazel_env/Cargo.lock | 7 +++ examples/bazel_env/Cargo.toml | 5 ++ examples/bazel_env/MODULE.bazel | 44 +++++++++++++ examples/bazel_env/README.md | 11 ++++ examples/bazel_env/WORKSPACE.bazel | 1 + examples/bazel_env/WORKSPACE.bzlmod | 1 + examples/bazel_env/cargo_test.sh | 46 ++++++++++++++ examples/bazel_env/env/BUILD.bazel | 13 ++++ examples/bazel_env/hello | Bin 0 -> 396056 bytes .../bazel_env/rust/hello_world/BUILD.bazel | 15 +++++ .../bazel_env/rust/hello_world/Cargo.toml | 8 +++ .../bazel_env/rust/hello_world/src/main.rs | 17 +++++ examples/bazel_env/rustc_test.sh | 40 ++++++++++++ examples/bazel_env/rustfmt_test.sh | 41 ++++++++++++ rust/private/repository_utils.bzl | 22 ++++--- rust/private/toolchain_utils.bzl | 11 ++++ rust/toolchain.bzl | 18 ++++++ rust/toolchain/BUILD.bazel | 5 ++ tools/rustfmt/BUILD.bazel | 20 ++---- tools/rustfmt/src/upstream_rustfmt_wrapper.rs | 38 ----------- tools/upstream_wrapper/BUILD.bazel | 33 ++++++++++ tools/upstream_wrapper/README.md | 15 +++++ tools/upstream_wrapper/src/main.rs | 59 ++++++++++++++++++ 32 files changed, 490 insertions(+), 63 deletions(-) create mode 100644 examples/bazel_env/.bazelignore create mode 100644 examples/bazel_env/.bazelrc create mode 100644 examples/bazel_env/.envrc create mode 100644 examples/bazel_env/.gitignore create mode 100644 examples/bazel_env/BUILD.bazel create mode 100644 examples/bazel_env/Cargo.lock create mode 100644 examples/bazel_env/Cargo.toml create mode 100644 examples/bazel_env/MODULE.bazel create mode 100644 examples/bazel_env/README.md create mode 100644 examples/bazel_env/WORKSPACE.bazel create mode 100644 examples/bazel_env/WORKSPACE.bzlmod create mode 100755 examples/bazel_env/cargo_test.sh create mode 100644 examples/bazel_env/env/BUILD.bazel create mode 100755 examples/bazel_env/hello create mode 100644 examples/bazel_env/rust/hello_world/BUILD.bazel create mode 100644 examples/bazel_env/rust/hello_world/Cargo.toml create mode 100644 examples/bazel_env/rust/hello_world/src/main.rs create mode 100755 examples/bazel_env/rustc_test.sh create mode 100755 examples/bazel_env/rustfmt_test.sh delete mode 100644 tools/rustfmt/src/upstream_rustfmt_wrapper.rs create mode 100644 tools/upstream_wrapper/BUILD.bazel create mode 100644 tools/upstream_wrapper/README.md create mode 100644 tools/upstream_wrapper/src/main.rs diff --git a/.bazelignore b/.bazelignore index 0b25ffe44b..8aaeb6a166 100644 --- a/.bazelignore +++ b/.bazelignore @@ -5,3 +5,4 @@ crate_universe/private/bootstrap test/bzlmod_repo_mapping test/cc_common_link test/no_std +.direnv \ No newline at end of file diff --git a/docs/flatten.md b/docs/flatten.md index 334b507086..e9a222cc82 100644 --- a/docs/flatten.md +++ b/docs/flatten.md @@ -1132,7 +1132,7 @@ Run the test with `bazel test //hello_lib:greeting_test`. ## rust_toolchain
-rust_toolchain(name, allocator_library, binary_ext, cargo, clippy_driver, debug_info,
+rust_toolchain(name, allocator_library, binary_ext, cargo, cargo_clippy, clippy_driver, debug_info,
                default_edition, dylib_ext, env, exec_triple, experimental_link_std_dylib,
                experimental_use_cc_common_link, extra_exec_rustc_flags, extra_rustc_flags,
                extra_rustc_flags_for_crate_types, global_allocator_library, llvm_cov, llvm_profdata,
@@ -1192,6 +1192,7 @@ See `@rules_rust//rust:repositories.bzl` for examples of defining the `@rust_cpu
 | allocator_library |  Target that provides allocator functions when rust_library targets are embedded in a cc_binary.   | Label | optional |  `"@rules_rust//ffi/cc/allocator_library"`  |
 | binary_ext |  The extension for binaries created from rustc.   | String | required |  |
 | cargo |  The location of the `cargo` binary. Can be a direct source or a filegroup containing one item.   | Label | optional |  `None`  |
+| cargo_clippy |  The location of the `cargo_clippy` binary. Can be a direct source or a filegroup containing one item.   | Label | optional |  `None`  |
 | clippy_driver |  The location of the `clippy-driver` binary. Can be a direct source or a filegroup containing one item.   | Label | optional |  `None`  |
 | debug_info |  Rustc debug info levels per opt level   | Dictionary: String -> String | optional |  `{"dbg": "2", "fastbuild": "0", "opt": "0"}`  |
 | default_edition |  The edition to use for rust_* rules that don't specify an edition. If absent, every rule is required to specify its `edition` attribute.   | String | optional |  `""`  |
diff --git a/docs/rust_repositories.md b/docs/rust_repositories.md
index 729e4ba1e1..f815779ef2 100644
--- a/docs/rust_repositories.md
+++ b/docs/rust_repositories.md
@@ -36,7 +36,7 @@ A dedicated filegroup-like rule for Rust stdlib artifacts.
 ## rust_toolchain
 
 
-rust_toolchain(name, allocator_library, binary_ext, cargo, clippy_driver, debug_info,
+rust_toolchain(name, allocator_library, binary_ext, cargo, cargo_clippy, clippy_driver, debug_info,
                default_edition, dylib_ext, env, exec_triple, experimental_link_std_dylib,
                experimental_use_cc_common_link, extra_exec_rustc_flags, extra_rustc_flags,
                extra_rustc_flags_for_crate_types, global_allocator_library, llvm_cov, llvm_profdata,
@@ -96,6 +96,7 @@ See `@rules_rust//rust:repositories.bzl` for examples of defining the `@rust_cpu
 | allocator_library |  Target that provides allocator functions when rust_library targets are embedded in a cc_binary.   | Label | optional |  `"@rules_rust//ffi/cc/allocator_library"`  |
 | binary_ext |  The extension for binaries created from rustc.   | String | required |  |
 | cargo |  The location of the `cargo` binary. Can be a direct source or a filegroup containing one item.   | Label | optional |  `None`  |
+| cargo_clippy |  The location of the `cargo_clippy` binary. Can be a direct source or a filegroup containing one item.   | Label | optional |  `None`  |
 | clippy_driver |  The location of the `clippy-driver` binary. Can be a direct source or a filegroup containing one item.   | Label | optional |  `None`  |
 | debug_info |  Rustc debug info levels per opt level   | Dictionary: String -> String | optional |  `{"dbg": "2", "fastbuild": "0", "opt": "0"}`  |
 | default_edition |  The edition to use for rust_* rules that don't specify an edition. If absent, every rule is required to specify its `edition` attribute.   | String | optional |  `""`  |
diff --git a/examples/.bazelignore b/examples/.bazelignore
index e8cae6593f..5c00b61cb9 100644
--- a/examples/.bazelignore
+++ b/examples/.bazelignore
@@ -1,4 +1,5 @@
 android
+bazel_env
 bzlmod
 cargo_manifest_dir/external_crate
 crate_universe
diff --git a/examples/bazel_env/.bazelignore b/examples/bazel_env/.bazelignore
new file mode 100644
index 0000000000..ff51edffc7
--- /dev/null
+++ b/examples/bazel_env/.bazelignore
@@ -0,0 +1 @@
+.direnv
\ No newline at end of file
diff --git a/examples/bazel_env/.bazelrc b/examples/bazel_env/.bazelrc
new file mode 100644
index 0000000000..f5a104e0d4
--- /dev/null
+++ b/examples/bazel_env/.bazelrc
@@ -0,0 +1,15 @@
+# Required on windows
+common --enable_platform_specific_config
+startup --windows_enable_symlinks
+build:windows --enable_runfiles
+
+build --experimental_enable_bzlmod
+
+# This isn't currently the defaut in Bazel, but we enable it to test we'll be ready if/when it flips.
+build --incompatible_disallow_empty_glob
+
+# Required for cargo_build_script support before Bazel 7
+build --incompatible_merge_fixed_and_default_shell_env
+
+# Do not import the PATH etc. from the host environment
+common --incompatible_strict_action_env
diff --git a/examples/bazel_env/.envrc b/examples/bazel_env/.envrc
new file mode 100644
index 0000000000..4722fbe147
--- /dev/null
+++ b/examples/bazel_env/.envrc
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+# ^^^ make IDEs happy
+
+watch_file bazel-out/bazel_env-opt/bin/env/env/bin
+PATH_add bazel-out/bazel_env-opt/bin/env/env/bin
+if [[ ! -d bazel-out/bazel_env-opt/bin/env/env/bin ]]; then
+  log_error "ERROR[bazel_env.bzl]: Run 'bazel run //env:env' to regenerate bazel-out/bazel_env-opt/bin/env/env/bin"
+fi
\ No newline at end of file
diff --git a/examples/bazel_env/.gitignore b/examples/bazel_env/.gitignore
new file mode 100644
index 0000000000..a6ef824c1f
--- /dev/null
+++ b/examples/bazel_env/.gitignore
@@ -0,0 +1 @@
+/bazel-*
diff --git a/examples/bazel_env/BUILD.bazel b/examples/bazel_env/BUILD.bazel
new file mode 100644
index 0000000000..0d1b028831
--- /dev/null
+++ b/examples/bazel_env/BUILD.bazel
@@ -0,0 +1,50 @@
+"Tests for upstream wrappers."
+
+sh_test(
+    name = "upstream_cargo_test",
+    size = "small",
+    srcs = ["cargo_test.sh"],
+    args = [
+        "$(rlocationpath @rules_rust//tools/upstream_wrapper:cargo)",
+    ],
+    data = [
+        "Cargo.lock",
+        "Cargo.toml",
+        "//rust/hello_world:Cargo.toml",
+        "//rust/hello_world:src/main.rs",
+        "@rules_rust//tools/upstream_wrapper:cargo",
+    ],
+    deps = [
+        "@bazel_tools//tools/bash/runfiles",
+    ],
+)
+
+sh_test(
+    name = "upstream_rustc_test",
+    size = "small",
+    srcs = ["rustc_test.sh"],
+    args = [
+        "$(rlocationpath @rules_rust//tools/upstream_wrapper:rustc)",
+    ],
+    data = [
+        "@rules_rust//tools/upstream_wrapper:rustc",
+    ],
+    deps = [
+        "@bazel_tools//tools/bash/runfiles",
+    ],
+)
+
+sh_test(
+    name = "upstream_rustfmt_test",
+    size = "small",
+    srcs = ["rustfmt_test.sh"],
+    args = [
+        "$(rlocationpath @rules_rust//tools/upstream_wrapper:rustfmt)",
+    ],
+    data = [
+        "@rules_rust//tools/upstream_wrapper:rustfmt",
+    ],
+    deps = [
+        "@bazel_tools//tools/bash/runfiles",
+    ],
+)
diff --git a/examples/bazel_env/Cargo.lock b/examples/bazel_env/Cargo.lock
new file mode 100644
index 0000000000..c2e8cbe09f
--- /dev/null
+++ b/examples/bazel_env/Cargo.lock
@@ -0,0 +1,7 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "hello_world"
+version = "0.0.0"
diff --git a/examples/bazel_env/Cargo.toml b/examples/bazel_env/Cargo.toml
new file mode 100644
index 0000000000..35e6b18f15
--- /dev/null
+++ b/examples/bazel_env/Cargo.toml
@@ -0,0 +1,5 @@
+[workspace]
+resolver = "2"
+members = [
+    "rust/hello_world"
+]
\ No newline at end of file
diff --git a/examples/bazel_env/MODULE.bazel b/examples/bazel_env/MODULE.bazel
new file mode 100644
index 0000000000..e4e9340759
--- /dev/null
+++ b/examples/bazel_env/MODULE.bazel
@@ -0,0 +1,44 @@
+"""bazelbuild/rules_rust - bazel_env/bzlmod example
+
+See https://github.com/buildbuddy-io/bazel_env.bzl.
+"""
+
+module(
+    name = "all_crate_deps_bzlmod_example",
+    version = "0.0.0",
+)
+
+bazel_dep(name = "platforms", version = "0.0.9")
+bazel_dep(
+    name = "rules_rust",
+    version = "0.0.0",
+)
+local_path_override(
+    module_name = "rules_rust",
+    path = "../..",
+)
+
+rust = use_extension("@rules_rust//rust:extensions.bzl", "rust")
+rust.toolchain(edition = "2021")
+use_repo(
+    rust,
+    "rust_toolchains",
+)
+
+register_toolchains("@rust_toolchains//:all")
+
+crate = use_extension(
+    "@rules_rust//crate_universe:extension.bzl",
+    "crate",
+)
+crate.from_cargo(
+    name = "crates",
+    cargo_lockfile = "//:Cargo.lock",
+    manifests = [
+        "//:Cargo.toml",
+        "//rust/hello_world:Cargo.toml",
+    ],
+)
+use_repo(crate, "crates")
+
+bazel_dep(name = "bazel_env.bzl", version = "0.1.1")
diff --git a/examples/bazel_env/README.md b/examples/bazel_env/README.md
new file mode 100644
index 0000000000..34550116e2
--- /dev/null
+++ b/examples/bazel_env/README.md
@@ -0,0 +1,11 @@
+# rules_rust with bazel_env
+
+This example uses [bazel_env.bzl](https://github.com/buildbuddy-io/bazel_env.bzl) to
+provide `cargo`, `cargo-clippy`, `rustc` and `rustfmt` from the bazel toolchains
+to the user. They will be available directly in the PATH when the user
+enters this directory and has [direnv](https://direnv.net/) set up.
+
+Advantages:
+
+- The user doesn't have to install the toolchains themselves.
+- The tool versions will always match exactly those that bazel uses.
diff --git a/examples/bazel_env/WORKSPACE.bazel b/examples/bazel_env/WORKSPACE.bazel
new file mode 100644
index 0000000000..b543b79e9e
--- /dev/null
+++ b/examples/bazel_env/WORKSPACE.bazel
@@ -0,0 +1 @@
+# Intentionally blank; using bzlmod
diff --git a/examples/bazel_env/WORKSPACE.bzlmod b/examples/bazel_env/WORKSPACE.bzlmod
new file mode 100644
index 0000000000..8e081c0b59
--- /dev/null
+++ b/examples/bazel_env/WORKSPACE.bzlmod
@@ -0,0 +1 @@
+# Intentionally blank; enable strict mode for bzlmod
diff --git a/examples/bazel_env/cargo_test.sh b/examples/bazel_env/cargo_test.sh
new file mode 100755
index 0000000000..664067aea2
--- /dev/null
+++ b/examples/bazel_env/cargo_test.sh
@@ -0,0 +1,46 @@
+#!/usr/bin/env bash
+
+# --- begin runfiles.bash initialization v3 ---
+# Copy-pasted from the Bazel Bash runfiles library v3.
+set -uo pipefail; set +e; f=bazel_tools/tools/bash/runfiles/runfiles.bash
+source "${RUNFILES_DIR:-/dev/null}/$f" 2>/dev/null || \
+  source "$(grep -sm1 "^$f " "${RUNFILES_MANIFEST_FILE:-/dev/null}" | cut -f2- -d' ')" 2>/dev/null || \
+  source "$0.runfiles/$f" 2>/dev/null || \
+  source "$(grep -sm1 "^$f " "$0.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \
+  source "$(grep -sm1 "^$f " "$0.exe.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \
+  { echo>&2 "ERROR: cannot find $f"; exit 1; }; f=; set -e
+# --- end runfiles.bash initialization v3 ---
+
+
+set -euo pipefail
+
+# MARK - Functions
+
+fail() {
+  echo >&2 "$@"
+  exit 1
+}
+
+# MARK - Args
+
+if [[ "$#" -lt 1 ]]; then
+  fail "Usage: $0 /path/to/bin "
+fi
+CARGO="$(rlocation "$1")"
+
+# MARK - Test
+
+# simulate bazel run with setting BUILD_WORKING_DIRECTORY
+export BUILD_WORKING_DIRECTORY="$PWD" 
+
+# Run hello_world, invoking rustc
+OUTPUT="$("${CARGO}" run)"
+
+EXPECTED_OUTPUT="Hello, world!"
+[[ "${OUTPUT}" == "${EXPECTED_OUTPUT}" ]] ||
+  fail 'Expected "'"${EXPECTED_OUTPUT}"'", but was' "${OUTPUT}"
+
+# Crash tests, no error
+
+${CARGO} clippy ||
+  fail "couldn't execute \"cargo clippy\""
diff --git a/examples/bazel_env/env/BUILD.bazel b/examples/bazel_env/env/BUILD.bazel
new file mode 100644
index 0000000000..0c64a5883a
--- /dev/null
+++ b/examples/bazel_env/env/BUILD.bazel
@@ -0,0 +1,13 @@
+load("@bazel_env.bzl", "bazel_env")
+
+package(default_visibility = ["//visibility:public"])
+
+bazel_env(
+    name = "env",
+    tools = {
+        "cargo": "@rules_rust//tools/upstream_wrapper:cargo",
+        "cargo-clippy": "@rules_rust//tools/upstream_wrapper:cargo_clippy",
+        "rustc": "@rules_rust//tools/upstream_wrapper:rustc",
+        "rustfmt": "@rules_rust//tools/upstream_wrapper:rustfmt",
+    },
+)
diff --git a/examples/bazel_env/hello b/examples/bazel_env/hello
new file mode 100755
index 0000000000000000000000000000000000000000..182a8addb5a735007e3e12b73a341c21249bd4bf
GIT binary patch
literal 396056
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Ⓢq3*HOT%bI1hSU5isO4!~3|
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

`AstQy2MZx)Pu3-MS2I;KQHKFdlNb@y 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/dev/null || \ + source "$(grep -sm1 "^$f " "${RUNFILES_MANIFEST_FILE:-/dev/null}" | cut -f2- -d' ')" 2>/dev/null || \ + source "$0.runfiles/$f" 2>/dev/null || \ + source "$(grep -sm1 "^$f " "$0.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \ + source "$(grep -sm1 "^$f " "$0.exe.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \ + { echo>&2 "ERROR: cannot find $f"; exit 1; }; f=; set -e +# --- end runfiles.bash initialization v3 --- + + +set -euo pipefail + +# MARK - Functions + +fail() { + echo >&2 "$@" + exit 1 +} + +# MARK - Args + +if [[ "$#" -lt 1 ]]; then + fail "Usage: $0 /path/to/bin " +fi +RUSTC="$(rlocation "$1")" + +# MARK - Test +DIR=$(mktemp -d "rustc-test-XXXXXXX") + +set -x +echo "fn main() {}" >"$DIR/main.rs" +cd "$DIR" +# simulate bazel run with setting BUILD_WORKING_DIRECTORY +export BUILD_WORKING_DIRECTORY="$PWD" +"$RUSTC" "main.rs" || + fail "Couldn't compile main.rs" diff --git a/examples/bazel_env/rustfmt_test.sh b/examples/bazel_env/rustfmt_test.sh new file mode 100755 index 0000000000..177201077e --- /dev/null +++ b/examples/bazel_env/rustfmt_test.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash + +# --- begin runfiles.bash initialization v3 --- +# Copy-pasted from the Bazel Bash runfiles library v3. +set -uo pipefail; set +e; f=bazel_tools/tools/bash/runfiles/runfiles.bash +source "${RUNFILES_DIR:-/dev/null}/$f" 2>/dev/null || \ + source "$(grep -sm1 "^$f " "${RUNFILES_MANIFEST_FILE:-/dev/null}" | cut -f2- -d' ')" 2>/dev/null || \ + source "$0.runfiles/$f" 2>/dev/null || \ + source "$(grep -sm1 "^$f " "$0.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \ + source "$(grep -sm1 "^$f " "$0.exe.runfiles_manifest" | cut -f2- -d' ')" 2>/dev/null || \ + { echo>&2 "ERROR: cannot find $f"; exit 1; }; f=; set -e +# --- end runfiles.bash initialization v3 --- + + +set -euo pipefail + +# MARK - Functions + +fail() { + echo >&2 "$@" + exit 1 +} + +# MARK - Args + +if [[ "$#" -lt 1 ]]; then + fail "Usage: $0 /path/to/bin " +fi +RUSTFMT="$(rlocation "$1")" + +# MARK - Test + +# simulate bazel run with setting BUILD_WORKING_DIRECTORY +export BUILD_WORKING_DIRECTORY="$PWD" + +OUTPUT="$(echo -e "fn main() {\n\n}" | "$RUSTFMT")" + +# without newlines in body +EXPECTED_OUTPUT="fn main() {}" +[[ "${OUTPUT}" == "${EXPECTED_OUTPUT}" ]] || + fail 'Expected "'"${EXPECTED_OUTPUT}"'", but was' "${OUTPUT}" \ No newline at end of file diff --git a/rust/private/repository_utils.bzl b/rust/private/repository_utils.bzl index 67f1cd0aa6..15d11e6836 100644 --- a/rust/private/repository_utils.bzl +++ b/rust/private/repository_utils.bzl @@ -122,14 +122,6 @@ def BUILD_for_rustfmt(target_triple): binary_ext = system_to_binary_ext(target_triple.system), ) -_build_file_for_clippy_template = """\ -filegroup( - name = "clippy_driver_bin", - srcs = ["bin/clippy-driver{binary_ext}"], - visibility = ["//visibility:public"], -) -""" - _build_file_for_rust_analyzer_proc_macro_srv = """\ filegroup( name = "rust_analyzer_proc_macro_srv", @@ -150,6 +142,19 @@ def BUILD_for_rust_analyzer_proc_macro_srv(exec_triple): binary_ext = system_to_binary_ext(exec_triple.system), ) +_build_file_for_clippy_template = """\ +filegroup( + name = "clippy_driver_bin", + srcs = ["bin/clippy-driver{binary_ext}"], + visibility = ["//visibility:public"], +) +filegroup( + name = "cargo_clippy_bin", + srcs = ["bin/cargo-clippy{binary_ext}"], + visibility = ["//visibility:public"], +) +""" + def BUILD_for_clippy(target_triple): """Emits a BUILD file the clippy archive. @@ -244,6 +249,7 @@ rust_toolchain( rustfmt = {rustfmt_label}, cargo = "//:cargo", clippy_driver = "//:clippy_driver_bin", + cargo_clippy = "//:cargo_clippy_bin", llvm_cov = {llvm_cov_label}, llvm_profdata = {llvm_profdata_label}, rustc_lib = "//:rustc_lib", diff --git a/rust/private/toolchain_utils.bzl b/rust/private/toolchain_utils.bzl index 64f759f503..078e6f34c3 100644 --- a/rust/private/toolchain_utils.bzl +++ b/rust/private/toolchain_utils.bzl @@ -13,6 +13,16 @@ def _toolchain_files_impl(ctx): ], transitive_files = toolchain.rustc_lib, ) + elif ctx.attr.tool == "cargo-clippy": + files = depset([toolchain.cargo_clippy]) + runfiles = ctx.runfiles( + files = [ + toolchain.cargo_clippy, + toolchain.clippy_driver, + toolchain.rustc, + ], + transitive_files = toolchain.rustc_lib, + ) elif ctx.attr.tool == "clippy": files = depset([toolchain.clippy_driver]) runfiles = ctx.runfiles( @@ -60,6 +70,7 @@ toolchain_files = rule( doc = "The desired tool to get form the current rust_toolchain", values = [ "cargo", + "cargo-clippy", "clippy", "rust_lib", "rust_std", diff --git a/rust/toolchain.bzl b/rust/toolchain.bzl index b10ddb1c86..ae3fcefebb 100644 --- a/rust/toolchain.bzl +++ b/rust/toolchain.bzl @@ -377,6 +377,7 @@ def _generate_sysroot( rustc_lib, cargo = None, clippy = None, + cargo_clippy = None, llvm_tools = None, rust_std = None, rustfmt = None): @@ -388,6 +389,7 @@ def _generate_sysroot( rustdoc (File): The path to a `rustdoc` executable. rustc_lib (Target): A collection of Files containing dependencies of `rustc`. cargo (File, optional): The path to a `cargo` executable. + cargo_clippy (File, optional): The path to a `cargo-clippy` executable. clippy (File, optional): The path to a `clippy-driver` executable. llvm_tools (Target, optional): A collection of llvm tools used by `rustc`. rust_std (Target, optional): A collection of Files containing Rust standard library components. @@ -428,6 +430,12 @@ def _generate_sysroot( sysroot_cargo = _symlink_sysroot_bin(ctx, name, "bin", cargo) direct_files.extend([sysroot_cargo]) + # Cargo-clippy + sysroot_cargo_clippy = None + if cargo_clippy: + sysroot_cargo_clippy = _symlink_sysroot_bin(ctx, name, "bin", cargo_clippy) + direct_files.extend([sysroot_cargo_clippy]) + # Rustfmt sysroot_rustfmt = None if rustfmt: @@ -453,6 +461,7 @@ def _generate_sysroot( content = "\n".join([ "cargo: {}".format(cargo), "clippy: {}".format(clippy), + "cargo-clippy: {}".format(cargo_clippy), "llvm_tools: {}".format(llvm_tools), "rust_std: {}".format(rust_std), "rustc_lib: {}".format(rustc_lib), @@ -469,6 +478,7 @@ def _generate_sysroot( all_files = all_files, cargo = sysroot_cargo, clippy = sysroot_clippy, + cargo_clippy = sysroot_cargo_clippy, rust_std = sysroot_rust_std, rustc = sysroot_rustc, rustc_lib = sysroot_rustc_lib, @@ -529,6 +539,7 @@ def _rust_toolchain_impl(ctx): rustfmt = ctx.file.rustfmt, clippy = ctx.file.clippy_driver, cargo = ctx.file.cargo, + cargo_clippy = ctx.file.cargo_clippy, llvm_tools = ctx.attr.llvm_tools, ) @@ -571,6 +582,7 @@ def _rust_toolchain_impl(ctx): "RUSTDOC": sysroot.rustdoc.path, "RUST_DEFAULT_EDITION": ctx.attr.default_edition or "", "RUST_SYSROOT": sysroot_path, + "RUST_SYSROOT_SHORT": sysroot_short_path, } if sysroot.cargo: @@ -631,6 +643,7 @@ def _rust_toolchain_impl(ctx): binary_ext = ctx.attr.binary_ext, cargo = sysroot.cargo, clippy_driver = sysroot.clippy, + cargo_clippy = sysroot.cargo_clippy, compilation_mode_opts = compilation_mode_opts, crosstool_files = ctx.files._cc_toolchain, default_edition = ctx.attr.default_edition, @@ -702,6 +715,11 @@ rust_toolchain = rule( allow_single_file = True, cfg = "exec", ), + "cargo_clippy": attr.label( + doc = "The location of the `cargo_clippy` binary. Can be a direct source or a filegroup containing one item.", + allow_single_file = True, + cfg = "exec", + ), "clippy_driver": attr.label( doc = "The location of the `clippy-driver` binary. Can be a direct source or a filegroup containing one item.", allow_single_file = True, diff --git a/rust/toolchain/BUILD.bazel b/rust/toolchain/BUILD.bazel index b5e57af79a..c839c91364 100644 --- a/rust/toolchain/BUILD.bazel +++ b/rust/toolchain/BUILD.bazel @@ -13,6 +13,11 @@ toolchain_files( tool = "clippy", ) +toolchain_files( + name = "current_cargo_clippy_files", + tool = "cargo-clippy", +) + toolchain_files( name = "current_rustc_files", tool = "rustc", diff --git a/tools/rustfmt/BUILD.bazel b/tools/rustfmt/BUILD.bazel index c8aeb81a64..ecbc1a9d24 100644 --- a/tools/rustfmt/BUILD.bazel +++ b/tools/rustfmt/BUILD.bazel @@ -36,7 +36,7 @@ rust_library( alias( name = "rustfmt", actual = ":target_aware_rustfmt", - deprecation = "Prefer //tools/rustfmt:target_aware_rustfmt", + deprecation = "Prefer //tools/upstream_wrapper:rustfmt", visibility = ["//visibility:public"], ) @@ -85,20 +85,10 @@ rust_clippy( ], ) -# This is a small wrapper around the raw upstream rustfmt binary which can be `bazel run`. -rust_binary( +# Deprecated but present for compatibility. +alias( name = "upstream_rustfmt", - srcs = [ - "src/upstream_rustfmt_wrapper.rs", - ], - data = ["//rust/toolchain:current_rustfmt_toolchain_for_target"], - edition = "2018", - rustc_env = { - "RUSTFMT": "$(rlocationpath //rust/toolchain:current_rustfmt_toolchain_for_target)", - }, - toolchains = ["@rules_rust//rust/toolchain:current_rust_toolchain"], + actual = "//tools/upstream_wrapper:rustfmt", + deprecation = "Prefer //tools/upstream_wrapper:rustfmt", visibility = ["//visibility:public"], - deps = [ - "//tools/runfiles", - ], ) diff --git a/tools/rustfmt/src/upstream_rustfmt_wrapper.rs b/tools/rustfmt/src/upstream_rustfmt_wrapper.rs deleted file mode 100644 index 33c091aa13..0000000000 --- a/tools/rustfmt/src/upstream_rustfmt_wrapper.rs +++ /dev/null @@ -1,38 +0,0 @@ -use std::path::PathBuf; -use std::process::{exit, Command}; - -fn main() { - let runfiles = runfiles::Runfiles::create().unwrap(); - - let rustfmt = runfiles::rlocation!(runfiles, env!("RUSTFMT")); - if !rustfmt.exists() { - panic!("rustfmt does not exist at: {}", rustfmt.display()); - } - - let working_directory = std::env::var_os("BUILD_WORKING_DIRECTORY") - .map(PathBuf::from) - .unwrap_or_else(|| std::env::current_dir().expect("Failed to get working directory")); - - let status = Command::new(rustfmt) - .current_dir(&working_directory) - .args(std::env::args_os().skip(1)) - .status() - .expect("Failed to run rustfmt"); - if let Some(exit_code) = status.code() { - exit(exit_code); - } - exit_for_signal(&status); - panic!("Child rustfmt process didn't exit or get a signal - don't know how to handle it"); -} - -#[cfg(target_family = "unix")] -fn exit_for_signal(status: &std::process::ExitStatus) { - use std::os::unix::process::ExitStatusExt; - if let Some(signal) = status.signal() { - exit(signal); - } -} - -#[cfg(not(target_family = "unix"))] -#[allow(unused)] -fn exit_for_signal(status: &std::process::ExitStatus) {} diff --git a/tools/upstream_wrapper/BUILD.bazel b/tools/upstream_wrapper/BUILD.bazel new file mode 100644 index 0000000000..ad9ab7eaf0 --- /dev/null +++ b/tools/upstream_wrapper/BUILD.bazel @@ -0,0 +1,33 @@ +load("//rust:defs.bzl", "rust_binary") + +tools = { + "cargo": "//rust/toolchain:current_cargo_files", + "cargo_clippy": "//rust/toolchain:current_cargo_clippy_files", + "rustc": "//rust/toolchain:current_rustc_files", + "rustfmt": "//rust/toolchain:current_rustfmt_toolchain_for_target", +} + +all_tools = [target for target in tools.values()] + +[ + rust_binary( + name = tool_name, + srcs = [ + "src/main.rs", + ], + # Cargo calls out to the other tools. + # Make sure that they are included in the runfiles. + data = all_tools if tool_name == "cargo" else [target], + edition = "2018", + rustc_env = { + "WRAPPED_TOOL_NAME": tool_name, + "WRAPPED_TOOL_TARGET": "$(rlocationpath {})".format(target), + }, + toolchains = ["@rules_rust//rust/toolchain:current_rust_toolchain"], + visibility = ["//visibility:public"], + deps = [ + "//tools/runfiles", + ], + ) + for (tool_name, target) in tools.items() +] diff --git a/tools/upstream_wrapper/README.md b/tools/upstream_wrapper/README.md new file mode 100644 index 0000000000..3b1c8975c6 --- /dev/null +++ b/tools/upstream_wrapper/README.md @@ -0,0 +1,15 @@ +# upstream_wrapper + +Wrap the binaries from the current toolchain so that +they can be easily invoked with `bazel run`: + +```bash +bazel run @rules_rust//tools/upstream_wrapper:cargo +bazel run @rules_rust//tools/upstream_wrapper:cargo -- clippy +bazel run @rules_rust//tools/upstream_wrapper:cargo -- fmt +bazel run @rules_rust//tools/upstream_wrapper:rustc -- main.rs +bazel run @rules_rust//tools/upstream_wrapper:rustfmt +``` + +Alternatively, look at the [bazel_env example](../../examples/bazel_env/) +to include them in the users path with direnv. diff --git a/tools/upstream_wrapper/src/main.rs b/tools/upstream_wrapper/src/main.rs new file mode 100644 index 0000000000..6d6e167c26 --- /dev/null +++ b/tools/upstream_wrapper/src/main.rs @@ -0,0 +1,59 @@ +use std::ffi::OsString; +use std::path::PathBuf; +use std::process::{exit, Command}; + +const WRAPPED_TOOL_NAME: &str = env!("WRAPPED_TOOL_NAME"); +const WRAPPED_TOOL_TARGET: &str = env!("WRAPPED_TOOL_TARGET"); + +#[cfg(not(target_os = "windows"))] +const PATH_SEPARATOR: &str = ":"; +#[cfg(target_os = "windows")] +const PATH_SEPARATOR: &str = ";"; + +fn main() { + let runfiles = runfiles::Runfiles::create().unwrap(); + + let wrapped_tool_path = runfiles::rlocation!(runfiles, WRAPPED_TOOL_TARGET); + if !wrapped_tool_path.exists() { + panic!( + "{WRAPPED_TOOL_NAME} does not exist at: {}", + wrapped_tool_path.display() + ); + } + + let tool_directory = wrapped_tool_path + .parent() + .expect("parent directory of tool binary"); + let old_path = std::env::var_os("PATH").unwrap_or_default(); + let mut new_path = OsString::from(tool_directory); + new_path.push(PATH_SEPARATOR); + new_path.push(&old_path); + + let working_directory = std::env::var_os("BUILD_WORKING_DIRECTORY") + .map(PathBuf::from) + .unwrap_or_else(|| std::env::current_dir().expect("Failed to get working directory")); + + let status = Command::new(wrapped_tool_path) + .current_dir(&working_directory) + .args(std::env::args_os().skip(1)) + .env("PATH", new_path) + .status() + .unwrap_or_else(|e| panic!("Failed to run {WRAPPED_TOOL_NAME} {:#}", e)); + if let Some(exit_code) = status.code() { + exit(exit_code); + } + exit_for_signal(&status); + panic!("Child rustfmt process didn't exit or get a signal - don't know how to handle it"); +} + +#[cfg(target_family = "unix")] +fn exit_for_signal(status: &std::process::ExitStatus) { + use std::os::unix::process::ExitStatusExt; + if let Some(signal) = status.signal() { + exit(signal); + } +} + +#[cfg(not(target_family = "unix"))] +#[allow(unused)] +fn exit_for_signal(status: &std::process::ExitStatus) {}