-
Notifications
You must be signed in to change notification settings - Fork 522
Open
Description
Current version (0.30) is unable to build a simple swagger external crate.
Step to reproduce
WORKSPACE
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file")
http_archive(
name = "rules_rust",
sha256 = "6357de5982dd32526e02278221bb8d6aa45717ba9bbacf43686b130aa2c72e1e",
urls = ["https://github.com/bazelbuild/rules_rust/releases/download/0.30.0/rules_rust-v0.30.0.tar.gz"],
)
load("@rules_rust//rust:repositories.bzl", "rules_rust_dependencies", "rust_register_toolchains")
rules_rust_dependencies()
rust_register_toolchains(
edition = "2021"
)
load("@rules_rust//crate_universe:repositories.bzl", "crate_universe_dependencies")
crate_universe_dependencies()
load("@rules_rust//crate_universe:defs.bzl", "crates_repository", "crate", "render_config")
crates_repository(
name = "crate_index",
cargo_lockfile = "//:Cargo.lock",
lockfile = "//:Cargo.Bazel.lock",
packages = {
"swagger": crate.spec(
version = "6.4.1",
features = ["server"],
),
}
)
load("@crate_index//:defs.bzl", "crate_repositories")
crate_repositories()and simply run:
CARGO_BAZEL_REPIN=true bazel build @crate_index//:swaggerThe following error is raised:
INFO: Analyzed target @crate_index//:swagger (152 packages loaded, 2306 targets configured).
INFO: Found 1 target...
ERROR: [...]/a1d0b31371ba47b46ce907c6b304e7d4/external/crate_index__swagger-6.4.1/BUILD.bazel:20:13: Compiling Rust rlib swagger v6.4.1 (16 files) failed: (Exit 1): process_wrapper failed: error executing command (from target @crate_index__swagger-6.4.1//:swagger) bazel-out/k8-opt-exec-2B5CBBC6/bin/external/rules_rust/util/process_wrapper/process_wrapper --arg-file ... (remaining 96 arguments skipped)
Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
error[E0433]: failed to resolve: use of undeclared crate or module `hyper`
--> external/crate_index__swagger-6.4.1/src/body.rs:3:5
|
3 | use hyper::body::Bytes;
| ^^^^^ use of undeclared crate or module `hyper`
[...]
Details
Swagger crate has a pretty simple Cargo.toml
https://github.com/Metaswitch/swagger-rs/blob/master/Cargo.toml
Mainly it depends on hyper (not optional):
[dependencies]
hyper = "0.14"The corresponding generated BUILD file is:
###############################################################################
# @generated
# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
# regenerate this file, run the following:
#
# bazel sync --only=crate_index
###############################################################################
load("@rules_rust//rust:defs.bzl", "rust_library")
# buildifier: disable=bzl-visibility
load("@rules_rust//crate_universe/private:selects.bzl", "selects")
package(default_visibility = ["//visibility:public"])
# licenses([
# "TODO", # Apache-2.0
# ])
rust_library(
name = "swagger",
deps = [
"@crate_index__base64-0.13.1//:base64",
"@crate_index__futures-0.3.29//:futures",
"@crate_index__hyper-old-types-0.11.0//:hyper_old_types",
"@crate_index__serde-1.0.192//:serde",
"@crate_index__serde_json-1.0.108//:serde_json",
"@crate_index__slog-2.7.0//:slog",
"@crate_index__uuid-0.8.2//:uuid",
],
compile_data = glob(
include = ["**"],
exclude = [
"**/* *",
".tmp_git_root/**/*",
"BUILD",
"BUILD.bazel",
"WORKSPACE",
"WORKSPACE.bazel",
],
),
crate_features = [
"default",
"serde",
"serde_json",
"serdejson",
"server",
],
crate_root = "src/lib.rs",
edition = "2018",
rustc_flags = ["--cap-lints=allow"],
srcs = glob(["**/*.rs"]),
tags = [
"cargo-bazel",
"crate-name=swagger",
"manual",
"noclippy",
"norustfmt",
],
target_compatible_with = select({
"@rules_rust//rust/platform:aarch64-apple-darwin": [],
"@rules_rust//rust/platform:aarch64-apple-ios": [],
"@rules_rust//rust/platform:aarch64-apple-ios-sim": [],
"@rules_rust//rust/platform:aarch64-fuchsia": [],
"@rules_rust//rust/platform:aarch64-linux-android": [],
"@rules_rust//rust/platform:aarch64-pc-windows-msvc": [],
"@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [],
"@rules_rust//rust/platform:arm-unknown-linux-gnueabi": [],
"@rules_rust//rust/platform:armv7-linux-androideabi": [],
"@rules_rust//rust/platform:armv7-unknown-linux-gnueabi": [],
"@rules_rust//rust/platform:i686-apple-darwin": [],
"@rules_rust//rust/platform:i686-linux-android": [],
"@rules_rust//rust/platform:i686-pc-windows-msvc": [],
"@rules_rust//rust/platform:i686-unknown-freebsd": [],
"@rules_rust//rust/platform:i686-unknown-linux-gnu": [],
"@rules_rust//rust/platform:powerpc-unknown-linux-gnu": [],
"@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [],
"@rules_rust//rust/platform:riscv64gc-unknown-none-elf": [],
"@rules_rust//rust/platform:s390x-unknown-linux-gnu": [],
"@rules_rust//rust/platform:thumbv7em-none-eabi": [],
"@rules_rust//rust/platform:thumbv8m.main-none-eabi": [],
"@rules_rust//rust/platform:wasm32-unknown-unknown": [],
"@rules_rust//rust/platform:wasm32-wasi": [],
"@rules_rust//rust/platform:x86_64-apple-darwin": [],
"@rules_rust//rust/platform:x86_64-apple-ios": [],
"@rules_rust//rust/platform:x86_64-fuchsia": [],
"@rules_rust//rust/platform:x86_64-linux-android": [],
"@rules_rust//rust/platform:x86_64-pc-windows-msvc": [],
"@rules_rust//rust/platform:x86_64-unknown-freebsd": [],
"@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [],
"@rules_rust//rust/platform:x86_64-unknown-none": [],
"//conditions:default": ["@platforms//:incompatible"],
}),
version = "6.4.1",
)There is no declared dependencies to hyper.
Metadata
Metadata
Assignees
Labels
No labels