Skip to content

Commit b96e37e

Browse files
crate_universe: Allow passing extra args down to crate_universe_bootstrap (#2279)
this is useful for rules_nixpkgs which allows us to specify an external rust toolchain controlled by Nix. Currently, we are required to carry a patch to modify rules_rust: https://github.com/tweag/rules_nixpkgs/tree/master/examples/toolchains/rust Now we can add something like this to our WORKSPACE to use a custom cargo and rustc: ``` crate_universe_dependencies( bootstrap = True, rust_toolchain_cargo_template = "@nix_rust//:bin/{tool}", rust_toolchain_rustc_template = "@nix_rust//:bin/{tool}", ) ``` --------- Co-authored-by: UebelAndre <[email protected]>
1 parent a09c6d9 commit b96e37e

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

crate_universe/repositories.bzl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,18 @@ load("//crate_universe/3rdparty/crates:crates.bzl", _vendor_crate_repositories =
77
load("//crate_universe/private:vendor_utils.bzl", "crates_vendor_deps")
88
load("//crate_universe/tools/cross_installer:cross_installer_deps.bzl", "cross_installer_deps")
99

10-
def crate_universe_dependencies(rust_version = rust_common.default_version, bootstrap = False):
10+
def crate_universe_dependencies(rust_version = rust_common.default_version, bootstrap = False, **kwargs):
1111
"""Define dependencies of the `cargo-bazel` Rust target
1212
1313
Args:
1414
rust_version (str, optional): The version of rust to use when generating dependencies.
1515
bootstrap (bool, optional): If true, a `cargo_bootstrap_repository` target will be generated.
16+
**kwargs: Arguments to pass through to cargo_bazel_bootstrap.
1617
"""
1718
third_party_deps()
1819

1920
if bootstrap:
20-
cargo_bazel_bootstrap(rust_version = rust_version)
21+
cargo_bazel_bootstrap(rust_version = rust_version, **kwargs)
2122

2223
_vendor_crate_repositories()
2324

docs/crate_universe.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -720,7 +720,7 @@ A macro for defining repositories for all generated crates
720720
## crate_universe_dependencies
721721

722722
<pre>
723-
crate_universe_dependencies(<a href="#crate_universe_dependencies-rust_version">rust_version</a>, <a href="#crate_universe_dependencies-bootstrap">bootstrap</a>)
723+
crate_universe_dependencies(<a href="#crate_universe_dependencies-rust_version">rust_version</a>, <a href="#crate_universe_dependencies-bootstrap">bootstrap</a>, <a href="#crate_universe_dependencies-kwargs">kwargs</a>)
724724
</pre>
725725

726726
Define dependencies of the `cargo-bazel` Rust target
@@ -732,6 +732,7 @@ Define dependencies of the `cargo-bazel` Rust target
732732
| :------------- | :------------- | :------------- |
733733
| <a id="crate_universe_dependencies-rust_version"></a>rust_version | The version of rust to use when generating dependencies. | `"1.74.0"` |
734734
| <a id="crate_universe_dependencies-bootstrap"></a>bootstrap | If true, a <code>cargo_bootstrap_repository</code> target will be generated. | `False` |
735+
| <a id="crate_universe_dependencies-kwargs"></a>kwargs | Arguments to pass through to cargo_bazel_bootstrap. | none |
735736

736737

737738
<a id="render_config"></a>

0 commit comments

Comments
 (0)