Skip to content

Commit

Permalink
Reduce number of default supported_platform_triples for crate_unive…
Browse files Browse the repository at this point in the history
…rse (#3239)

This should save substantial time for users of `crate_universe` as they
don't need to do splicing for platforms they're not going to use. It's
still recommended users explicitly set `supported_platform_triples` but
my expectation with this change is that it covers most of the bases for
users to still provide them with a sufficiently responsive experience
compared to the 34 platforms that used to be in splicing.
  • Loading branch information
UebelAndre authored Feb 7, 2025
1 parent 53c3469 commit 478cef4
Show file tree
Hide file tree
Showing 98 changed files with 6,755 additions and 12,355 deletions.
6 changes: 5 additions & 1 deletion crate_universe/extensions.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,7 @@ load(
"//crate_universe/private:common_utils.bzl",
"new_cargo_bazel_fn",
)
load("//crate_universe/private:crates_repository.bzl", "SUPPORTED_PLATFORM_TRIPLES")
load(
"//crate_universe/private:crates_vendor.bzl",
"CRATES_VENDOR_ATTRS",
Expand Down Expand Up @@ -1031,7 +1032,10 @@ _FROM_COMMON_ATTRS = {
"If set, this file must exist within the workspace (but can be empty) before this rule will work."
),
),
"supported_platform_triples": CRATES_VENDOR_ATTRS["supported_platform_triples"],
"supported_platform_triples": attr.string_list(
doc = "A set of all platform triples to consider when generating dependencies.",
default = SUPPORTED_PLATFORM_TRIPLES,
),
}

