From 1e8ff389442493f5ab5fcd105f3fea1ca8e56ea9 Mon Sep 17 00:00:00 2001 From: Andre Brisco Date: Thu, 1 Apr 2021 19:32:27 -0700 Subject: [PATCH] Updated cargo_universe examples --- .bazelignore | 2 - examples/crate_universe/.gitignore | 1 + examples/crate_universe/BUILD.bazel | 0 examples/crate_universe/WORKSPACE.bazel | 42 +++++++++++ examples/crate_universe/basic/BUILD.bazel | 7 +- examples/crate_universe/basic/WORKSPACE.bazel | 46 ------------- examples/crate_universe/basic/workspace.bzl | 18 +++++ .../has_aliased_deps/BUILD.bazel | 7 +- .../{openssl.BUILD => BUILD.openssl.bazel} | 0 .../has_aliased_deps/WORKSPACE.bazel | 69 ------------------- .../has_aliased_deps/workspace.bzl | 37 ++++++++++ .../uses_proc_macro/BUILD.bazel | 7 +- .../uses_proc_macro/WORKSPACE.bazel | 30 -------- .../uses_proc_macro/workspace.bzl | 9 +++ .../crate_universe/uses_sys_crate/BUILD.bazel | 7 +- .../uses_sys_crate/WORKSPACE.bazel | 48 ------------- .../uses_sys_crate/lockfile.lock | 59 ++++++++-------- .../uses_sys_crate/workspace.bzl | 20 ++++++ 18 files changed, 162 insertions(+), 247 deletions(-) create mode 100644 examples/crate_universe/.gitignore create mode 100644 examples/crate_universe/BUILD.bazel create mode 100644 examples/crate_universe/WORKSPACE.bazel delete mode 100644 examples/crate_universe/basic/WORKSPACE.bazel create mode 100644 examples/crate_universe/basic/workspace.bzl rename examples/crate_universe/has_aliased_deps/{openssl.BUILD => BUILD.openssl.bazel} (100%) delete mode 100644 examples/crate_universe/has_aliased_deps/WORKSPACE.bazel create mode 100644 examples/crate_universe/has_aliased_deps/workspace.bzl delete mode 100644 examples/crate_universe/uses_proc_macro/WORKSPACE.bazel create mode 100644 examples/crate_universe/uses_proc_macro/workspace.bzl delete mode 100644 examples/crate_universe/uses_sys_crate/WORKSPACE.bazel create mode 100644 examples/crate_universe/uses_sys_crate/workspace.bzl diff --git a/.bazelignore b/.bazelignore index 0cb7ed8515..37fa09a7af 100644 --- a/.bazelignore +++ b/.bazelignore @@ -1,4 +1,2 @@ docs examples -examples/crate_universe -examples/cargo_manifest_dir/external_crate diff --git a/examples/crate_universe/.gitignore b/examples/crate_universe/.gitignore new file mode 100644 index 0000000000..ac51a054d2 --- /dev/null +++ b/examples/crate_universe/.gitignore @@ -0,0 +1 @@ +bazel-* diff --git a/examples/crate_universe/BUILD.bazel b/examples/crate_universe/BUILD.bazel new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/crate_universe/WORKSPACE.bazel b/examples/crate_universe/WORKSPACE.bazel new file mode 100644 index 0000000000..ba80818850 --- /dev/null +++ b/examples/crate_universe/WORKSPACE.bazel @@ -0,0 +1,42 @@ +workspace(name = "rules_rust_examples_crate_universe") + +local_repository( + name = "rules_rust", + path = "../../..", +) + +load("@rules_rust//rust:repositories.bzl", "rust_repositories") + +rust_repositories() + +load("//basic:workspace.bzl", basic_deps = "deps") + +basic_deps() + +load("@basic_deps//:defs.bzl", basic_deps_pinned_rust_install = "pinned_rust_install") + +basic_deps_pinned_rust_install() + +load("//has_aliased_deps:workspace.bzl", has_aliased_deps_deps = "deps") + +has_aliased_deps_deps() + +load("@has_aliased_deps_deps//:defs.bzl", has_aliased_deps_deps_pinned_rust_install = "pinned_rust_install") + +has_aliased_deps_deps_pinned_rust_install() + +load("//uses_proc_macro:workspace.bzl", uses_proc_macro_deps = "deps") + +uses_proc_macro_deps() + +load("@uses_proc_macro_deps//:defs.bzl", uses_proc_macro_deps_pinned_rust_install = "pinned_rust_install") + +uses_proc_macro_deps_pinned_rust_install() + +load("//uses_sys_crate:workspace.bzl", uses_sys_crate_deps = "deps") + +uses_sys_crate_deps() + +load("@uses_sys_crate_deps//:defs.bzl", uses_sys_crate_deps_pinned_rust_install = "pinned_rust_install") + +uses_sys_crate_deps_pinned_rust_install() diff --git a/examples/crate_universe/basic/BUILD.bazel b/examples/crate_universe/basic/BUILD.bazel index be602d4252..c20467a074 100644 --- a/examples/crate_universe/basic/BUILD.bazel +++ b/examples/crate_universe/basic/BUILD.bazel @@ -1,8 +1,5 @@ -load( - "@rules_rust//rust:rust.bzl", - "rust_binary", -) -load("@rust_deps//:defs.bzl", "crate") +load("@basic_deps//:defs.bzl", "crate") +load("@rules_rust//rust:defs.bzl", "rust_binary") rust_binary( name = "basic", diff --git a/examples/crate_universe/basic/WORKSPACE.bazel b/examples/crate_universe/basic/WORKSPACE.bazel deleted file mode 100644 index 7ddadeaddf..0000000000 --- a/examples/crate_universe/basic/WORKSPACE.bazel +++ /dev/null @@ -1,46 +0,0 @@ -local_repository( - name = "rules_rust", - path = "../../..", -) - -load("@rules_rust//rust:repositories.bzl", "rust_repositories") - -rust_repositories() - -# Need to have an http_file along the lines of: -# -# load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") -# -# http_file( -# name = "crate_universe_resolver_darwin", -# urls = ["file:///PATH/TO/rules_rust/cargo/crate_universe_resolver/target/release/crate_universe_resolver"], -# sha256 = "FILL_ME_IN", -# executable = True, -# ) -# -# http_file( -# name = "crate_universe_resolver_linux", -# urls = ["file:///PATH/TO/rules_rust/cargo/crate_universe_resolver/target/release/crate_universe_resolver"], -# sha256 = "FILL_ME_IN", -# executable = True, -# ) - -load("@rules_rust//crate_universe:defs.bzl", "crate", "crate_universe") - -crate_universe( - name = "rust_deps", - packages = [ - crate.spec( - name = "lazy_static", - semver = "=1.4", - ), - ], - supported_targets = [ - "x86_64-apple-darwin", - "x86_64-unknown-linux-gnu", - ], -) - -load("@rust_deps//:defs.bzl", "pinned_rust_install") - -pinned_rust_install() diff --git a/examples/crate_universe/basic/workspace.bzl b/examples/crate_universe/basic/workspace.bzl new file mode 100644 index 0000000000..5361090f4e --- /dev/null +++ b/examples/crate_universe/basic/workspace.bzl @@ -0,0 +1,18 @@ +"""A module for loading crate universe dependencies""" + +load("@rules_rust//crate_universe:defs.bzl", "crate", "crate_universe") + +def deps(): + crate_universe( + name = "basic_deps", + packages = [ + crate.spec( + name = "lazy_static", + semver = "=1.4", + ), + ], + supported_targets = [ + "x86_64-apple-darwin", + "x86_64-unknown-linux-gnu", + ], + ) diff --git a/examples/crate_universe/has_aliased_deps/BUILD.bazel b/examples/crate_universe/has_aliased_deps/BUILD.bazel index 62bd68681c..ed76b20798 100644 --- a/examples/crate_universe/has_aliased_deps/BUILD.bazel +++ b/examples/crate_universe/has_aliased_deps/BUILD.bazel @@ -1,8 +1,5 @@ -load( - "@rules_rust//rust:rust.bzl", - "rust_binary", -) -load("@rust_deps//:defs.bzl", "crate") +load("@has_aliased_deps_deps//:defs.bzl", "crate") +load("@rules_rust//rust:defs.bzl", "rust_binary") rust_binary( name = "has_aliased_deps", diff --git a/examples/crate_universe/has_aliased_deps/openssl.BUILD b/examples/crate_universe/has_aliased_deps/BUILD.openssl.bazel similarity index 100% rename from examples/crate_universe/has_aliased_deps/openssl.BUILD rename to examples/crate_universe/has_aliased_deps/BUILD.openssl.bazel diff --git a/examples/crate_universe/has_aliased_deps/WORKSPACE.bazel b/examples/crate_universe/has_aliased_deps/WORKSPACE.bazel deleted file mode 100644 index 40e18d8e49..0000000000 --- a/examples/crate_universe/has_aliased_deps/WORKSPACE.bazel +++ /dev/null @@ -1,69 +0,0 @@ -local_repository( - name = "rules_rust", - path = "../../..", -) - -local_repository( - name = "examples", - path = "../../../examples", -) - -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") - -http_archive( - name = "openssl", - build_file = "@examples//third_party/openssl:BUILD.openssl.bazel", - sha256 = "23011a5cc78e53d0dc98dfa608c51e72bcd350aa57df74c5d5574ba4ffb62e74", - strip_prefix = "openssl-OpenSSL_1_1_1d", - urls = ["https://github.com/openssl/openssl/archive/OpenSSL_1_1_1d.tar.gz"], -) - -load("@rules_rust//rust:repositories.bzl", "rust_repositories") - -rust_repositories() - -# Need to have an http_file along the lines of: -# -# load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") -# -# http_file( -# name = "crate_universe_resolver_darwin", -# urls = ["file:///PATH/TO/rules_rust/cargo/crate_universe_resolver/target/release/crate_universe_resolver"], -# sha256 = "FILL_ME_IN", -# executable = True, -# ) -# -# http_file( -# name = "crate_universe_resolver_linux", -# urls = ["file:///PATH/TO/rules_rust/cargo/crate_universe_resolver/target/release/crate_universe_resolver"], -# sha256 = "FILL_ME_IN", -# executable = True, -# ) - -load("@rules_rust//crate_universe:defs.bzl", "crate", "crate_universe") - -crate_universe( - name = "rust_deps", - cargo_toml_files = ["//:Cargo.toml"], - overrides = { - "openssl-sys": crate.override( - extra_build_script_env_vars = { - "OPENSSL_DIR": "../openssl/openssl", - }, - extra_bazel_deps = { - "cfg(all())": ["@openssl//:openssl"], - }, - extra_build_script_bazel_data_deps = { - "cfg(all())": ["@openssl//:openssl"], - }, - ), - }, - supported_targets = [ - "x86_64-apple-darwin", - "x86_64-unknown-linux-gnu", - ], -) - -load("@rust_deps//:defs.bzl", "pinned_rust_install") - -pinned_rust_install() diff --git a/examples/crate_universe/has_aliased_deps/workspace.bzl b/examples/crate_universe/has_aliased_deps/workspace.bzl new file mode 100644 index 0000000000..7ade036b85 --- /dev/null +++ b/examples/crate_universe/has_aliased_deps/workspace.bzl @@ -0,0 +1,37 @@ +"""A module for loading crate universe dependencies""" + +load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") +load("@rules_rust//crate_universe:defs.bzl", "crate", "crate_universe") + +def deps(): + maybe( + http_archive, + name = "openssl", + build_file = "//has_aliased_deps:BUILD.openssl.bazel", + sha256 = "23011a5cc78e53d0dc98dfa608c51e72bcd350aa57df74c5d5574ba4ffb62e74", + strip_prefix = "openssl-OpenSSL_1_1_1d", + urls = ["https://github.com/openssl/openssl/archive/OpenSSL_1_1_1d.tar.gz"], + ) + + crate_universe( + name = "has_aliased_deps_deps", + cargo_toml_files = ["//has_aliased_deps:Cargo.toml"], + overrides = { + "openssl-sys": crate.override( + extra_build_script_env_vars = { + "OPENSSL_DIR": "../openssl/openssl", + }, + extra_bazel_deps = { + "cfg(all())": ["@openssl//:openssl"], + }, + extra_build_script_bazel_data_deps = { + "cfg(all())": ["@openssl//:openssl"], + }, + ), + }, + supported_targets = [ + "x86_64-apple-darwin", + "x86_64-unknown-linux-gnu", + ], + ) diff --git a/examples/crate_universe/uses_proc_macro/BUILD.bazel b/examples/crate_universe/uses_proc_macro/BUILD.bazel index 51ab003a76..9332639af4 100644 --- a/examples/crate_universe/uses_proc_macro/BUILD.bazel +++ b/examples/crate_universe/uses_proc_macro/BUILD.bazel @@ -1,8 +1,5 @@ -load( - "@rules_rust//rust:rust.bzl", - "rust_binary", -) -load("@rust_deps//:defs.bzl", "crate") +load("@rules_rust//rust:defs.bzl", "rust_binary") +load("@uses_proc_macro_deps//:defs.bzl", "crate") rust_binary( name = "uses_proc_macro", diff --git a/examples/crate_universe/uses_proc_macro/WORKSPACE.bazel b/examples/crate_universe/uses_proc_macro/WORKSPACE.bazel deleted file mode 100644 index 79a3fa0d87..0000000000 --- a/examples/crate_universe/uses_proc_macro/WORKSPACE.bazel +++ /dev/null @@ -1,30 +0,0 @@ -local_repository( - name = "rules_rust", - path = "../../..", -) - -load("@rules_rust//rust:repositories.bzl", "rust_repositories") - -rust_repositories() - -# Need to have an http_file along the lines of: -# -# load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") -# -# http_file( -# name = "crate_universe_resolver_darwin", -# urls = ["file:///PATH/TO/rules_rust/cargo/crate_universe_resolver/target/release/crate_universe_resolver"], -# sha256 = "FILL_ME_IN", -# executable = True, -# ) -# -# http_file( -# name = "crate_universe_resolver_linux", -# urls = ["file:///PATH/TO/rules_rust/cargo/crate_universe_resolver/target/release/crate_universe_resolver"], -# sha256 = "FILL_ME_IN", -# executable = True, -# ) - -load("@rust_deps//:defs.bzl", "pinned_rust_install") - -pinned_rust_install() diff --git a/examples/crate_universe/uses_proc_macro/workspace.bzl b/examples/crate_universe/uses_proc_macro/workspace.bzl new file mode 100644 index 0000000000..7910c3c1e9 --- /dev/null +++ b/examples/crate_universe/uses_proc_macro/workspace.bzl @@ -0,0 +1,9 @@ +"""A module for loading crate universe dependencies""" + +load("@rules_rust//crate_universe:defs.bzl", "crate_universe") + +def deps(): + crate_universe( + name = "uses_proc_macro_deps", + cargo_toml_files = ["//uses_proc_macro:Cargo.toml"], + ) diff --git a/examples/crate_universe/uses_sys_crate/BUILD.bazel b/examples/crate_universe/uses_sys_crate/BUILD.bazel index e8d3499136..fac2ee3743 100644 --- a/examples/crate_universe/uses_sys_crate/BUILD.bazel +++ b/examples/crate_universe/uses_sys_crate/BUILD.bazel @@ -1,8 +1,5 @@ -load( - "@rules_rust//rust:rust.bzl", - "rust_binary", -) -load("@rust_deps//:defs.bzl", "crate") +load("@rules_rust//rust:defs.bzl", "rust_binary") +load("@uses_sys_crate_deps//:defs.bzl", "crate") package(default_visibility = ["//visibility:public"]) diff --git a/examples/crate_universe/uses_sys_crate/WORKSPACE.bazel b/examples/crate_universe/uses_sys_crate/WORKSPACE.bazel deleted file mode 100644 index b14e0670c1..0000000000 --- a/examples/crate_universe/uses_sys_crate/WORKSPACE.bazel +++ /dev/null @@ -1,48 +0,0 @@ -local_repository( - name = "rules_rust", - path = "../../..", -) - -load("@rules_rust//rust:repositories.bzl", "rust_repositories") - -rust_repositories() - -# Need to have an http_file along the lines of: -# -# load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_file") -# -# http_file( -# name = "crate_universe_resolver_darwin", -# urls = ["file:///PATH/TO/rules_rust/cargo/crate_universe_resolver/target/release/crate_universe_resolver"], -# sha256 = "FILL_ME_IN", -# executable = True, -# ) -# -# http_file( -# name = "crate_universe_resolver_linux", -# urls = ["file:///PATH/TO/rules_rust/cargo/crate_universe_resolver/target/release/crate_universe_resolver"], -# sha256 = "FILL_ME_IN", -# executable = True, -# ) - -load("@rules_rust//crate_universe:defs.bzl", "crate", "crate_universe") - -crate_universe( - name = "rust_deps", - cargo_toml_files = ["//:Cargo.toml"], - lockfile = "//:lockfile.lock", - packages = [ - crate.spec( - name = "libc", - semver = "=0.2.76", - ), - ], - supported_targets = [ - "x86_64-apple-darwin", - "x86_64-unknown-linux-gnu", - ], -) - -load("@rust_deps//:defs.bzl", "pinned_rust_install") - -pinned_rust_install() diff --git a/examples/crate_universe/uses_sys_crate/lockfile.lock b/examples/crate_universe/uses_sys_crate/lockfile.lock index ca3d2988da..21c730f4b7 100644 --- a/examples/crate_universe/uses_sys_crate/lockfile.lock +++ b/examples/crate_universe/uses_sys_crate/lockfile.lock @@ -1,5 +1,5 @@ # rules_rust crate_universe file format 1 -# config hash 6194c33fc29701bfce95fa6d31095bf1268a7ae6aab060692153d2e9fcd34373 +# config hash b916e44c6b9880f343f36afe6306a62a91143212d5a24f94ad1170df9b5f6a9e load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository") @@ -7,13 +7,14 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") def pinned_rust_install(): http_archive( - name = "rust_deps__bzip2__0_3_3", + name = "uses_sys_crate_deps__bzip2__0_3_3", # TODO: Allow configuring where rust_library comes from build_file_content = """# buildifier: disable=load load( - "@rules_rust//rust:rust.bzl", + "@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", + "rust_proc_macro", "rust_test", ) @@ -33,10 +34,9 @@ licenses([ # buildifier: leave-alone rust_library( name = "bzip2", - crate_type = "lib", deps = [ - "@rust_deps__bzip2_sys__0_1_10_1_0_8//:bzip2_sys", - "@rust_deps__libc__0_2_76//:libc", + "@uses_sys_crate_deps__bzip2_sys__0_1_10_1_0_8//:bzip2_sys", + "@uses_sys_crate_deps__libc__0_2_76//:libc", ], srcs = glob(["**/*.rs"]), crate_root = "src/lib.rs", @@ -71,20 +71,20 @@ rust_library( ) # Unsupported target "tokio" with type "test" omitted """, - sha256 = "42b7c3cbf0fa9c1b82308d57191728ca0256cb821220f4e2fd410a72ade26e3b", strip_prefix = "bzip2-0.3.3", type = "tar.gz", url = "https://crates.io/api/v1/crates/bzip2/0.3.3/download", ) http_archive( - name = "rust_deps__bzip2_sys__0_1_10_1_0_8", + name = "uses_sys_crate_deps__bzip2_sys__0_1_10_1_0_8", # TODO: Allow configuring where rust_library comes from build_file_content = """# buildifier: disable=load load( - "@rules_rust//rust:rust.bzl", + "@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", + "rust_proc_macro", "rust_test", ) @@ -113,8 +113,8 @@ cargo_build_script( crate_root = "build.rs", edition = "2015", deps = [ - "@rust_deps__cc__1_0_67//:cc", - "@rust_deps__pkg_config__0_3_19//:pkg_config", + "@uses_sys_crate_deps__cc__1_0_67//:cc", + "@uses_sys_crate_deps__pkg_config__0_3_19//:pkg_config", ], rustc_flags = [ "--cap-lints=allow", @@ -148,10 +148,9 @@ cargo_build_script( # buildifier: leave-alone rust_library( name = "bzip2_sys", - crate_type = "lib", deps = [ ":bzip2_sys_build_script", - "@rust_deps__libc__0_2_76//:libc", + "@uses_sys_crate_deps__libc__0_2_76//:libc", ], srcs = glob(["**/*.rs"]), crate_root = "lib.rs", @@ -185,20 +184,20 @@ rust_library( }), ) """, - sha256 = "17fa3d1ac1ca21c5c4e36a97f3c3eb25084576f6fc47bf0139c1123434216c6c", strip_prefix = "bzip2-sys-0.1.10+1.0.8", type = "tar.gz", url = "https://crates.io/api/v1/crates/bzip2-sys/0.1.10+1.0.8/download", ) http_archive( - name = "rust_deps__cc__1_0_67", + name = "uses_sys_crate_deps__cc__1_0_67", # TODO: Allow configuring where rust_library comes from build_file_content = """# buildifier: disable=load load( - "@rules_rust//rust:rust.bzl", + "@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", + "rust_proc_macro", "rust_test", ) @@ -259,7 +258,6 @@ rust_binary( # buildifier: leave-alone rust_library( name = "cc", - crate_type = "lib", deps = [ ], srcs = glob(["**/*.rs"]), @@ -298,20 +296,20 @@ rust_library( # Unsupported target "cxxflags" with type "test" omitted # Unsupported target "test" with type "test" omitted """, - sha256 = "e3c69b077ad434294d3ce9f1f6143a2a4b89a8a2d54ef813d85003a4fd1137fd", strip_prefix = "cc-1.0.67", type = "tar.gz", url = "https://crates.io/api/v1/crates/cc/1.0.67/download", ) http_archive( - name = "rust_deps__libc__0_2_76", + name = "uses_sys_crate_deps__libc__0_2_76", # TODO: Allow configuring where rust_library comes from build_file_content = """# buildifier: disable=load load( - "@rules_rust//rust:rust.bzl", + "@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", + "rust_proc_macro", "rust_test", ) @@ -374,7 +372,6 @@ cargo_build_script( # buildifier: leave-alone rust_library( name = "libc", - crate_type = "lib", deps = [ ":libc_build_script", ], @@ -413,20 +410,20 @@ rust_library( ) # Unsupported target "const_fn" with type "test" omitted """, - sha256 = "755456fae044e6fa1ebbbd1b3e902ae19e73097ed4ed87bb79934a867c007bc3", strip_prefix = "libc-0.2.76", type = "tar.gz", url = "https://crates.io/api/v1/crates/libc/0.2.76/download", ) http_archive( - name = "rust_deps__pkg_config__0_3_19", + name = "uses_sys_crate_deps__pkg_config__0_3_19", # TODO: Allow configuring where rust_library comes from build_file_content = """# buildifier: disable=load load( - "@rules_rust//rust:rust.bzl", + "@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", + "rust_proc_macro", "rust_test", ) @@ -446,7 +443,6 @@ licenses([ # buildifier: leave-alone rust_library( name = "pkg_config", - crate_type = "lib", deps = [ ], srcs = glob(["**/*.rs"]), @@ -482,7 +478,6 @@ rust_library( ) # Unsupported target "test" with type "test" omitted """, - sha256 = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c", strip_prefix = "pkg-config-0.3.19", type = "tar.gz", url = "https://crates.io/api/v1/crates/pkg-config/0.3.19/download", @@ -490,8 +485,8 @@ rust_library( CRATE_TARGET_NAMES = { - "bzip2": "@rust_deps__bzip2__0_3_3//:bzip2", - "libc": "@rust_deps__libc__0_2_76//:libc", + "bzip2": "@uses_sys_crate_deps__bzip2__0_3_3//:bzip2", + "libc": "@uses_sys_crate_deps__libc__0_2_76//:libc", } def crate(crate_name): @@ -520,25 +515,25 @@ def all_proc_macro_deps(): def crates_from(label): mapping = { - "//:Cargo.toml": [crate("bzip2")], + "//uses_sys_crate:Cargo.toml": [crate("bzip2")], } return mapping[_absolutify(label)] def dev_crates_from(label): mapping = { - "//:Cargo.toml": [], + "//uses_sys_crate:Cargo.toml": [], } return mapping[_absolutify(label)] def build_crates_from(label): mapping = { - "//:Cargo.toml": [], + "//uses_sys_crate:Cargo.toml": [], } return mapping[_absolutify(label)] def proc_macro_crates_from(label): mapping = { - "//:Cargo.toml": [], + "//uses_sys_crate:Cargo.toml": [], } return mapping[_absolutify(label)] diff --git a/examples/crate_universe/uses_sys_crate/workspace.bzl b/examples/crate_universe/uses_sys_crate/workspace.bzl new file mode 100644 index 0000000000..6e7ded9e3a --- /dev/null +++ b/examples/crate_universe/uses_sys_crate/workspace.bzl @@ -0,0 +1,20 @@ +"""A module for loading crate universe dependencies""" + +load("@rules_rust//crate_universe:defs.bzl", "crate", "crate_universe") + +def deps(): + crate_universe( + name = "uses_sys_crate_deps", + cargo_toml_files = ["//uses_sys_crate:Cargo.toml"], + lockfile = "//uses_sys_crate:lockfile.lock", + packages = [ + crate.spec( + name = "libc", + semver = "=0.2.76", + ), + ], + supported_targets = [ + "x86_64-apple-darwin", + "x86_64-unknown-linux-gnu", + ], + )