diff --git a/MODULE.bazel b/MODULE.bazel index 38cd31629a..89705d331d 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -102,6 +102,7 @@ use_repo( "cui__cargo_toml-0.22.1", "cui__cfg-expr-0.18.0", "cui__clap-4.5.37", + "cui__clean-path-0.2.1", "cui__crates-index-3.7.0", "cui__glob-0.3.2", "cui__hex-0.4.3", diff --git a/crate_universe/3rdparty/crates/BUILD.bazel b/crate_universe/3rdparty/crates/BUILD.bazel index 603aa7dc49..c2955fe3fc 100644 --- a/crate_universe/3rdparty/crates/BUILD.bazel +++ b/crate_universe/3rdparty/crates/BUILD.bazel @@ -127,6 +127,18 @@ alias( tags = ["manual"], ) +alias( + name = "clean-path-0.2.1", + actual = "@cui__clean-path-0.2.1//:clean_path", + tags = ["manual"], +) + +alias( + name = "clean-path", + actual = "@cui__clean-path-0.2.1//:clean_path", + tags = ["manual"], +) + alias( name = "crates-index-3.7.0", actual = "@cui__crates-index-3.7.0//:crates_index", diff --git a/crate_universe/3rdparty/crates/BUILD.clean-path-0.2.1.bazel b/crate_universe/3rdparty/crates/BUILD.clean-path-0.2.1.bazel new file mode 100644 index 0000000000..f14c7a8a9f --- /dev/null +++ b/crate_universe/3rdparty/crates/BUILD.clean-path-0.2.1.bazel @@ -0,0 +1,92 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//crate_universe/3rdparty:crates_vendor +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "clean_path", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2015", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=clean-path", + "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-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@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-wasip1": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@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-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.1", +) diff --git a/crate_universe/3rdparty/crates/defs.bzl b/crate_universe/3rdparty/crates/defs.bzl index 4bf5f12399..179ebfabf8 100644 --- a/crate_universe/3rdparty/crates/defs.bzl +++ b/crate_universe/3rdparty/crates/defs.bzl @@ -303,6 +303,7 @@ _NORMAL_DEPENDENCIES = { "cargo_toml": Label("@cui//:cargo_toml-0.22.1"), "cfg-expr": Label("@cui//:cfg-expr-0.18.0"), "clap": Label("@cui//:clap-4.5.37"), + "clean-path": Label("@cui//:clean-path-0.2.1"), "crates-index": Label("@cui//:crates-index-3.7.0"), "glob": Label("@cui//:glob-0.3.2"), "hex": Label("@cui//:hex-0.4.3"), @@ -846,6 +847,16 @@ def crate_repositories(): build_file = Label("//crate_universe/3rdparty/crates:BUILD.clap_lex-0.7.4.bazel"), ) + maybe( + http_archive, + name = "cui__clean-path-0.2.1", + sha256 = "aaa6b4b263a5d737e9bf6b7c09b72c41a5480aec4d7219af827f6564e950b6a5", + type = "tar.gz", + urls = ["https://static.crates.io/crates/clean-path/0.2.1/download"], + strip_prefix = "clean-path-0.2.1", + build_file = Label("//crate_universe/3rdparty/crates:BUILD.clean-path-0.2.1.bazel"), + ) + maybe( http_archive, name = "cui__clru-0.6.1", @@ -3275,6 +3286,7 @@ def crate_repositories(): struct(repo = "cui__cargo_toml-0.22.1", is_dev_dep = False), struct(repo = "cui__cfg-expr-0.18.0", is_dev_dep = False), struct(repo = "cui__clap-4.5.37", is_dev_dep = False), + struct(repo = "cui__clean-path-0.2.1", is_dev_dep = False), struct(repo = "cui__crates-index-3.7.0", is_dev_dep = False), struct(repo = "cui__glob-0.3.2", is_dev_dep = False), struct(repo = "cui__hex-0.4.3", is_dev_dep = False), diff --git a/crate_universe/Cargo.lock b/crate_universe/Cargo.lock index 4bebf73ab8..5c0517bca0 100644 --- a/crate_universe/Cargo.lock +++ b/crate_universe/Cargo.lock @@ -170,6 +170,7 @@ dependencies = [ "cargo_toml", "cfg-expr", "clap", + "clean-path", "crates-index", "glob", "hex", @@ -302,6 +303,12 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" +[[package]] +name = "clean-path" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aaa6b4b263a5d737e9bf6b7c09b72c41a5480aec4d7219af827f6564e950b6a5" + [[package]] name = "clru" version = "0.6.1" diff --git a/crate_universe/Cargo.toml b/crate_universe/Cargo.toml index 88fb9e6989..5a190e4c46 100644 --- a/crate_universe/Cargo.toml +++ b/crate_universe/Cargo.toml @@ -96,6 +96,7 @@ tracing-subscriber = "0.3.19" url = "2.5.4" walkdir = "2.5.0" glob = "0.3.2" +clean-path = "0.2.1" [dev-dependencies] maplit = "1.0.2" diff --git a/crate_universe/extensions.bzl b/crate_universe/extensions.bzl index fa6bf94a68..e1c2e66f8e 100644 --- a/crate_universe/extensions.bzl +++ b/crate_universe/extensions.bzl @@ -4,7 +4,7 @@ Crate Universe is a set of Bazel rule for generating Rust targets using Cargo. This doc describes using crate_universe with bzlmod. -If you're using a WORKSPACE file, please see [the WORKSPACE equivalent of this doc](crate_universe.html). +If you're using a WORKSPACE file, please see [the WORKSPACE equivalent of this doc](crate_universe_workspace.html). There are some examples of using crate_universe with bzlmod in the [example folder](https://github.com/bazelbuild/rules_rust/examples/bzlmod). @@ -74,7 +74,7 @@ will not be able to pull from your private registry. The generated crates_repository contains helper macros which make collecting dependencies for Bazel targets simpler. Notably, the all_crate_deps and aliases macros ( -see [Dependencies API](https://bazelbuild.github.io/rules_rust/crate_universe.html#dependencies-api)) commonly allow the +see [Dependencies API](https://bazelbuild.github.io/rules_rust/crate_universe_workspace.html#dependencies-api)) commonly allow the Cargo.toml files to be the single source of truth for dependencies. Since these macros come from the generated repository, the dependencies and alias definitions they return will automatically update BUILD targets. In your BUILD files, @@ -137,7 +137,7 @@ CARGO_BAZEL_REPIN=1 bazel sync --only=crates This will result in all dependencies being updated for a project. The `CARGO_BAZEL_REPIN` environment variable can also be used to customize how dependencies are updated. -For more details about repin, [please refer to the documentation](https://bazelbuild.github.io/rules_rust/crate_universe.html#crates_vendor). +For more details about repin, [please refer to the documentation](https://bazelbuild.github.io/rules_rust/crate_universe_workspace.html#crates_vendor). ### Direct Dependencies diff --git a/crate_universe/private/crates_repository.bzl b/crate_universe/private/crates_repository.bzl index e92241d8a5..394f45927c 100644 --- a/crate_universe/private/crates_repository.bzl +++ b/crate_universe/private/crates_repository.bzl @@ -307,7 +307,9 @@ CARGO_BAZEL_REPIN=1 CARGO_BAZEL_REPIN_ONLY=crate_index bazel sync --only=crate_i "lockfile": attr.label( doc = ( "The path to a file to use for reproducible renderings. " + - "If set, this file must exist within the workspace (but can be empty) before this rule will work." + "If set, this file must exist within the workspace (but can be empty) before this rule will work." + + "If you already have a `MODULE.bazel.lock` file, you don't need this." + + "If you don't have a `MODULE.bazel.lock` file, the `lockfile` will save you generation time." ), ), "manifests": attr.label_list( diff --git a/crate_universe/src/cli/splice.rs b/crate_universe/src/cli/splice.rs index a3cdec8551..beaedee594 100644 --- a/crate_universe/src/cli/splice.rs +++ b/crate_universe/src/cli/splice.rs @@ -100,6 +100,7 @@ pub fn splice(opt: SpliceOptions) -> Result<()> { let resolver_data = TreeResolver::new(cargo.clone()) .generate( manifest_path.as_path_buf(), + &splicer.member_dirs(), &config.supported_platform_triples, ) .context("Failed to generate features")?; diff --git a/crate_universe/src/cli/vendor.rs b/crate_universe/src/cli/vendor.rs index ce480658fd..86b8b65906 100644 --- a/crate_universe/src/cli/vendor.rs +++ b/crate_universe/src/cli/vendor.rs @@ -228,6 +228,7 @@ pub fn vendor(opt: VendorOptions) -> anyhow::Result<()> { let resolver_data = TreeResolver::new(cargo.clone()).generate( manifest_path.as_path_buf(), + &splicer.member_dirs(), &config.supported_platform_triples, )?; diff --git a/crate_universe/src/context.rs b/crate_universe/src/context.rs index 3ec2a9e4d3..5a7705d5f3 100644 --- a/crate_universe/src/context.rs +++ b/crate_universe/src/context.rs @@ -187,7 +187,7 @@ impl Context { // If no package prefix is present, attempt to apply the workspace prefix // since workspace members would not have shown up with their own label None => match workspace_prefix { - Some(prefix) => PathBuf::from(prefix).join(package_path_diff), + Some(prefix) => clean_path::clean(PathBuf::from(prefix).join(package_path_diff)), None => package_path_diff, }, }; diff --git a/crate_universe/src/metadata/cargo_tree_resolver.rs b/crate_universe/src/metadata/cargo_tree_resolver.rs index 01ab6ad79c..f65614527d 100644 --- a/crate_universe/src/metadata/cargo_tree_resolver.rs +++ b/crate_universe/src/metadata/cargo_tree_resolver.rs @@ -6,7 +6,8 @@ use std::path::{Path, PathBuf}; use std::process::Child; use anyhow::{anyhow, bail, Context, Result}; -use camino::Utf8Path; +use camino::{Utf8Path, Utf8PathBuf}; +use clean_path::Clean; use semver::Version; use serde::{Deserialize, Serialize}; use tracing::{debug, trace}; @@ -17,6 +18,7 @@ use crate::metadata::cargo_bin::Cargo; use crate::select::{Select, SelectableScalar}; use crate::utils::symlink::symlink; use crate::utils::target_triple::TargetTriple; +use crate::utils::PathCleanUtf8; /// A list platform triples that support host tools /// @@ -308,6 +310,7 @@ impl TreeResolver { pub(crate) fn generate( &self, pristine_manifest_path: &Utf8Path, + member_dirs: &BTreeMap>, target_triples: &BTreeSet, ) -> Result { debug!( @@ -320,6 +323,7 @@ impl TreeResolver { let manifest_path_with_transitive_proc_macros = self .copy_project_with_explicit_deps_on_all_transitive_proc_macros( pristine_manifest_path, + member_dirs, &tempdir.path().join("explicit_proc_macro_deps"), ) .context("Failed to copy project with proc macro deps made direct")?; @@ -451,8 +455,17 @@ impl TreeResolver { fn copy_project_with_explicit_deps_on_all_transitive_proc_macros( &self, pristine_manifest_path: &Utf8Path, + member_dirs: &BTreeMap>, output_dir: &Path, ) -> Result { + if member_dirs.len() != 1 { + anyhow::bail!("Failed: The workspace has multiple roots"); + } + let (root, members) = member_dirs.first_key_value().unwrap(); + let output_dir = output_dir.join(root); + let output_dir = output_dir.as_path(); + + // check size of members_dir then pop refs to single elem if !output_dir.exists() { std::fs::create_dir_all(output_dir)?; } @@ -471,6 +484,22 @@ impl TreeResolver { })?; } } + for member_dir in members { + let source_path = pristine_root.join(member_dir).clean(); + let destination = output_dir.join(member_dir).clean(); + if destination.exists() { + continue; + } + if let Some(parent) = destination.parent() { + std::fs::create_dir_all(parent)?; + } + symlink(source_path.as_std_path(), &destination).with_context(|| { + format!( + "Failed to create symlink {:?} pointing at {:?}", + destination, source_path + ) + })?; + } std::fs::copy( pristine_root.join("Cargo.lock"), output_dir.join("Cargo.lock"), diff --git a/crate_universe/src/metadata/workspace_discoverer.rs b/crate_universe/src/metadata/workspace_discoverer.rs index 8814f33b23..10e314b196 100644 --- a/crate_universe/src/metadata/workspace_discoverer.rs +++ b/crate_universe/src/metadata/workspace_discoverer.rs @@ -1,5 +1,6 @@ use std::collections::{BTreeMap, BTreeSet}; +use crate::utils::PathCleanUtf8; use anyhow::{anyhow, bail, Context, Result}; use camino::{Utf8Path, Utf8PathBuf}; use cargo_toml::Manifest; @@ -52,10 +53,6 @@ fn discover_workspaces_with_cache( discovered_workspaces .workspaces_to_members .insert(workspace_parent, BTreeSet::new()); - } else { - discovered_workspaces - .non_workspaces - .insert(cargo_toml_path.clone()); } } @@ -85,6 +82,39 @@ fn discover_workspaces_with_cache( }) .transpose()?; + workspace_manifest.workspace.as_ref().and_then(|workspace| { + let excludes: Vec<_> = workspace + .exclude + .iter() + .map(|exclude| { + workspace_path + .parent() + .unwrap() + .join(exclude) + .clean() + .join("Cargo.toml") + }) + .collect(); + for member in workspace.members.iter() { + let member_pattern = workspace_path.parent()?.to_string() + "/" + member; + for entry in glob::glob(&member_pattern).unwrap() { + let maybe_member_cargo_toml = Utf8Path::from_path(&entry.unwrap()) + .unwrap() + .clean() + .join("Cargo.toml"); + if excludes.contains(&maybe_member_cargo_toml) { + continue; + } + discovered_workspaces + .workspaces_to_members + .get_mut(&workspace_path) + .unwrap() + .insert(maybe_member_cargo_toml); + } + } + Some(()) + }); + 'per_child: for entry in walkdir::WalkDir::new(workspace_path.parent().unwrap()) .follow_links(false) .follow_root_links(false) @@ -135,8 +165,12 @@ fn discover_workspaces_with_cache( explicit_workspace_path.display() ) })?; - actual_workspace_path = - child_path.parent().unwrap().join(explicit_workspace_path); + actual_workspace_path = child_path + .parent() + .unwrap() + .join(explicit_workspace_path) + .clean() + .join("Cargo.toml"); } } if !discovered_workspaces diff --git a/crate_universe/src/splicing.rs b/crate_universe/src/splicing.rs index 4417386bea..657ce55703 100644 --- a/crate_universe/src/splicing.rs +++ b/crate_universe/src/splicing.rs @@ -208,6 +208,7 @@ impl WorkspaceMetadata { fn new( splicing_manifest: &SplicingManifest, member_manifests: BTreeMap<&Utf8PathBuf, String>, + workspace_prefix: Option, ) -> Result { let mut package_prefixes: BTreeMap = member_manifests .iter() @@ -232,7 +233,7 @@ impl WorkspaceMetadata { // the empty key is expected to be the root package. If the root package // has a prefix, then all other packages will as well (even if no other // manifest represents them). The value is then saved as a separate value - let workspace_prefix = package_prefixes.remove(""); + let workspace_prefix = workspace_prefix.or(package_prefixes.remove("")); let package_prefixes = package_prefixes .into_iter() diff --git a/crate_universe/src/splicing/splicer.rs b/crate_universe/src/splicing/splicer.rs index cb657519ca..f2f71f8570 100644 --- a/crate_universe/src/splicing/splicer.rs +++ b/crate_universe/src/splicing/splicer.rs @@ -1,12 +1,13 @@ //! Utility for creating valid Cargo workspaces -use std::collections::BTreeMap; +use std::collections::{BTreeMap, BTreeSet}; use std::fs; use std::path::Path; use anyhow::{bail, Context, Result}; use camino::{Utf8Path, Utf8PathBuf}; use cargo_toml::Manifest; +use clean_path::Clean; use tracing::debug; use crate::config::CrateId; @@ -122,7 +123,7 @@ impl<'a> SplicerKind<'a> { path, manifest, splicing_manifest, - } => Self::splice_workspace(workspace_dir, path, manifest, splicing_manifest), + } => self.splice_workspace(workspace_dir, path, manifest, splicing_manifest), SplicerKind::Package { path, manifest, @@ -138,16 +139,31 @@ impl<'a> SplicerKind<'a> { /// Implementation for splicing Cargo workspaces #[tracing::instrument(skip_all)] fn splice_workspace( + &self, workspace_dir: &Utf8Path, path: &&Utf8PathBuf, manifest: &&Manifest, splicing_manifest: &&SplicingManifest, ) -> Result { + let mut workspace_dir = workspace_dir.to_owned(); let mut manifest = (*manifest).clone(); let manifest_dir = path .parent() .expect("Every manifest should havee a parent directory"); + let rel_dirs = self.rel_dirs_from_root(); + let (workspace_prefix, members) = match rel_dirs.first_key_value() { + Some((workspace_prefix, members)) => { + workspace_dir.push(workspace_prefix); + ( + (workspace_prefix != &Utf8PathBuf::new()) + .then_some(workspace_prefix.to_string()), + Some(members), + ) + } + None => (None, None), + }; + // Link the sources of the root manifest into the new workspace symlink_roots( manifest_dir.as_std_path(), @@ -155,6 +171,25 @@ impl<'a> SplicerKind<'a> { Some(IGNORE_LIST), )?; + // Link explicitly defined members + if let Some(members) = members { + for member in members.iter() { + let link_src = manifest_dir.as_std_path().join(member).clean(); + let link_dest = workspace_dir.as_std_path().join(member).clean(); + if link_dest.exists() { + continue; + } + if let Some(parent) = link_dest.parent() { + std::fs::create_dir_all(parent)?; + } + symlink(&link_src, &link_dest).context(format!( + "Failed to create symlink: {} -> {}", + link_src.display(), + link_dest.display() + ))?; + } + } + // Optionally install the cargo config after contents have been symlinked Self::setup_cargo_config(&splicing_manifest.cargo_config, workspace_dir.as_std_path())?; @@ -167,7 +202,8 @@ impl<'a> SplicerKind<'a> { let member_manifests = BTreeMap::from([(*path, String::new())]); // Write the generated metadata to the manifest - let workspace_metadata = WorkspaceMetadata::new(splicing_manifest, member_manifests)?; + let workspace_metadata = + WorkspaceMetadata::new(splicing_manifest, member_manifests, workspace_prefix)?; workspace_metadata.inject_into(&mut manifest)?; // Write the root manifest @@ -214,7 +250,7 @@ impl<'a> SplicerKind<'a> { let member_manifests = BTreeMap::from([(*path, String::new())]); // Write the generated metadata to the manifest - let workspace_metadata = WorkspaceMetadata::new(splicing_manifest, member_manifests)?; + let workspace_metadata = WorkspaceMetadata::new(splicing_manifest, member_manifests, None)?; workspace_metadata.inject_into(&mut manifest)?; // Write the root manifest @@ -252,7 +288,7 @@ impl<'a> SplicerKind<'a> { } // Write the generated metadata to the manifest - let workspace_metadata = WorkspaceMetadata::new(splicing_manifest, installations)?; + let workspace_metadata = WorkspaceMetadata::new(splicing_manifest, installations, None)?; workspace_metadata.inject_into(&mut manifest)?; // Add any additional depeendencies to the root package @@ -267,6 +303,50 @@ impl<'a> SplicerKind<'a> { Ok(SplicedManifest::MultiPackage(root_manifest_path)) } + /// A helper to find the relative directories of the members from the root workspace. + fn rel_dirs_from_root(&self) -> BTreeMap> { + let mut namespaces: BTreeMap> = BTreeMap::new(); + match self { + SplicerKind::Workspace { + path, + manifest, + splicing_manifest, + } => { + if let Some(root_label) = splicing_manifest.manifests.get(*path) { + let root_namespace: Utf8PathBuf = + [root_label.package().unwrap_or("."), root_label.target()] + .iter() + .collect(); + let root_namespace = root_namespace.parent().unwrap(); + namespaces.entry(root_namespace.to_path_buf()).or_insert( + manifest + .workspace + .as_ref() + .unwrap() + .members + .iter() + .map(|m| m.into()) + .collect(), + ); + return namespaces; + } + // Null object as default. + [( + Utf8PathBuf::new(), + BTreeSet::from_iter([Utf8PathBuf::new()]), + )] + .into_iter() + .collect() + } + _ => [( + Utf8PathBuf::new(), + BTreeSet::from_iter([Utf8PathBuf::new()]), + )] + .into_iter() + .collect(), + } + } + /// A helper for installing Cargo config files into the spliced workspace while also /// ensuring no other linked config file is available fn setup_cargo_config( @@ -500,6 +580,13 @@ impl Splicer { pub(crate) fn splice_workspace(&self) -> Result { SplicerKind::new(&self.manifests, &self.splicing_manifest)?.splice(&self.workspace_dir) } + + /// A helper to find the relative directories of the members from the root workspace. + pub(crate) fn member_dirs(&self) -> BTreeMap> { + SplicerKind::new(&self.manifests, &self.splicing_manifest) + .unwrap() + .rel_dirs_from_root() + } } const DEFAULT_SPLICING_PACKAGE_NAME: &str = "direct-cargo-bazel-deps"; const DEFAULT_SPLICING_PACKAGE_VERSION: &str = "0.0.1"; diff --git a/crate_universe/src/utils.rs b/crate_universe/src/utils.rs index 7d35660c51..b4f023a3e7 100644 --- a/crate_universe/src/utils.rs +++ b/crate_universe/src/utils.rs @@ -6,6 +6,7 @@ pub(crate) mod target_triple; pub(crate) const CRATES_IO_INDEX_URL: &str = "https://github.com/rust-lang/crates.io-index"; +use camino::{Utf8Path, Utf8PathBuf}; use std::collections::BTreeMap; use std::path::{Path, PathBuf}; @@ -63,6 +64,23 @@ pub(crate) fn normalize_cargo_file_paths( .collect() } +pub(crate) trait PathCleanUtf8 { + /// Normalize utf8 path from camino + fn clean(&self) -> Utf8PathBuf; +} + +impl PathCleanUtf8 for Utf8PathBuf { + fn clean(&self) -> Utf8PathBuf { + Utf8PathBuf::from_path_buf(clean_path::clean(self.as_std_path())).unwrap() + } +} + +impl PathCleanUtf8 for Utf8Path { + fn clean(&self) -> Utf8PathBuf { + Utf8PathBuf::from_path_buf(clean_path::clean(self.as_std_path())).unwrap() + } +} + #[cfg(test)] mod test { use super::*; @@ -111,4 +129,12 @@ mod test { assert!(!output.to_str().unwrap().contains('+')); } } + + #[test] + fn test_normalize_utf8_path() { + assert_eq!( + Utf8PathBuf::from("my/long/../path").clean(), + Utf8PathBuf::from("my/path") + ); + } } diff --git a/examples/all_deps_vendor/sys_deps.bzl b/examples/all_deps_vendor/sys_deps.bzl index 3b73d69411..93ddd9dd6c 100644 --- a/examples/all_deps_vendor/sys_deps.bzl +++ b/examples/all_deps_vendor/sys_deps.bzl @@ -9,7 +9,7 @@ def sys_deps(): Commonly `*-sys` crates are built on top of some existing library and will have a number of dependencies. The examples here use - [crate_universe](https://bazelbuild.github.io/rules_rust/crate_universe.html) + [crate_universe](https://bazelbuild.github.io/rules_rust/crate_universe_workspace.html) to gather these dependencies and make them available in the workspace. """ diff --git a/examples/crate_universe/MODULE.bazel b/examples/crate_universe/MODULE.bazel index 6c5989e4cb..02ded24946 100644 --- a/examples/crate_universe/MODULE.bazel +++ b/examples/crate_universe/MODULE.bazel @@ -350,6 +350,29 @@ use_repo( "crate_index_cargo_workspace", ) +############################################################################### +# C A R G O W O R K S P A C E - O U T O F T R E E +############################################################################### + +# https://bazelbuild.github.io/rules_rust/crate_universe_bzlmod.html +crate_index_cargo_workspace_oot = use_extension("@rules_rust//crate_universe:extensions.bzl", "crate") +crate_index_cargo_workspace_oot.from_cargo( + name = "crate_index_cargo_workspace_oot", + cargo_config = "//cargo_workspace_oot/workspace:.cargo/config.toml", + cargo_lockfile = "//cargo_workspace_oot/workspace:Cargo.Bazel.lock", + lockfile = "//cargo_workspace_oot/workspace:cargo-bazel-lock.json", + manifests = [ + "//cargo_workspace_oot/workspace:Cargo.toml", + "//cargo_workspace_oot/num_printer:Cargo.toml", + "//cargo_workspace_oot/printer:Cargo.toml", + "//cargo_workspace_oot/rng:Cargo.toml", + ], +) +use_repo( + crate_index_cargo_workspace_oot, + "crate_index_cargo_workspace_oot", +) + ############################################################################### # C A R G O C O N D I T I O N A L D E P S ############################################################################### diff --git a/examples/crate_universe/cargo_workspace/Cargo.lock b/examples/crate_universe/cargo_workspace/Cargo.lock new file mode 100644 index 0000000000..a759d25c7a --- /dev/null +++ b/examples/crate_universe/cargo_workspace/Cargo.lock @@ -0,0 +1,292 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clap" +version = "2.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +dependencies = [ + "ansi_term", + "atty", + "bitflags", + "strsim", + "textwrap 0.11.0", + "unicode-width", + "vec_map", +] + +[[package]] +name = "ferris-says" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9515ec2dd9606ec230f6b2d1f25fd9e808a2f2af600143f7efe7e5865505b7aa" +dependencies = [ + "smallvec", + "textwrap 0.13.4", + "unicode-width", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "libc" +version = "0.2.172" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" + +[[package]] +name = "num_printer" +version = "0.1.0" +dependencies = [ + "clap", + "printer", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "printer" +version = "0.1.0" +dependencies = [ + "ferris-says", + "rng", +] + +[[package]] +name = "proc-macro2" +version = "1.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom", + "libc", + "rand_chacha", + "rand_core", + "rand_hc", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rng" +version = "0.1.0" +dependencies = [ + "rand", +] + +[[package]] +name = "smallvec" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90c5e5fe535e48807ab94fc611d323935f39d4660c52b26b96446a7b33aef10" + +[[package]] +name = "smawk" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" + +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + +[[package]] +name = "syn" +version = "2.0.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "textwrap" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd05616119e612a8041ef58f2b578906cc2531a6069047ae092cfb86a325d835" +dependencies = [ + "smawk", + "unicode-width", +] + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "unicode-width" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "zerocopy" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/examples/crate_universe/cargo_workspace/cargo-bazel-lock.json b/examples/crate_universe/cargo_workspace/cargo-bazel-lock.json index ffd48c7014..0c3b6a2134 100644 --- a/examples/crate_universe/cargo_workspace/cargo-bazel-lock.json +++ b/examples/crate_universe/cargo_workspace/cargo-bazel-lock.json @@ -1,5 +1,5 @@ { - "checksum": "b78c987f5327687e670e9a453e7cbf40fa4179255243800d0d359a140e2647af", + "checksum": "5803dfc7b0b2d5413b5418fefb64cd9090b7d8ecea37158ea73af58b700924ce", "crates": { "ansi_term 0.12.1": { "name": "ansi_term", diff --git a/examples/crate_universe/cargo_workspace/num_printer/Cargo.toml b/examples/crate_universe/cargo_workspace/num_printer/Cargo.toml index b3711a0e3e..6dced493b8 100644 --- a/examples/crate_universe/cargo_workspace/num_printer/Cargo.toml +++ b/examples/crate_universe/cargo_workspace/num_printer/Cargo.toml @@ -2,6 +2,7 @@ name = "num_printer" version = "0.1.0" edition = "2018" +workspace = ".." # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [[bin]] diff --git a/examples/crate_universe/cargo_workspace/printer/Cargo.toml b/examples/crate_universe/cargo_workspace/printer/Cargo.toml index 9e3537a900..d3538c37af 100644 --- a/examples/crate_universe/cargo_workspace/printer/Cargo.toml +++ b/examples/crate_universe/cargo_workspace/printer/Cargo.toml @@ -2,6 +2,7 @@ name = "printer" version = "0.1.0" edition = "2018" +workspace = ".." [dependencies] rng = { path = "../rng" } diff --git a/examples/crate_universe/cargo_workspace/rng/Cargo.toml b/examples/crate_universe/cargo_workspace/rng/Cargo.toml index a2a098c9e2..9cd8bb01f7 100644 --- a/examples/crate_universe/cargo_workspace/rng/Cargo.toml +++ b/examples/crate_universe/cargo_workspace/rng/Cargo.toml @@ -2,6 +2,7 @@ name = "rng" version = "0.1.0" edition = "2018" +workspace = ".." [dependencies] rand = "0.7.3" diff --git a/examples/crate_universe/cargo_workspace_oot/BUILD.bazel b/examples/crate_universe/cargo_workspace_oot/BUILD.bazel new file mode 100644 index 0000000000..e69de29bb2 diff --git a/examples/crate_universe/cargo_workspace_oot/num_printer/BUILD.bazel b/examples/crate_universe/cargo_workspace_oot/num_printer/BUILD.bazel new file mode 100644 index 0000000000..c70f59b940 --- /dev/null +++ b/examples/crate_universe/cargo_workspace_oot/num_printer/BUILD.bazel @@ -0,0 +1,13 @@ +load("@crate_index_cargo_workspace_oot//:defs.bzl", "all_crate_deps") +load("@rules_rust//rust:defs.bzl", "rust_binary") + +package(default_visibility = ["//visibility:public"]) + +rust_binary( + name = "number_printer", + srcs = ["src/main.rs"], + edition = "2018", + deps = [ + "//cargo_workspace_oot/printer", + ] + all_crate_deps(), +) diff --git a/examples/crate_universe/cargo_workspace_oot/num_printer/Cargo.toml b/examples/crate_universe/cargo_workspace_oot/num_printer/Cargo.toml new file mode 100644 index 0000000000..6be40453d2 --- /dev/null +++ b/examples/crate_universe/cargo_workspace_oot/num_printer/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "num_printer" +version = "0.1.0" +edition = "2021" +workspace = "../workspace" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html +[[bin]] +name = "number-printer" +path = "src/main.rs" + +[dependencies] +clap = "2.33.3" +printer = { path = "../printer" } diff --git a/examples/crate_universe/cargo_workspace_oot/num_printer/src/main.rs b/examples/crate_universe/cargo_workspace_oot/num_printer/src/main.rs new file mode 100644 index 0000000000..871c7b4880 --- /dev/null +++ b/examples/crate_universe/cargo_workspace_oot/num_printer/src/main.rs @@ -0,0 +1,24 @@ +use clap::{App, Arg}; + +fn main() { + let matches = App::new("Number Printer") + .about("Print some numbers") + .arg(Arg::with_name("rng").help("Print a random number")) + .arg( + Arg::with_name("num") + .help("Print this number") + .takes_value(true), + ) + .get_matches(); + + let num = match matches.value_of("num") { + Some(value) => value.parse::().unwrap(), + None => 1337, + }; + + if matches.is_present("rng") { + println!("{}", printer::say_random_number()); + } else { + println!("{}", printer::say_number(num)); + } +} diff --git a/examples/crate_universe/cargo_workspace_oot/printer/BUILD.bazel b/examples/crate_universe/cargo_workspace_oot/printer/BUILD.bazel new file mode 100644 index 0000000000..3b75207c39 --- /dev/null +++ b/examples/crate_universe/cargo_workspace_oot/printer/BUILD.bazel @@ -0,0 +1,18 @@ +load("@crate_index_cargo_workspace_oot//:defs.bzl", "all_crate_deps") +load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "printer", + srcs = ["src/lib.rs"], + edition = "2018", + deps = [ + "//cargo_workspace_oot/rng", + ] + all_crate_deps(), +) + +rust_test( + name = "unit_test", + crate = ":printer", +) diff --git a/examples/crate_universe/cargo_workspace_oot/printer/Cargo.toml b/examples/crate_universe/cargo_workspace_oot/printer/Cargo.toml new file mode 100644 index 0000000000..94b0fabc69 --- /dev/null +++ b/examples/crate_universe/cargo_workspace_oot/printer/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "printer" +version = "0.1.0" +edition = "2021" +workspace = "../workspace" + +[dependencies] +rng = { path = "../rng" } +ferris-says = "0.2.0" diff --git a/examples/crate_universe/cargo_workspace_oot/printer/src/lib.rs b/examples/crate_universe/cargo_workspace_oot/printer/src/lib.rs new file mode 100644 index 0000000000..721e2cf7fd --- /dev/null +++ b/examples/crate_universe/cargo_workspace_oot/printer/src/lib.rs @@ -0,0 +1,38 @@ +use std::io::BufWriter; + +/// Have ferris say a number +pub fn say_number(num: i32) -> String { + let number = format!("{num}"); + let buf = Vec::new(); + let mut writer = BufWriter::new(buf); + ferris_says::say(number.as_bytes(), number.len(), &mut writer).unwrap(); + String::from_utf8(writer.into_inner().unwrap()).unwrap() +} + +/// Have ferris say a random number +pub fn say_random_number() -> String { + say_number(rng::random_number()) +} + +#[cfg(test)] +mod test { + use super::*; + + #[test] + fn test_say_number() { + let said = say_number(3); + assert!(said.contains(r" _~^~^~_")); + assert!(said.contains(r"\) / o o \ (/")); + assert!(said.contains(r" '_ - _'")); + assert!(said.contains(r" / '-----' \")); + } + + #[test] + fn test_say_random_number() { + let said = say_random_number(); + assert!(said.contains(r" _~^~^~_")); + assert!(said.contains(r"\) / o o \ (/")); + assert!(said.contains(r" '_ - _'")); + assert!(said.contains(r" / '-----' \")); + } +} diff --git a/examples/crate_universe/cargo_workspace_oot/rng/BUILD.bazel b/examples/crate_universe/cargo_workspace_oot/rng/BUILD.bazel new file mode 100644 index 0000000000..958cef1b40 --- /dev/null +++ b/examples/crate_universe/cargo_workspace_oot/rng/BUILD.bazel @@ -0,0 +1,13 @@ +load("@crate_index_cargo_workspace_oot//:defs.bzl", "crate_deps") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +rust_library( + name = "rng", + srcs = ["src/lib.rs"], + edition = "2018", + deps = crate_deps([ + "rand", + ]), +) diff --git a/examples/crate_universe/cargo_workspace_oot/rng/Cargo.toml b/examples/crate_universe/cargo_workspace_oot/rng/Cargo.toml new file mode 100644 index 0000000000..797f09de6d --- /dev/null +++ b/examples/crate_universe/cargo_workspace_oot/rng/Cargo.toml @@ -0,0 +1,8 @@ +[package] +name = "rng" +version = "0.1.0" +edition = "2021" +workspace = "../workspace" + +[dependencies] +rand = "0.7.3" diff --git a/examples/crate_universe/cargo_workspace_oot/rng/src/lib.rs b/examples/crate_universe/cargo_workspace_oot/rng/src/lib.rs new file mode 100644 index 0000000000..3d9a045e0d --- /dev/null +++ b/examples/crate_universe/cargo_workspace_oot/rng/src/lib.rs @@ -0,0 +1,7 @@ +use rand::{thread_rng, Rng}; + +/// Generate a random number +pub fn random_number() -> i32 { + let mut rng = thread_rng(); + rng.gen() +} diff --git a/examples/crate_universe/cargo_workspace_oot/workspace/.cargo/config.toml b/examples/crate_universe/cargo_workspace_oot/workspace/.cargo/config.toml new file mode 100644 index 0000000000..1e04f5cec6 --- /dev/null +++ b/examples/crate_universe/cargo_workspace_oot/workspace/.cargo/config.toml @@ -0,0 +1,2 @@ +# This file can contain cargo settings. For more details see: +# https://doc.rust-lang.org/cargo/reference/config.html diff --git a/examples/crate_universe/cargo_workspace_oot/workspace/BUILD.bazel b/examples/crate_universe/cargo_workspace_oot/workspace/BUILD.bazel new file mode 100644 index 0000000000..22293b9926 --- /dev/null +++ b/examples/crate_universe/cargo_workspace_oot/workspace/BUILD.bazel @@ -0,0 +1,4 @@ +exports_files( + [".cargo/config.toml"], + visibility = ["//visibility:public"], +) diff --git a/examples/crate_universe/cargo_workspace_oot/workspace/Cargo.Bazel.lock b/examples/crate_universe/cargo_workspace_oot/workspace/Cargo.Bazel.lock new file mode 100644 index 0000000000..91d5f8cd9b --- /dev/null +++ b/examples/crate_universe/cargo_workspace_oot/workspace/Cargo.Bazel.lock @@ -0,0 +1,234 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clap" +version = "2.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +dependencies = [ + "ansi_term", + "atty", + "bitflags", + "strsim", + "textwrap 0.11.0", + "unicode-width", + "vec_map", +] + +[[package]] +name = "ferris-says" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9515ec2dd9606ec230f6b2d1f25fd9e808a2f2af600143f7efe7e5865505b7aa" +dependencies = [ + "smallvec", + "textwrap 0.13.4", + "unicode-width", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "libc" +version = "0.2.139" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" + +[[package]] +name = "num_printer" +version = "0.1.0" +dependencies = [ + "clap", + "printer", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + +[[package]] +name = "printer" +version = "0.1.0" +dependencies = [ + "ferris-says", + "rng", +] + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom", + "libc", + "rand_chacha", + "rand_core", + "rand_hc", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rng" +version = "0.1.0" +dependencies = [ + "rand", +] + +[[package]] +name = "smallvec" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90c5e5fe535e48807ab94fc611d323935f39d4660c52b26b96446a7b33aef10" + +[[package]] +name = "smawk" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043" + +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "textwrap" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd05616119e612a8041ef58f2b578906cc2531a6069047ae092cfb86a325d835" +dependencies = [ + "smawk", + "unicode-width", +] + +[[package]] +name = "unicode-width" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" diff --git a/examples/crate_universe/cargo_workspace_oot/workspace/Cargo.lock b/examples/crate_universe/cargo_workspace_oot/workspace/Cargo.lock new file mode 100644 index 0000000000..a759d25c7a --- /dev/null +++ b/examples/crate_universe/cargo_workspace_oot/workspace/Cargo.lock @@ -0,0 +1,292 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 4 + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi", +] + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi", +] + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clap" +version = "2.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +dependencies = [ + "ansi_term", + "atty", + "bitflags", + "strsim", + "textwrap 0.11.0", + "unicode-width", + "vec_map", +] + +[[package]] +name = "ferris-says" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9515ec2dd9606ec230f6b2d1f25fd9e808a2f2af600143f7efe7e5865505b7aa" +dependencies = [ + "smallvec", + "textwrap 0.13.4", + "unicode-width", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "libc" +version = "0.2.172" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d750af042f7ef4f724306de029d18836c26c1765a54a6a3f094cbd23a7267ffa" + +[[package]] +name = "num_printer" +version = "0.1.0" +dependencies = [ + "clap", + "printer", +] + +[[package]] +name = "ppv-lite86" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85eae3c4ed2f50dcfe72643da4befc30deadb458a9b590d720cde2f2b1e97da9" +dependencies = [ + "zerocopy", +] + +[[package]] +name = "printer" +version = "0.1.0" +dependencies = [ + "ferris-says", + "rng", +] + +[[package]] +name = "proc-macro2" +version = "1.0.95" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02b3e5e68a3a1a02aad3ec490a98007cbc13c37cbe84a3cd7b8e406d76e7f778" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1885c039570dc00dcb4ff087a89e185fd56bae234ddc7f056a945bf36467248d" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom", + "libc", + "rand_chacha", + "rand_core", + "rand_hc", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core", +] + +[[package]] +name = "rng" +version = "0.1.0" +dependencies = [ + "rand", +] + +[[package]] +name = "smallvec" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f90c5e5fe535e48807ab94fc611d323935f39d4660c52b26b96446a7b33aef10" + +[[package]] +name = "smawk" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c388c1b5e93756d0c740965c41e8822f866621d41acbdf6336a6a168f8840c" + +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + +[[package]] +name = "syn" +version = "2.0.101" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ce2b7fc941b3a24138a0a7cf8e858bfc6a992e7978a068a5c760deb0ed43caf" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "textwrap" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd05616119e612a8041ef58f2b578906cc2531a6069047ae092cfb86a325d835" +dependencies = [ + "smawk", + "unicode-width", +] + +[[package]] +name = "unicode-ident" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a5f39404a5da50712a4c1eecf25e90dd62b613502b7e925fd4e4d19b5c96512" + +[[package]] +name = "unicode-width" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "zerocopy" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1702d9583232ddb9174e01bb7c15a2ab8fb1bc6f227aa1233858c351a3ba0cb" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.8.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28a6e20d751156648aa063f3800b706ee209a32c0b4d9f24be3d980b01be55ef" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] diff --git a/examples/crate_universe/cargo_workspace_oot/workspace/Cargo.toml b/examples/crate_universe/cargo_workspace_oot/workspace/Cargo.toml new file mode 100644 index 0000000000..a36550f111 --- /dev/null +++ b/examples/crate_universe/cargo_workspace_oot/workspace/Cargo.toml @@ -0,0 +1,6 @@ +[workspace] +members = [ + "../num_printer", + "../printer", + "../rng", +] diff --git a/examples/crate_universe/cargo_workspace_oot/workspace/cargo-bazel-lock.json b/examples/crate_universe/cargo_workspace_oot/workspace/cargo-bazel-lock.json new file mode 100644 index 0000000000..0c7f28864d --- /dev/null +++ b/examples/crate_universe/cargo_workspace_oot/workspace/cargo-bazel-lock.json @@ -0,0 +1,1661 @@ +{ + "checksum": "f80aa7466148f74024acc820781e335591082c05422eb08c925fc05838887735", + "crates": { + "ansi_term 0.12.1": { + "name": "ansi_term", + "version": "0.12.1", + "package_url": "https://github.com/ogham/rust-ansi-term", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/ansi_term/0.12.1/download", + "sha256": "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ansi_term", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "ansi_term", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [], + "selects": { + "cfg(target_os = \"windows\")": [ + { + "id": "winapi 0.3.9", + "target": "winapi" + } + ] + } + }, + "edition": "2015", + "version": "0.12.1" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": null + }, + "atty 0.2.14": { + "name": "atty", + "version": "0.2.14", + "package_url": "https://github.com/softprops/atty", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/atty/0.2.14/download", + "sha256": "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" + } + }, + "targets": [ + { + "Library": { + "crate_name": "atty", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "atty", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [], + "selects": { + "cfg(target_os = \"hermit\")": [ + { + "id": "hermit-abi 0.1.19", + "target": "hermit_abi" + } + ], + "cfg(unix)": [ + { + "id": "libc 0.2.139", + "target": "libc" + } + ], + "cfg(windows)": [ + { + "id": "winapi 0.3.9", + "target": "winapi" + } + ] + } + }, + "edition": "2015", + "version": "0.2.14" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "bitflags 1.3.2": { + "name": "bitflags", + "version": "1.3.2", + "package_url": "https://github.com/bitflags/bitflags", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/bitflags/1.3.2/download", + "sha256": "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + } + }, + "targets": [ + { + "Library": { + "crate_name": "bitflags", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "bitflags", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, + "edition": "2018", + "version": "1.3.2" + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "cfg-if 1.0.0": { + "name": "cfg-if", + "version": "1.0.0", + "package_url": "https://github.com/alexcrichton/cfg-if", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/cfg-if/1.0.0/download", + "sha256": "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + } + }, + "targets": [ + { + "Library": { + "crate_name": "cfg_if", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "cfg_if", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "1.0.0" + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "clap 2.34.0": { + "name": "clap", + "version": "2.34.0", + "package_url": "https://github.com/clap-rs/clap", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/clap/2.34.0/download", + "sha256": "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" + } + }, + "targets": [ + { + "Library": { + "crate_name": "clap", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "clap", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "ansi_term", + "atty", + "color", + "default", + "strsim", + "suggestions", + "vec_map" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "atty 0.2.14", + "target": "atty" + }, + { + "id": "bitflags 1.3.2", + "target": "bitflags" + }, + { + "id": "strsim 0.8.0", + "target": "strsim" + }, + { + "id": "textwrap 0.11.0", + "target": "textwrap" + }, + { + "id": "unicode-width 0.1.10", + "target": "unicode_width" + }, + { + "id": "vec_map 0.8.2", + "target": "vec_map" + } + ], + "selects": { + "aarch64-apple-darwin": [ + { + "id": "ansi_term 0.12.1", + "target": "ansi_term" + } + ], + "aarch64-unknown-linux-gnu": [ + { + "id": "ansi_term 0.12.1", + "target": "ansi_term" + } + ], + "wasm32-unknown-unknown": [ + { + "id": "ansi_term 0.12.1", + "target": "ansi_term" + } + ], + "wasm32-wasip1": [ + { + "id": "ansi_term 0.12.1", + "target": "ansi_term" + } + ], + "x86_64-unknown-linux-gnu": [ + { + "id": "ansi_term 0.12.1", + "target": "ansi_term" + } + ], + "x86_64-unknown-nixos-gnu": [ + { + "id": "ansi_term 0.12.1", + "target": "ansi_term" + } + ] + } + }, + "edition": "2018", + "version": "2.34.0" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE-MIT" + }, + "ferris-says 0.2.1": { + "name": "ferris-says", + "version": "0.2.1", + "package_url": "https://github.com/mgattozzi/ferris-says", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/ferris-says/0.2.1/download", + "sha256": "9515ec2dd9606ec230f6b2d1f25fd9e808a2f2af600143f7efe7e5865505b7aa" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ferris_says", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "ferris_says", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "smallvec 0.4.5", + "target": "smallvec" + }, + { + "id": "textwrap 0.13.4", + "target": "textwrap" + }, + { + "id": "unicode-width 0.1.10", + "target": "unicode_width" + } + ], + "selects": {} + }, + "edition": "2015", + "version": "0.2.1" + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "getrandom 0.1.16": { + "name": "getrandom", + "version": "0.1.16", + "package_url": "https://github.com/rust-random/getrandom", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/getrandom/0.1.16/download", + "sha256": "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" + } + }, + "targets": [ + { + "Library": { + "crate_name": "getrandom", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "getrandom", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "cfg-if 1.0.0", + "target": "cfg_if" + }, + { + "id": "getrandom 0.1.16", + "target": "build_script_build" + } + ], + "selects": { + "cfg(target_os = \"wasi\")": [ + { + "id": "wasi 0.9.0+wasi-snapshot-preview1", + "target": "wasi" + } + ], + "cfg(unix)": [ + { + "id": "libc 0.2.139", + "target": "libc" + } + ] + } + }, + "edition": "2018", + "version": "0.1.16" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "hermit-abi 0.1.19": { + "name": "hermit-abi", + "version": "0.1.19", + "package_url": "https://github.com/hermitcore/libhermit-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/hermit-abi/0.1.19/download", + "sha256": "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" + } + }, + "targets": [ + { + "Library": { + "crate_name": "hermit_abi", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "hermit_abi", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "libc 0.2.139", + "target": "libc" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.1.19" + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "libc 0.2.139": { + "name": "libc", + "version": "0.2.139", + "package_url": "https://github.com/rust-lang/libc", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/libc/0.2.139/download", + "sha256": "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" + } + }, + "targets": [ + { + "Library": { + "crate_name": "libc", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "libc", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "libc 0.2.139", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2015", + "version": "0.2.139" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "num_printer 0.1.0": { + "name": "num_printer", + "version": "0.1.0", + "package_url": null, + "repository": null, + "targets": [], + "library_target_name": null, + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "clap 2.34.0", + "target": "clap" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.1.0" + }, + "license": null, + "license_ids": [], + "license_file": null + }, + "ppv-lite86 0.2.17": { + "name": "ppv-lite86", + "version": "0.2.17", + "package_url": "https://github.com/cryptocorrosion/cryptocorrosion", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/ppv-lite86/0.2.17/download", + "sha256": "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" + } + }, + "targets": [ + { + "Library": { + "crate_name": "ppv_lite86", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "ppv_lite86", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "simd", + "std" + ], + "selects": {} + }, + "edition": "2018", + "version": "0.2.17" + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "printer 0.1.0": { + "name": "printer", + "version": "0.1.0", + "package_url": null, + "repository": null, + "targets": [ + { + "Library": { + "crate_name": "printer", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "printer", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "ferris-says 0.2.1", + "target": "ferris_says" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.1.0" + }, + "license": null, + "license_ids": [], + "license_file": null + }, + "rand 0.7.3": { + "name": "rand", + "version": "0.7.3", + "package_url": "https://github.com/rust-random/rand", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/rand/0.7.3/download", + "sha256": "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" + } + }, + "targets": [ + { + "Library": { + "crate_name": "rand", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "rand", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "default", + "getrandom", + "getrandom_package", + "libc", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "getrandom 0.1.16", + "target": "getrandom", + "alias": "getrandom_package" + }, + { + "id": "rand_core 0.5.1", + "target": "rand_core" + } + ], + "selects": { + "aarch64-apple-darwin": [ + { + "id": "libc 0.2.139", + "target": "libc" + } + ], + "aarch64-unknown-linux-gnu": [ + { + "id": "libc 0.2.139", + "target": "libc" + } + ], + "cfg(not(target_os = \"emscripten\"))": [ + { + "id": "rand_chacha 0.2.2", + "target": "rand_chacha" + } + ], + "cfg(target_os = \"emscripten\")": [ + { + "id": "rand_hc 0.2.0", + "target": "rand_hc" + } + ], + "x86_64-unknown-linux-gnu": [ + { + "id": "libc 0.2.139", + "target": "libc" + } + ], + "x86_64-unknown-nixos-gnu": [ + { + "id": "libc 0.2.139", + "target": "libc" + } + ] + } + }, + "edition": "2018", + "version": "0.7.3" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "rand_chacha 0.2.2": { + "name": "rand_chacha", + "version": "0.2.2", + "package_url": "https://github.com/rust-random/rand", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/rand_chacha/0.2.2/download", + "sha256": "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" + } + }, + "targets": [ + { + "Library": { + "crate_name": "rand_chacha", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "rand_chacha", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "ppv-lite86 0.2.17", + "target": "ppv_lite86" + }, + { + "id": "rand_core 0.5.1", + "target": "rand_core" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.2.2" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "rand_core 0.5.1": { + "name": "rand_core", + "version": "0.5.1", + "package_url": "https://github.com/rust-random/rand", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/rand_core/0.5.1/download", + "sha256": "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" + } + }, + "targets": [ + { + "Library": { + "crate_name": "rand_core", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "rand_core", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "alloc", + "getrandom", + "std" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "getrandom 0.1.16", + "target": "getrandom" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.5.1" + }, + "license": "MIT OR Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "rand_hc 0.2.0": { + "name": "rand_hc", + "version": "0.2.0", + "package_url": "https://github.com/rust-random/rand", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/rand_hc/0.2.0/download", + "sha256": "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" + } + }, + "targets": [ + { + "Library": { + "crate_name": "rand_hc", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "rand_hc", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "rand_core 0.5.1", + "target": "rand_core" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.2.0" + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "rng 0.1.0": { + "name": "rng", + "version": "0.1.0", + "package_url": null, + "repository": null, + "targets": [ + { + "Library": { + "crate_name": "rng", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "rng", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "rand 0.7.3", + "target": "rand" + } + ], + "selects": {} + }, + "edition": "2021", + "version": "0.1.0" + }, + "license": null, + "license_ids": [], + "license_file": null + }, + "smallvec 0.4.5": { + "name": "smallvec", + "version": "0.4.5", + "package_url": "https://github.com/servo/rust-smallvec", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/smallvec/0.4.5/download", + "sha256": "f90c5e5fe535e48807ab94fc611d323935f39d4660c52b26b96446a7b33aef10" + } + }, + "targets": [ + { + "Library": { + "crate_name": "smallvec", + "crate_root": "lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "smallvec", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "edition": "2015", + "version": "0.4.5" + }, + "license": "MPL-2.0", + "license_ids": [ + "MPL-2.0" + ], + "license_file": null + }, + "smawk 0.3.1": { + "name": "smawk", + "version": "0.3.1", + "package_url": "https://github.com/mgeisler/smawk", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/smawk/0.3.1/download", + "sha256": "f67ad224767faa3c7d8b6d91985b78e70a1324408abcb1cfcc2be4c06bc06043" + } + }, + "targets": [ + { + "Library": { + "crate_name": "smawk", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "smawk", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2018", + "version": "0.3.1" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "strsim 0.8.0": { + "name": "strsim", + "version": "0.8.0", + "package_url": "https://github.com/dguo/strsim-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/strsim/0.8.0/download", + "sha256": "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + } + }, + "targets": [ + { + "Library": { + "crate_name": "strsim", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "strsim", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2015", + "version": "0.8.0" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "textwrap 0.11.0": { + "name": "textwrap", + "version": "0.11.0", + "package_url": "https://github.com/mgeisler/textwrap", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/textwrap/0.11.0/download", + "sha256": "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" + } + }, + "targets": [ + { + "Library": { + "crate_name": "textwrap", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "textwrap", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "unicode-width 0.1.10", + "target": "unicode_width" + } + ], + "selects": {} + }, + "edition": "2015", + "version": "0.11.0" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "textwrap 0.13.4": { + "name": "textwrap", + "version": "0.13.4", + "package_url": "https://github.com/mgeisler/textwrap", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/textwrap/0.13.4/download", + "sha256": "cd05616119e612a8041ef58f2b578906cc2531a6069047ae092cfb86a325d835" + } + }, + "targets": [ + { + "Library": { + "crate_name": "textwrap", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "textwrap", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "smawk", + "unicode-width" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "smawk 0.3.1", + "target": "smawk" + }, + { + "id": "unicode-width 0.1.10", + "target": "unicode_width" + } + ], + "selects": {} + }, + "edition": "2018", + "version": "0.13.4" + }, + "license": "MIT", + "license_ids": [ + "MIT" + ], + "license_file": "LICENSE" + }, + "unicode-width 0.1.10": { + "name": "unicode-width", + "version": "0.1.10", + "package_url": "https://github.com/unicode-rs/unicode-width", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/unicode-width/0.1.10/download", + "sha256": "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b" + } + }, + "targets": [ + { + "Library": { + "crate_name": "unicode_width", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "unicode_width", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default" + ], + "selects": {} + }, + "edition": "2015", + "version": "0.1.10" + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "vec_map 0.8.2": { + "name": "vec_map", + "version": "0.8.2", + "package_url": "https://github.com/contain-rs/vec-map", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/vec_map/0.8.2/download", + "sha256": "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + } + }, + "targets": [ + { + "Library": { + "crate_name": "vec_map", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "vec_map", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "edition": "2015", + "version": "0.8.2" + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "wasi 0.9.0+wasi-snapshot-preview1": { + "name": "wasi", + "version": "0.9.0+wasi-snapshot-preview1", + "package_url": "https://github.com/bytecodealliance/wasi", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/wasi/0.9.0+wasi-snapshot-preview1/download", + "sha256": "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + } + }, + "targets": [ + { + "Library": { + "crate_name": "wasi", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "wasi", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "default", + "std" + ], + "selects": {} + }, + "edition": "2018", + "version": "0.9.0+wasi-snapshot-preview1" + }, + "license": "Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "winapi 0.3.9": { + "name": "winapi", + "version": "0.3.9", + "package_url": "https://github.com/retep998/winapi-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/winapi/0.3.9/download", + "sha256": "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" + } + }, + "targets": [ + { + "Library": { + "crate_name": "winapi", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "winapi", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "crate_features": { + "common": [ + "consoleapi", + "errhandlingapi", + "fileapi", + "handleapi", + "minwinbase", + "minwindef", + "processenv", + "winbase" + ], + "selects": {} + }, + "deps": { + "common": [ + { + "id": "winapi 0.3.9", + "target": "build_script_build" + } + ], + "selects": { + "i686-pc-windows-gnu": [ + { + "id": "winapi-i686-pc-windows-gnu 0.4.0", + "target": "winapi_i686_pc_windows_gnu" + } + ], + "x86_64-pc-windows-gnu": [ + { + "id": "winapi-x86_64-pc-windows-gnu 0.4.0", + "target": "winapi_x86_64_pc_windows_gnu" + } + ] + } + }, + "edition": "2015", + "version": "0.3.9" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": "LICENSE-APACHE" + }, + "winapi-i686-pc-windows-gnu 0.4.0": { + "name": "winapi-i686-pc-windows-gnu", + "version": "0.4.0", + "package_url": "https://github.com/retep998/winapi-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/winapi-i686-pc-windows-gnu/0.4.0/download", + "sha256": "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + } + }, + "targets": [ + { + "Library": { + "crate_name": "winapi_i686_pc_windows_gnu", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "winapi_i686_pc_windows_gnu", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "winapi-i686-pc-windows-gnu 0.4.0", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2015", + "version": "0.4.0" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": null + }, + "winapi-x86_64-pc-windows-gnu 0.4.0": { + "name": "winapi-x86_64-pc-windows-gnu", + "version": "0.4.0", + "package_url": "https://github.com/retep998/winapi-rs", + "repository": { + "Http": { + "url": "https://static.crates.io/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download", + "sha256": "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + } + }, + "targets": [ + { + "Library": { + "crate_name": "winapi_x86_64_pc_windows_gnu", + "crate_root": "src/lib.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + }, + { + "BuildScript": { + "crate_name": "build_script_build", + "crate_root": "build.rs", + "srcs": { + "allow_empty": true, + "include": [ + "**/*.rs" + ] + } + } + } + ], + "library_target_name": "winapi_x86_64_pc_windows_gnu", + "common_attrs": { + "compile_data_glob": [ + "**" + ], + "deps": { + "common": [ + { + "id": "winapi-x86_64-pc-windows-gnu 0.4.0", + "target": "build_script_build" + } + ], + "selects": {} + }, + "edition": "2015", + "version": "0.4.0" + }, + "build_script_attrs": { + "compile_data_glob": [ + "**" + ], + "compile_data_glob_excludes": [ + "**/*.rs" + ], + "data_glob": [ + "**" + ] + }, + "license": "MIT/Apache-2.0", + "license_ids": [ + "Apache-2.0", + "MIT" + ], + "license_file": null + } + }, + "binary_crates": [], + "workspace_members": { + "num_printer 0.1.0": "cargo_workspace_oot/num_printer", + "printer 0.1.0": "cargo_workspace_oot/printer", + "rng 0.1.0": "cargo_workspace_oot/rng" + }, + "conditions": { + "aarch64-apple-darwin": [ + "aarch64-apple-darwin" + ], + "aarch64-unknown-linux-gnu": [ + "aarch64-unknown-linux-gnu" + ], + "cfg(not(target_os = \"emscripten\"))": [ + "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" + ], + "cfg(target_os = \"emscripten\")": [], + "cfg(target_os = \"hermit\")": [], + "cfg(target_os = \"wasi\")": [ + "wasm32-wasip1" + ], + "cfg(target_os = \"windows\")": [ + "x86_64-pc-windows-msvc" + ], + "cfg(unix)": [ + "aarch64-apple-darwin", + "aarch64-unknown-linux-gnu", + "x86_64-unknown-linux-gnu", + "x86_64-unknown-nixos-gnu" + ], + "cfg(windows)": [ + "x86_64-pc-windows-msvc" + ], + "i686-pc-windows-gnu": [], + "wasm32-unknown-unknown": [ + "wasm32-unknown-unknown" + ], + "wasm32-wasip1": [ + "wasm32-wasip1" + ], + "x86_64-pc-windows-gnu": [], + "x86_64-pc-windows-msvc": [ + "x86_64-pc-windows-msvc" + ], + "x86_64-unknown-linux-gnu": [ + "x86_64-unknown-linux-gnu", + "x86_64-unknown-nixos-gnu" + ], + "x86_64-unknown-nixos-gnu": [ + "x86_64-unknown-nixos-gnu" + ] + }, + "direct_deps": [ + "clap 2.34.0", + "ferris-says 0.2.1", + "rand 0.7.3" + ], + "direct_dev_deps": [], + "unused_patches": [] +} diff --git a/extensions/bindgen/defs.bzl b/extensions/bindgen/defs.bzl index 3517a4f966..5f87bd923f 100644 --- a/extensions/bindgen/defs.bzl +++ b/extensions/bindgen/defs.bzl @@ -54,7 +54,7 @@ users should define their own repositories using something akin to [crate_univer toolchains following the instructions for [rust_bindgen_toolchain](#rust_bindgen_toolchain). [llvm_proj]: https://github.com/llvm/llvm-project -[cra_uni]: https://bazelbuild.github.io/rules_rust/crate_universe.html +[cra_uni]: https://bazelbuild.github.io/rules_rust/crate_universe_workspace.html --- --- diff --git a/extensions/mdbook/private/3rdparty/crates/BUILD.anstream-0.6.18.bazel b/extensions/mdbook/private/3rdparty/crates/BUILD.anstream-0.6.18.bazel index 4bb8f8b86d..298e809313 100644 --- a/extensions/mdbook/private/3rdparty/crates/BUILD.anstream-0.6.18.bazel +++ b/extensions/mdbook/private/3rdparty/crates/BUILD.anstream-0.6.18.bazel @@ -103,13 +103,13 @@ rust_library( "@rmdbi__utf8parse-0.2.2//:utf8parse", ] + select({ "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ - "@rmdbi__anstyle-wincon-3.0.7//:anstyle_wincon", # aarch64-pc-windows-msvc + "@rmdbi__anstyle-wincon-3.0.8//:anstyle_wincon", # aarch64-pc-windows-msvc ], "@rules_rust//rust/platform:i686-pc-windows-msvc": [ - "@rmdbi__anstyle-wincon-3.0.7//:anstyle_wincon", # i686-pc-windows-msvc + "@rmdbi__anstyle-wincon-3.0.8//:anstyle_wincon", # i686-pc-windows-msvc ], "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ - "@rmdbi__anstyle-wincon-3.0.7//:anstyle_wincon", # x86_64-pc-windows-msvc + "@rmdbi__anstyle-wincon-3.0.8//:anstyle_wincon", # x86_64-pc-windows-msvc ], "//conditions:default": [], }), diff --git a/extensions/mdbook/private/3rdparty/crates/BUILD.anstyle-wincon-3.0.7.bazel b/extensions/mdbook/private/3rdparty/crates/BUILD.anstyle-wincon-3.0.8.bazel similarity index 93% rename from extensions/mdbook/private/3rdparty/crates/BUILD.anstyle-wincon-3.0.7.bazel rename to extensions/mdbook/private/3rdparty/crates/BUILD.anstyle-wincon-3.0.8.bazel index 40f7806eca..39c230ead3 100644 --- a/extensions/mdbook/private/3rdparty/crates/BUILD.anstyle-wincon-3.0.7.bazel +++ b/extensions/mdbook/private/3rdparty/crates/BUILD.anstyle-wincon-3.0.8.bazel @@ -88,20 +88,20 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "3.0.7", + version = "3.0.8", deps = [ "@rmdbi__anstyle-1.0.10//:anstyle", ] + select({ "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ - "@rmdbi__once_cell-1.21.3//:once_cell", # cfg(windows) + "@rmdbi__once_cell_polyfill-1.70.0//:once_cell_polyfill", # cfg(windows) "@rmdbi__windows-sys-0.59.0//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:i686-pc-windows-msvc": [ - "@rmdbi__once_cell-1.21.3//:once_cell", # cfg(windows) + "@rmdbi__once_cell_polyfill-1.70.0//:once_cell_polyfill", # cfg(windows) "@rmdbi__windows-sys-0.59.0//:windows_sys", # cfg(windows) ], "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ - "@rmdbi__once_cell-1.21.3//:once_cell", # cfg(windows) + "@rmdbi__once_cell_polyfill-1.70.0//:once_cell_polyfill", # cfg(windows) "@rmdbi__windows-sys-0.59.0//:windows_sys", # cfg(windows) ], "//conditions:default": [], diff --git a/extensions/mdbook/private/3rdparty/crates/BUILD.cc-1.2.23.bazel b/extensions/mdbook/private/3rdparty/crates/BUILD.cc-1.2.23.bazel new file mode 100644 index 0000000000..59f7c07909 --- /dev/null +++ b/extensions/mdbook/private/3rdparty/crates/BUILD.cc-1.2.23.bazel @@ -0,0 +1,95 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//private/3rdparty:crates_vendor +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "cc", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2018", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=cc", + "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-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@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-wasip1": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@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-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.2.23", + deps = [ + "@rmdbi__shlex-1.3.0//:shlex", + ], +) diff --git a/extensions/mdbook/private/3rdparty/crates/BUILD.env_logger-0.11.8.bazel b/extensions/mdbook/private/3rdparty/crates/BUILD.env_logger-0.11.8.bazel index 979d07d91a..1e982cca97 100644 --- a/extensions/mdbook/private/3rdparty/crates/BUILD.env_logger-0.11.8.bazel +++ b/extensions/mdbook/private/3rdparty/crates/BUILD.env_logger-0.11.8.bazel @@ -100,7 +100,7 @@ rust_library( "@rmdbi__anstream-0.6.18//:anstream", "@rmdbi__anstyle-1.0.10//:anstyle", "@rmdbi__env_filter-0.1.3//:env_filter", - "@rmdbi__jiff-0.2.13//:jiff", + "@rmdbi__jiff-0.2.14//:jiff", "@rmdbi__log-0.4.27//:log", ], ) diff --git a/extensions/mdbook/private/3rdparty/crates/BUILD.iana-time-zone-0.1.63.bazel b/extensions/mdbook/private/3rdparty/crates/BUILD.iana-time-zone-0.1.63.bazel index bf604f80da..b3a3fbba12 100644 --- a/extensions/mdbook/private/3rdparty/crates/BUILD.iana-time-zone-0.1.63.bazel +++ b/extensions/mdbook/private/3rdparty/crates/BUILD.iana-time-zone-0.1.63.bazel @@ -106,7 +106,7 @@ rust_library( "@rmdbi__android_system_properties-0.1.5//:android_system_properties", # cfg(target_os = "android") ], "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [ - "@rmdbi__windows-core-0.61.0//:windows_core", # cfg(target_os = "windows") + "@rmdbi__windows-core-0.61.2//:windows_core", # cfg(target_os = "windows") ], "@rules_rust//rust/platform:armv7-linux-androideabi": [ "@rmdbi__android_system_properties-0.1.5//:android_system_properties", # cfg(target_os = "android") @@ -118,7 +118,7 @@ rust_library( "@rmdbi__android_system_properties-0.1.5//:android_system_properties", # cfg(target_os = "android") ], "@rules_rust//rust/platform:i686-pc-windows-msvc": [ - "@rmdbi__windows-core-0.61.0//:windows_core", # cfg(target_os = "windows") + "@rmdbi__windows-core-0.61.2//:windows_core", # cfg(target_os = "windows") ], "@rules_rust//rust/platform:wasm32-unknown-unknown": [ "@rmdbi__js-sys-0.3.77//:js_sys", # cfg(all(target_arch = "wasm32", target_os = "unknown")) @@ -135,7 +135,7 @@ rust_library( "@rmdbi__android_system_properties-0.1.5//:android_system_properties", # cfg(target_os = "android") ], "@rules_rust//rust/platform:x86_64-pc-windows-msvc": [ - "@rmdbi__windows-core-0.61.0//:windows_core", # cfg(target_os = "windows") + "@rmdbi__windows-core-0.61.2//:windows_core", # cfg(target_os = "windows") ], "//conditions:default": [], }), diff --git a/extensions/mdbook/private/3rdparty/crates/BUILD.iana-time-zone-haiku-0.1.2.bazel b/extensions/mdbook/private/3rdparty/crates/BUILD.iana-time-zone-haiku-0.1.2.bazel index 54828b4dd8..a797d65294 100644 --- a/extensions/mdbook/private/3rdparty/crates/BUILD.iana-time-zone-haiku-0.1.2.bazel +++ b/extensions/mdbook/private/3rdparty/crates/BUILD.iana-time-zone-haiku-0.1.2.bazel @@ -149,7 +149,7 @@ cargo_build_script( version = "0.1.2", visibility = ["//visibility:private"], deps = [ - "@rmdbi__cc-1.2.22//:cc", + "@rmdbi__cc-1.2.23//:cc", ], ) diff --git a/extensions/mdbook/private/3rdparty/crates/BUILD.icu_properties-2.0.1.bazel b/extensions/mdbook/private/3rdparty/crates/BUILD.icu_properties-2.0.1.bazel new file mode 100644 index 0000000000..6bd5c19b9c --- /dev/null +++ b/extensions/mdbook/private/3rdparty/crates/BUILD.icu_properties-2.0.1.bazel @@ -0,0 +1,107 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//private/3rdparty:crates_vendor +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "icu_properties", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "compiled_data", + ], + crate_root = "src/lib.rs", + edition = "2021", + proc_macro_deps = [ + "@rmdbi__displaydoc-0.2.5//:displaydoc", + ], + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=icu_properties", + "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-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@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-wasip1": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@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-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "2.0.1", + deps = [ + "@rmdbi__icu_collections-2.0.0//:icu_collections", + "@rmdbi__icu_locale_core-2.0.0//:icu_locale_core", + "@rmdbi__icu_properties_data-2.0.1//:icu_properties_data", + "@rmdbi__icu_provider-2.0.0//:icu_provider", + "@rmdbi__potential_utf-0.1.2//:potential_utf", + "@rmdbi__zerotrie-0.2.2//:zerotrie", + "@rmdbi__zerovec-0.11.2//:zerovec", + ], +) diff --git a/extensions/mdbook/private/3rdparty/crates/BUILD.icu_properties_data-2.0.1.bazel b/extensions/mdbook/private/3rdparty/crates/BUILD.icu_properties_data-2.0.1.bazel new file mode 100644 index 0000000000..242fcb7367 --- /dev/null +++ b/extensions/mdbook/private/3rdparty/crates/BUILD.icu_properties_data-2.0.1.bazel @@ -0,0 +1,157 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//private/3rdparty:crates_vendor +############################################################################### + +load( + "@rules_rust//cargo:defs.bzl", + "cargo_build_script", + "cargo_toml_env_vars", +) +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "icu_properties_data", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=icu_properties_data", + "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-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@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-wasip1": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@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-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "2.0.1", + deps = [ + "@rmdbi__icu_properties_data-2.0.1//:build_script_build", + ], +) + +cargo_build_script( + name = "_bs", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + "**/*.rs", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_name = "build_script_build", + crate_root = "build.rs", + data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + edition = "2021", + pkg_name = "icu_properties_data", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=icu_properties_data", + "manual", + "noclippy", + "norustfmt", + ], + version = "2.0.1", + visibility = ["//visibility:private"], +) + +alias( + name = "build_script_build", + actual = ":_bs", + tags = ["manual"], +) diff --git a/extensions/mdbook/private/3rdparty/crates/BUILD.idna_adapter-1.2.1.bazel b/extensions/mdbook/private/3rdparty/crates/BUILD.idna_adapter-1.2.1.bazel index c9f047e887..8591a8912e 100644 --- a/extensions/mdbook/private/3rdparty/crates/BUILD.idna_adapter-1.2.1.bazel +++ b/extensions/mdbook/private/3rdparty/crates/BUILD.idna_adapter-1.2.1.bazel @@ -94,6 +94,6 @@ rust_library( version = "1.2.1", deps = [ "@rmdbi__icu_normalizer-2.0.0//:icu_normalizer", - "@rmdbi__icu_properties-2.0.0//:icu_properties", + "@rmdbi__icu_properties-2.0.1//:icu_properties", ], ) diff --git a/extensions/mdbook/private/3rdparty/crates/BUILD.jiff-0.2.14.bazel b/extensions/mdbook/private/3rdparty/crates/BUILD.jiff-0.2.14.bazel new file mode 100644 index 0000000000..ce7a6c2de4 --- /dev/null +++ b/extensions/mdbook/private/3rdparty/crates/BUILD.jiff-0.2.14.bazel @@ -0,0 +1,103 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//private/3rdparty:crates_vendor +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "jiff", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "alloc", + "std", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=jiff", + "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-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@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-wasip1": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@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-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.14", + deps = select({ + "@rules_rust//rust/platform:riscv32imc-unknown-none-elf": [ + "@rmdbi__portable-atomic-1.11.0//:portable_atomic", # cfg(not(target_has_atomic = "ptr")) + "@rmdbi__portable-atomic-util-0.2.4//:portable_atomic_util", # cfg(not(target_has_atomic = "ptr")) + ], + "//conditions:default": [], + }), +) diff --git a/extensions/mdbook/private/3rdparty/crates/BUILD.jiff-static-0.2.14.bazel b/extensions/mdbook/private/3rdparty/crates/BUILD.jiff-static-0.2.14.bazel new file mode 100644 index 0000000000..406dbfc6f8 --- /dev/null +++ b/extensions/mdbook/private/3rdparty/crates/BUILD.jiff-static-0.2.14.bazel @@ -0,0 +1,97 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//private/3rdparty:crates_vendor +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_proc_macro") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_proc_macro( + name = "jiff_static", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=jiff-static", + "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-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@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-wasip1": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@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-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "0.2.14", + deps = [ + "@rmdbi__proc-macro2-1.0.95//:proc_macro2", + "@rmdbi__quote-1.0.40//:quote", + "@rmdbi__syn-2.0.101//:syn", + ], +) diff --git a/extensions/mdbook/private/3rdparty/crates/BUILD.once_cell_polyfill-1.70.0.bazel b/extensions/mdbook/private/3rdparty/crates/BUILD.once_cell_polyfill-1.70.0.bazel new file mode 100644 index 0000000000..1c79147e70 --- /dev/null +++ b/extensions/mdbook/private/3rdparty/crates/BUILD.once_cell_polyfill-1.70.0.bazel @@ -0,0 +1,98 @@ +############################################################################### +# @generated +# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To +# regenerate this file, run the following: +# +# bazel run @@//private/3rdparty:crates_vendor +############################################################################### + +load("@rules_rust//cargo:defs.bzl", "cargo_toml_env_vars") +load("@rules_rust//rust:defs.bzl", "rust_library") + +package(default_visibility = ["//visibility:public"]) + +cargo_toml_env_vars( + name = "cargo_toml_env_vars", + src = "Cargo.toml", +) + +rust_library( + name = "once_cell_polyfill", + srcs = glob( + include = ["**/*.rs"], + allow_empty = True, + ), + compile_data = glob( + include = ["**"], + allow_empty = True, + exclude = [ + "**/* *", + ".tmp_git_root/**/*", + "BUILD", + "BUILD.bazel", + "WORKSPACE", + "WORKSPACE.bazel", + ], + ), + crate_features = [ + "default", + ], + crate_root = "src/lib.rs", + edition = "2021", + rustc_env_files = [ + ":cargo_toml_env_vars", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-bazel", + "crate-name=once_cell_polyfill", + "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-linux-android": [], + "@rules_rust//rust/platform:aarch64-pc-windows-msvc": [], + "@rules_rust//rust/platform:aarch64-unknown-fuchsia": [], + "@rules_rust//rust/platform:aarch64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:aarch64-unknown-nto-qnx710": [], + "@rules_rust//rust/platform:aarch64-unknown-uefi": [], + "@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-wasip1": [], + "@rules_rust//rust/platform:x86_64-apple-darwin": [], + "@rules_rust//rust/platform:x86_64-apple-ios": [], + "@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-fuchsia": [], + "@rules_rust//rust/platform:x86_64-unknown-linux-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-nixos-gnu": [], + "@rules_rust//rust/platform:x86_64-unknown-none": [], + "@rules_rust//rust/platform:x86_64-unknown-uefi": [], + "//conditions:default": ["@platforms//:incompatible"], + }), + version = "1.70.0", + deps = [ + "@rmdbi__once_cell-1.21.3//:once_cell", + ], +) diff --git a/extensions/mdbook/private/3rdparty/crates/BUILD.windows-core-0.61.0.bazel b/extensions/mdbook/private/3rdparty/crates/BUILD.windows-core-0.61.2.bazel similarity index 96% rename from extensions/mdbook/private/3rdparty/crates/BUILD.windows-core-0.61.0.bazel rename to extensions/mdbook/private/3rdparty/crates/BUILD.windows-core-0.61.2.bazel index 7088cba947..0d9bb1ea55 100644 --- a/extensions/mdbook/private/3rdparty/crates/BUILD.windows-core-0.61.0.bazel +++ b/extensions/mdbook/private/3rdparty/crates/BUILD.windows-core-0.61.2.bazel @@ -92,10 +92,10 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.61.0", + version = "0.61.2", deps = [ "@rmdbi__windows-link-0.1.1//:windows_link", - "@rmdbi__windows-result-0.3.2//:windows_result", - "@rmdbi__windows-strings-0.4.0//:windows_strings", + "@rmdbi__windows-result-0.3.4//:windows_result", + "@rmdbi__windows-strings-0.4.2//:windows_strings", ], ) diff --git a/extensions/mdbook/private/3rdparty/crates/BUILD.windows-result-0.3.2.bazel b/extensions/mdbook/private/3rdparty/crates/BUILD.windows-result-0.3.4.bazel similarity index 99% rename from extensions/mdbook/private/3rdparty/crates/BUILD.windows-result-0.3.2.bazel rename to extensions/mdbook/private/3rdparty/crates/BUILD.windows-result-0.3.4.bazel index d6f7d1fa27..6c9cd43709 100644 --- a/extensions/mdbook/private/3rdparty/crates/BUILD.windows-result-0.3.2.bazel +++ b/extensions/mdbook/private/3rdparty/crates/BUILD.windows-result-0.3.4.bazel @@ -88,7 +88,7 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.3.2", + version = "0.3.4", deps = [ "@rmdbi__windows-link-0.1.1//:windows_link", ], diff --git a/extensions/mdbook/private/3rdparty/crates/BUILD.windows-strings-0.4.0.bazel b/extensions/mdbook/private/3rdparty/crates/BUILD.windows-strings-0.4.2.bazel similarity index 99% rename from extensions/mdbook/private/3rdparty/crates/BUILD.windows-strings-0.4.0.bazel rename to extensions/mdbook/private/3rdparty/crates/BUILD.windows-strings-0.4.2.bazel index f7ff2fc251..1fc7e7c4a6 100644 --- a/extensions/mdbook/private/3rdparty/crates/BUILD.windows-strings-0.4.0.bazel +++ b/extensions/mdbook/private/3rdparty/crates/BUILD.windows-strings-0.4.2.bazel @@ -88,7 +88,7 @@ rust_library( "@rules_rust//rust/platform:x86_64-unknown-uefi": [], "//conditions:default": ["@platforms//:incompatible"], }), - version = "0.4.0", + version = "0.4.2", deps = [ "@rmdbi__windows-link-0.1.1//:windows_link", ], diff --git a/extensions/mdbook/private/3rdparty/crates/defs.bzl b/extensions/mdbook/private/3rdparty/crates/defs.bzl index a9d36ece4f..9e632d27bf 100644 --- a/extensions/mdbook/private/3rdparty/crates/defs.bzl +++ b/extensions/mdbook/private/3rdparty/crates/defs.bzl @@ -554,12 +554,12 @@ def crate_repositories(): maybe( http_archive, - name = "rmdbi__anstyle-wincon-3.0.7", - sha256 = "ca3534e77181a9cc07539ad51f2141fe32f6c3ffd4df76db8ad92346b003ae4e", + name = "rmdbi__anstyle-wincon-3.0.8", + sha256 = "6680de5231bd6ee4c6191b8a1325daa282b415391ec9d3a37bd34f2060dc73fa", type = "tar.gz", - urls = ["https://static.crates.io/crates/anstyle-wincon/3.0.7/download"], - strip_prefix = "anstyle-wincon-3.0.7", - build_file = Label("//private/3rdparty/crates:BUILD.anstyle-wincon-3.0.7.bazel"), + urls = ["https://static.crates.io/crates/anstyle-wincon/3.0.8/download"], + strip_prefix = "anstyle-wincon-3.0.8", + build_file = Label("//private/3rdparty/crates:BUILD.anstyle-wincon-3.0.8.bazel"), ) maybe( @@ -674,12 +674,12 @@ def crate_repositories(): maybe( http_archive, - name = "rmdbi__cc-1.2.22", - sha256 = "32db95edf998450acc7881c932f94cd9b05c87b4b2599e8bab064753da4acfd1", + name = "rmdbi__cc-1.2.23", + sha256 = "5f4ac86a9e5bc1e2b3449ab9d7d3a6a405e3d1bb28d7b9be8614f55846ae3766", type = "tar.gz", - urls = ["https://static.crates.io/crates/cc/1.2.22/download"], - strip_prefix = "cc-1.2.22", - build_file = Label("//private/3rdparty/crates:BUILD.cc-1.2.22.bazel"), + urls = ["https://static.crates.io/crates/cc/1.2.23/download"], + strip_prefix = "cc-1.2.23", + build_file = Label("//private/3rdparty/crates:BUILD.cc-1.2.23.bazel"), ) maybe( @@ -1354,22 +1354,22 @@ def crate_repositories(): maybe( http_archive, - name = "rmdbi__icu_properties-2.0.0", - sha256 = "2549ca8c7241c82f59c80ba2a6f415d931c5b58d24fb8412caa1a1f02c49139a", + name = "rmdbi__icu_properties-2.0.1", + sha256 = "016c619c1eeb94efb86809b015c58f479963de65bdb6253345c1a1276f22e32b", type = "tar.gz", - urls = ["https://static.crates.io/crates/icu_properties/2.0.0/download"], - strip_prefix = "icu_properties-2.0.0", - build_file = Label("//private/3rdparty/crates:BUILD.icu_properties-2.0.0.bazel"), + urls = ["https://static.crates.io/crates/icu_properties/2.0.1/download"], + strip_prefix = "icu_properties-2.0.1", + build_file = Label("//private/3rdparty/crates:BUILD.icu_properties-2.0.1.bazel"), ) maybe( http_archive, - name = "rmdbi__icu_properties_data-2.0.0", - sha256 = "8197e866e47b68f8f7d95249e172903bec06004b18b2937f1095d40a0c57de04", + name = "rmdbi__icu_properties_data-2.0.1", + sha256 = "298459143998310acd25ffe6810ed544932242d3f07083eee1084d83a71bd632", type = "tar.gz", - urls = ["https://static.crates.io/crates/icu_properties_data/2.0.0/download"], - strip_prefix = "icu_properties_data-2.0.0", - build_file = Label("//private/3rdparty/crates:BUILD.icu_properties_data-2.0.0.bazel"), + urls = ["https://static.crates.io/crates/icu_properties_data/2.0.1/download"], + strip_prefix = "icu_properties_data-2.0.1", + build_file = Label("//private/3rdparty/crates:BUILD.icu_properties_data-2.0.1.bazel"), ) maybe( @@ -1474,22 +1474,22 @@ def crate_repositories(): maybe( http_archive, - name = "rmdbi__jiff-0.2.13", - sha256 = "f02000660d30638906021176af16b17498bd0d12813dbfe7b276d8bc7f3c0806", + name = "rmdbi__jiff-0.2.14", + sha256 = "a194df1107f33c79f4f93d02c80798520551949d59dfad22b6157048a88cca93", type = "tar.gz", - urls = ["https://static.crates.io/crates/jiff/0.2.13/download"], - strip_prefix = "jiff-0.2.13", - build_file = Label("//private/3rdparty/crates:BUILD.jiff-0.2.13.bazel"), + urls = ["https://static.crates.io/crates/jiff/0.2.14/download"], + strip_prefix = "jiff-0.2.14", + build_file = Label("//private/3rdparty/crates:BUILD.jiff-0.2.14.bazel"), ) maybe( http_archive, - name = "rmdbi__jiff-static-0.2.13", - sha256 = "f3c30758ddd7188629c6713fc45d1188af4f44c90582311d0c8d8c9907f60c48", + name = "rmdbi__jiff-static-0.2.14", + sha256 = "6c6e1db7ed32c6c71b759497fae34bf7933636f75a251b9e736555da426f6442", type = "tar.gz", - urls = ["https://static.crates.io/crates/jiff-static/0.2.13/download"], - strip_prefix = "jiff-static-0.2.13", - build_file = Label("//private/3rdparty/crates:BUILD.jiff-static-0.2.13.bazel"), + urls = ["https://static.crates.io/crates/jiff-static/0.2.14/download"], + strip_prefix = "jiff-static-0.2.14", + build_file = Label("//private/3rdparty/crates:BUILD.jiff-static-0.2.14.bazel"), ) maybe( @@ -1792,6 +1792,16 @@ def crate_repositories(): build_file = Label("//private/3rdparty/crates:BUILD.once_cell-1.21.3.bazel"), ) + maybe( + http_archive, + name = "rmdbi__once_cell_polyfill-1.70.0", + sha256 = "2611b99ab098a31bdc8be48b4f1a285ca0ced28bd5b4f23e45efa8c63b09efa5", + type = "tar.gz", + urls = ["https://static.crates.io/crates/once_cell_polyfill/1.70.0/download"], + strip_prefix = "once_cell_polyfill-1.70.0", + build_file = Label("//private/3rdparty/crates:BUILD.once_cell_polyfill-1.70.0.bazel"), + ) + maybe( http_archive, name = "rmdbi__opener-0.7.2", @@ -2824,12 +2834,12 @@ def crate_repositories(): maybe( http_archive, - name = "rmdbi__windows-core-0.61.0", - sha256 = "4763c1de310c86d75a878046489e2e5ba02c649d185f21c67d4cf8a56d098980", + name = "rmdbi__windows-core-0.61.2", + sha256 = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3", type = "tar.gz", - urls = ["https://static.crates.io/crates/windows-core/0.61.0/download"], - strip_prefix = "windows-core-0.61.0", - build_file = Label("//private/3rdparty/crates:BUILD.windows-core-0.61.0.bazel"), + urls = ["https://static.crates.io/crates/windows-core/0.61.2/download"], + strip_prefix = "windows-core-0.61.2", + build_file = Label("//private/3rdparty/crates:BUILD.windows-core-0.61.2.bazel"), ) maybe( @@ -2864,22 +2874,22 @@ def crate_repositories(): maybe( http_archive, - name = "rmdbi__windows-result-0.3.2", - sha256 = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252", + name = "rmdbi__windows-result-0.3.4", + sha256 = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6", type = "tar.gz", - urls = ["https://static.crates.io/crates/windows-result/0.3.2/download"], - strip_prefix = "windows-result-0.3.2", - build_file = Label("//private/3rdparty/crates:BUILD.windows-result-0.3.2.bazel"), + urls = ["https://static.crates.io/crates/windows-result/0.3.4/download"], + strip_prefix = "windows-result-0.3.4", + build_file = Label("//private/3rdparty/crates:BUILD.windows-result-0.3.4.bazel"), ) maybe( http_archive, - name = "rmdbi__windows-strings-0.4.0", - sha256 = "7a2ba9642430ee452d5a7aa78d72907ebe8cfda358e8cb7918a2050581322f97", + name = "rmdbi__windows-strings-0.4.2", + sha256 = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57", type = "tar.gz", - urls = ["https://static.crates.io/crates/windows-strings/0.4.0/download"], - strip_prefix = "windows-strings-0.4.0", - build_file = Label("//private/3rdparty/crates:BUILD.windows-strings-0.4.0.bazel"), + urls = ["https://static.crates.io/crates/windows-strings/0.4.2/download"], + strip_prefix = "windows-strings-0.4.2", + build_file = Label("//private/3rdparty/crates:BUILD.windows-strings-0.4.2.bazel"), ) maybe(