_from_cargo = tag_class(
Expand Down
14 changes: 13 additions & 1 deletion crate_universe/private/crates_repository.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,19 @@ load(
load("//crate_universe/private:urls.bzl", "CARGO_BAZEL_SHA256S", "CARGO_BAZEL_URLS")
load("//rust:defs.bzl", "rust_common")
load("//rust/platform:triple.bzl", "get_host_triple")
load("//rust/platform:triple_mappings.bzl", "SUPPORTED_PLATFORM_TRIPLES")

# A reduced subset of platform triples that cover a wide range of known users.
# The reduced set is intended to speed up the splciing step which has `O(N^2)`
# complexity for each platform triple added.
SUPPORTED_PLATFORM_TRIPLES = [
"aarch64-apple-darwin",
"aarch64-unknown-linux-gnu",
"wasm32-unknown-unknown",
"wasm32-wasip1",
"x86_64-pc-windows-msvc",
"x86_64-unknown-linux-gnu",
"x86_64-unknown-nixos-gnu",
]

def _crates_repository_impl(repository_ctx):
# Determine the current host's platform triple
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"checksum": "0b175bc37d566da5fe84c73eafac661a2a63c54e48018171d60023e60e2f959d",
"checksum": "07feae63b62c36dfcee6215163c2da995f5b8a3a4086cbaedadc0edf9463fc2f",
"crates": {
"direct-cargo-bazel-deps 0.0.1": {
"name": "direct-cargo-bazel-deps",
Expand Down Expand Up @@ -117,110 +117,23 @@
"aarch64-apple-darwin": [
"aarch64-apple-darwin"
],
"aarch64-apple-ios": [
"aarch64-apple-ios"
],
"aarch64-apple-ios-sim": [
"aarch64-apple-ios-sim"
],
"aarch64-linux-android": [
"aarch64-linux-android"
],
"aarch64-pc-windows-msvc": [
"aarch64-pc-windows-msvc"
],
"aarch64-unknown-fuchsia": [
"aarch64-unknown-fuchsia"
],
"aarch64-unknown-linux-gnu": [
"aarch64-unknown-linux-gnu"
],
"aarch64-unknown-nixos-gnu": [
"aarch64-unknown-nixos-gnu"
],
"aarch64-unknown-nto-qnx710": [
"aarch64-unknown-nto-qnx710"
],
"aarch64-unknown-uefi": [
"aarch64-unknown-uefi"
],
"arm-unknown-linux-gnueabi": [
"arm-unknown-linux-gnueabi"
],
"armv7-linux-androideabi": [
"armv7-linux-androideabi"
],
"armv7-unknown-linux-gnueabi": [
"armv7-unknown-linux-gnueabi"
],
"i686-apple-darwin": [
"i686-apple-darwin"
],
"i686-linux-android": [
"i686-linux-android"
],
"i686-pc-windows-msvc": [
"i686-pc-windows-msvc"
],
"i686-unknown-freebsd": [
"i686-unknown-freebsd"
],
"i686-unknown-linux-gnu": [
"i686-unknown-linux-gnu"
],
"powerpc-unknown-linux-gnu": [
"powerpc-unknown-linux-gnu"
],
"riscv32imc-unknown-none-elf": [
"riscv32imc-unknown-none-elf"
],
"riscv64gc-unknown-none-elf": [
"riscv64gc-unknown-none-elf"
],
"s390x-unknown-linux-gnu": [
"s390x-unknown-linux-gnu"
],
"thumbv7em-none-eabi": [
"thumbv7em-none-eabi"
],
"thumbv8m.main-none-eabi": [
"thumbv8m.main-none-eabi"
],
"wasm32-unknown-unknown": [
"wasm32-unknown-unknown"
],
"wasm32-wasip1": [
"wasm32-wasip1"
],
"x86_64-apple-darwin": [
"x86_64-apple-darwin"
],
"x86_64-apple-ios": [
"x86_64-apple-ios"
],
"x86_64-linux-android": [
"x86_64-linux-android"
],
"x86_64-pc-windows-msvc": [
"x86_64-pc-windows-msvc"
],
"x86_64-unknown-freebsd": [
"x86_64-unknown-freebsd"
],
"x86_64-unknown-fuchsia": [
"x86_64-unknown-fuchsia"
],
"x86_64-unknown-linux-gnu": [
"x86_64-unknown-linux-gnu"
],
"x86_64-unknown-nixos-gnu": [
"x86_64-unknown-nixos-gnu"
],
"x86_64-unknown-none": [
"x86_64-unknown-none"
],
"x86_64-unknown-uefi": [
"x86_64-unknown-uefi"
]
},
"direct_deps": [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"checksum": "6168e50ce554c325e7cd7648b8af23060c35670254e2ee6eb12e12ce8e361eaa",
"checksum": "9178d0ef0fe03c0b7b5b1ce979b0aa90433f33d0aee48da3a99a22926ccd0d0c",
"crates": {
"direct-cargo-bazel-deps 0.0.1": {
"name": "direct-cargo-bazel-deps",
Expand Down Expand Up @@ -118,110 +118,23 @@
"aarch64-apple-darwin": [
"aarch64-apple-darwin"
],
"aarch64-apple-ios": [
"aarch64-apple-ios"
],
"aarch64-apple-ios-sim": [
"aarch64-apple-ios-sim"
],
"aarch64-linux-android": [
"aarch64-linux-android"
],
"aarch64-pc-windows-msvc": [
"aarch64-pc-windows-msvc"
],
"aarch64-unknown-fuchsia": [
"aarch64-unknown-fuchsia"
],
"aarch64-unknown-linux-gnu": [
"aarch64-unknown-linux-gnu"
],
"aarch64-unknown-nixos-gnu": [
"aarch64-unknown-nixos-gnu"
],
"aarch64-unknown-nto-qnx710": [
"aarch64-unknown-nto-qnx710"
],
"aarch64-unknown-uefi": [
"aarch64-unknown-uefi"
],
"arm-unknown-linux-gnueabi": [
"arm-unknown-linux-gnueabi"
],
"armv7-linux-androideabi": [
"armv7-linux-androideabi"
],
"armv7-unknown-linux-gnueabi": [
"armv7-unknown-linux-gnueabi"
],
"i686-apple-darwin": [
"i686-apple-darwin"
],
"i686-linux-android": [
"i686-linux-android"
],
"i686-pc-windows-msvc": [
"i686-pc-windows-msvc"
],
"i686-unknown-freebsd": [
"i686-unknown-freebsd"
],
"i686-unknown-linux-gnu": [
"i686-unknown-linux-gnu"
],
"powerpc-unknown-linux-gnu": [
"powerpc-unknown-linux-gnu"
],
"riscv32imc-unknown-none-elf": [
"riscv32imc-unknown-none-elf"
],
"riscv64gc-unknown-none-elf": [
"riscv64gc-unknown-none-elf"
],
"s390x-unknown-linux-gnu": [
"s390x-unknown-linux-gnu"
],
"thumbv7em-none-eabi": [
"thumbv7em-none-eabi"
],
"thumbv8m.main-none-eabi": [
"thumbv8m.main-none-eabi"
],
"wasm32-unknown-unknown": [
"wasm32-unknown-unknown"
],
"wasm32-wasip1": [
"wasm32-wasip1"
],
"x86_64-apple-darwin": [
"x86_64-apple-darwin"
],
"x86_64-apple-ios": [
"x86_64-apple-ios"
],
"x86_64-linux-android": [
"x86_64-linux-android"
],
"x86_64-pc-windows-msvc": [
"x86_64-pc-windows-msvc"
],
"x86_64-unknown-freebsd": [
"x86_64-unknown-freebsd"
],
"x86_64-unknown-fuchsia": [
"x86_64-unknown-fuchsia"
],
"x86_64-unknown-linux-gnu": [
"x86_64-unknown-linux-gnu"
],
"x86_64-unknown-nixos-gnu": [
"x86_64-unknown-nixos-gnu"
],
"x86_64-unknown-none": [
"x86_64-unknown-none"
],
"x86_64-unknown-uefi": [
"x86_64-unknown-uefi"
]
},
"direct_deps": [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"checksum": "8548d8aea6a668636f32213571ee4613bccf6e42a8c348729db3e995bb165c99",
"checksum": "77603e5382a2c6122f03edee856500632417d73756a3d24f8c9080f2f7a6ab49",
"crates": {
"direct-cargo-bazel-deps 0.0.1": {
"name": "direct-cargo-bazel-deps",
Expand Down Expand Up @@ -117,110 +117,23 @@
"aarch64-apple-darwin": [
"aarch64-apple-darwin"
],
"aarch64-apple-ios": [
"aarch64-apple-ios"
],
"aarch64-apple-ios-sim": [
"aarch64-apple-ios-sim"
],
"aarch64-linux-android": [
"aarch64-linux-android"
],
"aarch64-pc-windows-msvc": [
"aarch64-pc-windows-msvc"
],
"aarch64-unknown-fuchsia": [
"aarch64-unknown-fuchsia"
],
"aarch64-unknown-linux-gnu": [
"aarch64-unknown-linux-gnu"
],
"aarch64-unknown-nixos-gnu": [
"aarch64-unknown-nixos-gnu"
],
"aarch64-unknown-nto-qnx710": [
"aarch64-unknown-nto-qnx710"
],
"aarch64-unknown-uefi": [
"aarch64-unknown-uefi"
],
"arm-unknown-linux-gnueabi": [
"arm-unknown-linux-gnueabi"
],
"armv7-linux-androideabi": [
"armv7-linux-androideabi"
],
"armv7-unknown-linux-gnueabi": [
"armv7-unknown-linux-gnueabi"
],
"i686-apple-darwin": [
"i686-apple-darwin"
],
"i686-linux-android": [
"i686-linux-android"
],
"i686-pc-windows-msvc": [
"i686-pc-windows-msvc"
],
"i686-unknown-freebsd": [
"i686-unknown-freebsd"
],
"i686-unknown-linux-gnu": [
"i686-unknown-linux-gnu"
],
"powerpc-unknown-linux-gnu": [
"powerpc-unknown-linux-gnu"
],
"riscv32imc-unknown-none-elf": [
"riscv32imc-unknown-none-elf"
],
"riscv64gc-unknown-none-elf": [
"riscv64gc-unknown-none-elf"
],
"s390x-unknown-linux-gnu": [
"s390x-unknown-linux-gnu"
],
"thumbv7em-none-eabi": [
"thumbv7em-none-eabi"
],
"thumbv8m.main-none-eabi": [
"thumbv8m.main-none-eabi"
],
"wasm32-unknown-unknown": [
"wasm32-unknown-unknown"
],
"wasm32-wasip1": [
"wasm32-wasip1"
],
"x86_64-apple-darwin": [
"x86_64-apple-darwin"
],
"x86_64-apple-ios": [
"x86_64-apple-ios"
],
"x86_64-linux-android": [
"x86_64-linux-android"
],
"x86_64-pc-windows-msvc": [
"x86_64-pc-windows-msvc"
],
"x86_64-unknown-freebsd": [
"x86_64-unknown-freebsd"
],
"x86_64-unknown-fuchsia": [
"x86_64-unknown-fuchsia"
],
"x86_64-unknown-linux-gnu": [
"x86_64-unknown-linux-gnu"
],
"x86_64-unknown-nixos-gnu": [
"x86_64-unknown-nixos-gnu"
],
"x86_64-unknown-none": [
"x86_64-unknown-none"
],
"x86_64-unknown-uefi": [
"x86_64-unknown-uefi"
]
},
"direct_deps": [
Expand Down
Loading

0 comments on commit 478cef4

Please sign in to comment.