Added support for vendoring external manifests (#1381)
* Added support for vendoring external manifests
* Vendored example BUILD files
* Regenerate documentation
diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml
index 60131d4..5a10d60 100644
--- a/.bazelci/presubmit.yml
+++ b/.bazelci/presubmit.yml
@@ -17,6 +17,7 @@
- "-//tools/rust_analyzer/..."
- "-//test/rustfmt/..."
crate_universe_vendor_example_targets: &crate_universe_vendor_example_targets
+ - "//vendor_external:crates_vendor"
- "//vendor_local_manifests:crates_vendor"
- "//vendor_local_pkgs:crates_vendor"
- "//vendor_remote_manifests:crates_vendor_manifests"
diff --git a/crate_universe/private/crates_vendor.bzl b/crate_universe/private/crates_vendor.bzl
index db8a2d0..23c4c6c 100644
--- a/crate_universe/private/crates_vendor.bzl
+++ b/crate_universe/private/crates_vendor.bzl
@@ -9,7 +9,10 @@
#!/usr/bin/env bash
set -euo pipefail
export RUNTIME_PWD="$(pwd)"
-eval exec env - BUILD_WORKSPACE_DIRECTORY="${{BUILD_WORKSPACE_DIRECTORY}}" {env} \\
+if [[ -z "${{BAZEL_REAL:-}}" ]]; then
+ BAZEL_REAL="$(which bazel || echo 'bazel')"
+fi
+eval exec env - BAZEL_REAL="${{BAZEL_REAL}}" BUILD_WORKSPACE_DIRECTORY="${{BUILD_WORKSPACE_DIRECTORY}}" {env} \\
"{bin}" {args} "$@"
"""
@@ -55,6 +58,35 @@
)
return file
+def _prepare_manifest_path(target):
+ """Generate manifest paths that are resolvable by `cargo_bazel::SplicingManifest::resolve`
+
+ Args:
+ target (Target): A `crate_vendor.manifest` target
+
+ Returns:
+ str: A string representing the path to a manifest.
+ """
+ files = target[DefaultInfo].files.to_list()
+ if len(files) != 1:
+ fail("The manifest {} hand an unexpected number of files: {}".format(
+ target.label,
+ files,
+ ))
+
+ manifest = files[0]
+
+ if target.label.workspace_root.startswith("external"):
+ # The short path of an external file is expected to start with `../`
+ if not manifest.short_path.startswith("../"):
+ fail("Unexpected shortpath for {}: {}".format(
+ manifest,
+ manifest.short_path,
+ ))
+ return manifest.short_path.replace("../", "${output_base}/external/", 1)
+
+ return "${build_workspace_directory}/" + manifest.short_path
+
def _write_splicing_manifest(ctx):
# Deserialize information about direct packges
direct_packages_info = {
@@ -64,12 +96,11 @@
}
# Manifests are required to be single files
- manifests = {m[DefaultInfo].files.to_list()[0].short_path: str(m.label) for m in ctx.attr.manifests}
+ manifests = {_prepare_manifest_path(m): str(m.label) for m in ctx.attr.manifests}
config = json.decode(ctx.attr.splicing_config or splicing_config())
splicing_manifest_content = {
- # TODO: How do cargo config files get factored into vendored builds
- "cargo_config": None,
+ "cargo_config": _prepare_manifest_path(ctx.attr.cargo_config) if ctx.attr.cargo_config else None,
"direct_packages": direct_packages_info,
"manifests": manifests,
}
@@ -86,7 +117,7 @@
is_windows = _is_windows(ctx)
args = ["--splicing-manifest", _runfiles_path(manifest.short_path, is_windows)]
- runfiles = [manifest]
+ runfiles = [manifest] + ctx.files.manifests + ([ctx.file.cargo_config] if ctx.attr.cargo_config else [])
return args, runfiles
def _write_extra_manifests_manifest(ctx):
@@ -298,6 +329,10 @@
allow_files = True,
default = CARGO_BAZEL_LABEL,
),
+ "cargo_config": attr.label(
+ doc = "A [Cargo configuration](https://doc.rust-lang.org/cargo/reference/config.html) file.",
+ allow_single_file = True,
+ ),
"generate_build_scripts": attr.bool(
doc = (
"Whether or not to generate " +
diff --git a/crate_universe/src/cli/vendor.rs b/crate_universe/src/cli/vendor.rs
index 68e107f..3e31cfe 100644
--- a/crate_universe/src/cli/vendor.rs
+++ b/crate_universe/src/cli/vendor.rs
@@ -1,6 +1,7 @@
//! The cli entrypoint for the `vendor` subcommand
use std::collections::BTreeSet;
+use std::env;
use std::fs;
use std::path::{Path, PathBuf};
use std::process::{self, ExitStatus};
@@ -58,6 +59,10 @@
#[clap(long)]
pub extra_manifests_manifest: PathBuf,
+ /// The path to a bazel binary
+ #[clap(long, env = "BAZEL_REAL", default_value = "bazel")]
+ pub bazel: PathBuf,
+
/// The directory in which to build the workspace. A `Cargo.toml` file
/// should always be produced within this directory.
#[clap(long, env = "BUILD_WORKSPACE_DIRECTORY")]
@@ -83,12 +88,37 @@
Ok(status)
}
+/// Query the Bazel output_base to determine the location of external repositories.
+fn locate_bazel_output_base(bazel: &Path, workspace_dir: &Path) -> Result<PathBuf> {
+ // Allow a predefined environment variable to take precedent. This
+ // solves for the specific needs of Bazel CI on Github.
+ if let Ok(output_base) = env::var("OUTPUT_BASE") {
+ return Ok(PathBuf::from(output_base));
+ }
+
+ let output = process::Command::new(bazel)
+ .current_dir(workspace_dir)
+ .args(["info", "output_base"])
+ .output()
+ .context("Failed to query the Bazel workspace's `output_base`")?;
+
+ if !output.status.success() {
+ bail!(output.status)
+ }
+
+ Ok(PathBuf::from(
+ String::from_utf8_lossy(&output.stdout).trim(),
+ ))
+}
+
pub fn vendor(opt: VendorOptions) -> Result<()> {
+ let output_base = locate_bazel_output_base(&opt.bazel, &opt.workspace_dir)?;
+
// Load the all config files required for splicing a workspace
- let splicing_manifest =
- SplicingManifest::try_from_path(&opt.splicing_manifest)?.absoulutize(&opt.workspace_dir);
+ let splicing_manifest = SplicingManifest::try_from_path(&opt.splicing_manifest)?
+ .resolve(&opt.workspace_dir, &output_base);
let extra_manifests_manifest =
- ExtraManifestsManifest::try_from_path(opt.extra_manifests_manifest)?.absoulutize();
+ ExtraManifestsManifest::try_from_path(opt.extra_manifests_manifest)?.absolutize();
let temp_dir = tempfile::tempdir().context("Failed to create temporary directory")?;
@@ -98,7 +128,7 @@
splicing_manifest,
extra_manifests_manifest,
)
- .context("Failed to crate splicer")?;
+ .context("Failed to create splicer")?;
// Splice together the manifest
let manifest_path = splicer
diff --git a/crate_universe/src/splicing.rs b/crate_universe/src/splicing.rs
index 74e012e..cb7d698 100644
--- a/crate_universe/src/splicing.rs
+++ b/crate_universe/src/splicing.rs
@@ -65,33 +65,35 @@
Self::from_str(&content).context("Failed to load SplicingManifest")
}
- pub fn absoulutize(self, relative_to: &Path) -> Self {
+ pub fn resolve(self, workspace_dir: &Path, output_base: &Path) -> Self {
let Self {
manifests,
cargo_config,
..
} = self;
+ let workspace_dir_str = workspace_dir.to_string_lossy();
+ let output_base_str = output_base.to_string_lossy();
+
// Ensure manifests all have absolute paths
let manifests = manifests
.into_iter()
.map(|(path, label)| {
- if !path.is_absolute() {
- let path = relative_to.join(path);
- (path, label)
- } else {
- (path, label)
- }
+ let resolved_path = path
+ .to_string_lossy()
+ .replace("${build_workspace_directory}", &workspace_dir_str)
+ .replace("${output_base}", &output_base_str);
+ (PathBuf::from(resolved_path), label)
})
.collect();
// Ensure the cargo config is located at an absolute path
let cargo_config = cargo_config.map(|path| {
- if !path.is_absolute() {
- relative_to.join(path)
- } else {
- path
- }
+ let resolved_path = path
+ .to_string_lossy()
+ .replace("${build_workspace_directory}", &workspace_dir_str)
+ .replace("${output_base}", &output_base_str);
+ PathBuf::from(resolved_path)
});
Self {
@@ -168,7 +170,7 @@
Self::from_str(&content).context("Failed to load ExtraManifestsManifest")
}
- pub fn absoulutize(self) -> Self {
+ pub fn absolutize(self) -> Self {
self
}
}
@@ -511,17 +513,28 @@
let manifest: SplicingManifest = serde_json::from_str(&content).unwrap();
+ // Check manifests
+ assert_eq!(
+ manifest.manifests,
+ BTreeMap::from([
+ (
+ PathBuf::from("${build_workspace_directory}/submod/Cargo.toml"),
+ Label::from_str("//submod:Cargo.toml").unwrap()
+ ),
+ (
+ PathBuf::from("${output_base}/external_crate/Cargo.toml"),
+ Label::from_str("@external_crate//:Cargo.toml").unwrap()
+ ),
+ (
+ PathBuf::from("/tmp/abs/path/workspace/Cargo.toml"),
+ Label::from_str("//:Cargo.toml").unwrap()
+ ),
+ ])
+ );
+
// Check splicing configs
assert_eq!(manifest.resolver_version, cargo_toml::Resolver::V2);
- // Check manifests
- assert_eq!(manifest.manifests.len(), 1);
- let maniefst_label = manifest
- .manifests
- .get(&PathBuf::from("/tmp/abs/path/workspace/Cargo.toml"))
- .unwrap();
- assert_eq!(maniefst_label, &Label::from_str("//:Cargo.toml").unwrap());
-
// Check packages
assert_eq!(manifest.direct_packages.len(), 1);
let package = manifest.direct_packages.get("rand").unwrap();
@@ -541,4 +554,48 @@
Some(PathBuf::from("/tmp/abs/path/workspace/.cargo/config.toml"))
);
}
+
+ #[test]
+ fn splicing_manifest_resolve() {
+ let runfiles = runfiles::Runfiles::create().unwrap();
+ let path = runfiles.rlocation(
+ "rules_rust/crate_universe/test_data/serialized_configs/splicing_manifest.json",
+ );
+
+ let content = std::fs::read_to_string(path).unwrap();
+
+ let mut manifest: SplicingManifest = serde_json::from_str(&content).unwrap();
+ manifest.cargo_config = Some(PathBuf::from(
+ "${build_workspace_directory}/.cargo/config.toml",
+ ));
+ manifest = manifest.resolve(
+ &PathBuf::from("/tmp/abs/path/workspace"),
+ &PathBuf::from("/tmp/output_base"),
+ );
+
+ // Check manifests
+ assert_eq!(
+ manifest.manifests,
+ BTreeMap::from([
+ (
+ PathBuf::from("/tmp/abs/path/workspace/submod/Cargo.toml"),
+ Label::from_str("//submod:Cargo.toml").unwrap()
+ ),
+ (
+ PathBuf::from("/tmp/output_base/external_crate/Cargo.toml"),
+ Label::from_str("@external_crate//:Cargo.toml").unwrap()
+ ),
+ (
+ PathBuf::from("/tmp/abs/path/workspace/Cargo.toml"),
+ Label::from_str("//:Cargo.toml").unwrap()
+ ),
+ ])
+ );
+
+ // Check cargo config
+ assert_eq!(
+ manifest.cargo_config.unwrap(),
+ PathBuf::from("/tmp/abs/path/workspace/.cargo/config.toml"),
+ )
+ }
}
diff --git a/crate_universe/test_data/serialized_configs/BUILD.bazel b/crate_universe/test_data/serialized_configs/BUILD.bazel
index 81d8bc4..952f0e2 100644
--- a/crate_universe/test_data/serialized_configs/BUILD.bazel
+++ b/crate_universe/test_data/serialized_configs/BUILD.bazel
@@ -39,7 +39,11 @@
out = "splicing_manifest.json",
content = [json.encode(compile_splicing_manifest(
cargo_config_path = "/tmp/abs/path/workspace/.cargo/config.toml",
- manifests = {"/tmp/abs/path/workspace/Cargo.toml": "//:Cargo.toml"},
+ manifests = {
+ "${build_workspace_directory}/submod/Cargo.toml": "//submod:Cargo.toml",
+ "${output_base}/external_crate/Cargo.toml": "@external_crate//:Cargo.toml",
+ "/tmp/abs/path/workspace/Cargo.toml": "//:Cargo.toml",
+ },
packages = {
"rand": crate.spec(
default_features = False,
diff --git a/docs/crate_universe.md b/docs/crate_universe.md
index d3ed9d8..58d5e54 100644
--- a/docs/crate_universe.md
+++ b/docs/crate_universe.md
@@ -291,8 +291,9 @@
## crates_vendor
<pre>
-crates_vendor(<a href="#crates_vendor-name">name</a>, <a href="#crates_vendor-annotations">annotations</a>, <a href="#crates_vendor-buildifier">buildifier</a>, <a href="#crates_vendor-cargo_bazel">cargo_bazel</a>, <a href="#crates_vendor-generate_build_scripts">generate_build_scripts</a>, <a href="#crates_vendor-manifests">manifests</a>, <a href="#crates_vendor-mode">mode</a>,
- <a href="#crates_vendor-packages">packages</a>, <a href="#crates_vendor-repository_name">repository_name</a>, <a href="#crates_vendor-splicing_config">splicing_config</a>, <a href="#crates_vendor-supported_platform_triples">supported_platform_triples</a>, <a href="#crates_vendor-vendor_path">vendor_path</a>)
+crates_vendor(<a href="#crates_vendor-name">name</a>, <a href="#crates_vendor-annotations">annotations</a>, <a href="#crates_vendor-buildifier">buildifier</a>, <a href="#crates_vendor-cargo_bazel">cargo_bazel</a>, <a href="#crates_vendor-cargo_config">cargo_config</a>, <a href="#crates_vendor-generate_build_scripts">generate_build_scripts</a>,
+ <a href="#crates_vendor-manifests">manifests</a>, <a href="#crates_vendor-mode">mode</a>, <a href="#crates_vendor-packages">packages</a>, <a href="#crates_vendor-repository_name">repository_name</a>, <a href="#crates_vendor-splicing_config">splicing_config</a>, <a href="#crates_vendor-supported_platform_triples">supported_platform_triples</a>,
+ <a href="#crates_vendor-vendor_path">vendor_path</a>)
</pre>
A rule for defining Rust dependencies (crates) and writing targets for them to the current workspace.
@@ -351,6 +352,7 @@
| <a id="crates_vendor-annotations"></a>annotations | Extra settings to apply to crates. See [crate.annotation](#crateannotation). | <a href="https://bazel.build/docs/skylark/lib/dict.html">Dictionary: String -> List of strings</a> | optional | {} |
| <a id="crates_vendor-buildifier"></a>buildifier | The path to a [buildifier](https://github.com/bazelbuild/buildtools/blob/5.0.1/buildifier/README.md) binary used to format generated BUILD files. | <a href="https://bazel.build/docs/build-ref.html#labels">Label</a> | optional | //crate_universe/private/vendor:buildifier |
| <a id="crates_vendor-cargo_bazel"></a>cargo_bazel | The cargo-bazel binary to use for vendoring. If this attribute is not set, then a <code>CARGO_BAZEL_GENERATOR_PATH</code> action env will be used. | <a href="https://bazel.build/docs/build-ref.html#labels">Label</a> | optional | @cargo_bazel_bootstrap//:binary |
+| <a id="crates_vendor-cargo_config"></a>cargo_config | A [Cargo configuration](https://doc.rust-lang.org/cargo/reference/config.html) file. | <a href="https://bazel.build/docs/build-ref.html#labels">Label</a> | optional | None |
| <a id="crates_vendor-generate_build_scripts"></a>generate_build_scripts | Whether or not to generate [cargo build scripts](https://doc.rust-lang.org/cargo/reference/build-scripts.html) by default. | Boolean | optional | True |
| <a id="crates_vendor-manifests"></a>manifests | A list of Cargo manifests (<code>Cargo.toml</code> files). | <a href="https://bazel.build/docs/build-ref.html#labels">List of labels</a> | optional | [] |
| <a id="crates_vendor-mode"></a>mode | Flags determining how crates should be vendored. <code>local</code> is where crate source and BUILD files are written to the repository. <code>remote</code> is where only BUILD files are written and repository rules used to fetch source code. | String | optional | "remote" |
diff --git a/examples/crate_universe/DEVELOPMENT.md b/examples/crate_universe/DEVELOPMENT.md
index 993f522..f39ee31 100644
--- a/examples/crate_universe/DEVELOPMENT.md
+++ b/examples/crate_universe/DEVELOPMENT.md
@@ -7,6 +7,7 @@
bazel commands:
```shell
+bazel run //vendor_external:crates_vendor
bazel run //vendor_local_manifests:crates_vendor
bazel run //vendor_local_pkgs:crates_vendor
bazel run //vendor_remote_manifests:crates_vendor_manifests
diff --git a/examples/crate_universe/WORKSPACE.bazel b/examples/crate_universe/WORKSPACE.bazel
index d0fa600..0f90c22 100644
--- a/examples/crate_universe/WORKSPACE.bazel
+++ b/examples/crate_universe/WORKSPACE.bazel
@@ -306,6 +306,25 @@
no_cargo_crate_repositories()
###############################################################################
+# V E N D O R E X T E R N A L
+###############################################################################
+
+http_archive(
+ name = "names_external",
+ build_file = "//cargo_remote:BUILD.names.bazel",
+ sha256 = "eab40caca5805624ba31d028913931c3d054b22daafff6f43e3435cfa9fb761e",
+ strip_prefix = "names-0.13.0",
+ urls = ["https://github.com/fnichol/names/archive/refs/tags/v0.13.0.zip"],
+)
+
+load(
+ "//vendor_external/crates:crates.bzl",
+ crates_vendor_external_repositories = "crate_repositories",
+)
+
+crates_vendor_external_repositories()
+
+###############################################################################
# V E N D O R R E M O T E M A N I F E S T S
###############################################################################
diff --git a/examples/crate_universe/vendor_external/BUILD.bazel b/examples/crate_universe/vendor_external/BUILD.bazel
new file mode 100644
index 0000000..fb3708e
--- /dev/null
+++ b/examples/crate_universe/vendor_external/BUILD.bazel
@@ -0,0 +1,21 @@
+load("@rules_rust//crate_universe:defs.bzl", "crates_vendor")
+load("@rules_rust//rust:defs.bzl", "rust_test")
+
+exports_files([
+ "BUILD.names.bazel",
+])
+
+crates_vendor(
+ name = "crates_vendor",
+ manifests = ["@names_external//:Cargo.toml"],
+ mode = "remote",
+)
+
+rust_test(
+ name = "launch_test",
+ srcs = ["remote_crate_test.rs"],
+ data = ["@names_external//:names_bin"],
+ rustc_env = {
+ "EXECUTABLE": "$(rootpath @names_external//:names_bin)",
+ },
+)
diff --git a/examples/crate_universe/vendor_external/BUILD.names.bazel b/examples/crate_universe/vendor_external/BUILD.names.bazel
new file mode 100644
index 0000000..e84318d
--- /dev/null
+++ b/examples/crate_universe/vendor_external/BUILD.names.bazel
@@ -0,0 +1,67 @@
+load("@crate_index_cargo_remote//:defs.bzl", "aliases", "all_crate_deps")
+load("@rules_rust//cargo:defs.bzl", "cargo_build_script")
+load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library")
+
+package(default_visibility = ["//visibility:public"])
+
+exports_files([
+ "Cargo.toml",
+ "Cargo.lock",
+])
+
+rust_binary(
+ name = "names_bin",
+ srcs = ["src/bin/names.rs"],
+ aliases = aliases(
+ normal = True,
+ proc_macro = True,
+ ),
+ crate_features = [
+ "application",
+ "clap",
+ "default",
+ ],
+ crate_root = "src/bin/names.rs",
+ edition = "2018",
+ proc_macro_deps = all_crate_deps(proc_macro = True),
+ version = "0.12.0",
+ deps = all_crate_deps(normal = True) + [
+ ":names",
+ ],
+)
+
+rust_library(
+ name = "names",
+ srcs = glob(["src/**/*.rs"]),
+ aliases = aliases(
+ normal = True,
+ proc_macro = True,
+ ),
+ crate_features = [
+ "application",
+ "clap",
+ "default",
+ ],
+ edition = "2018",
+ proc_macro_deps = all_crate_deps(proc_macro = True),
+ version = "0.13.0",
+ deps = all_crate_deps(normal = True) + [
+ ":build-script-build",
+ ],
+)
+
+cargo_build_script(
+ name = "build-script-build",
+ srcs = ["build.rs"],
+ aliases = aliases(build = True),
+ crate_features = [
+ "application",
+ "clap",
+ "default",
+ ],
+ crate_name = "build_script_build",
+ crate_root = "build.rs",
+ data = glob(["data/**"]),
+ edition = "2018",
+ version = "0.13.0",
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.atty-0.2.14.bazel b/examples/crate_universe/vendor_external/crates/BUILD.atty-0.2.14.bazel
new file mode 100644
index 0000000..f40700d
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.atty-0.2.14.bazel
@@ -0,0 +1,126 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT
+# ])
+
+rust_library(
+ name = "atty",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.2.14",
+ deps = [
+ ] + select_with_or({
+ # cfg(target_os = "hermit")
+ #
+ # No supported platform triples for cfg: 'cfg(target_os = "hermit")'
+ # Skipped dependencies: [{"id":"hermit-abi 0.1.19","target":"hermit_abi"}]
+ #
+ # cfg(unix)
+ (
+ "@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-unknown-linux-gnu",
+ "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+ "@rules_rust//rust/platform:armv7-linux-androideabi",
+ "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+ "@rules_rust//rust/platform:i686-apple-darwin",
+ "@rules_rust//rust/platform:i686-linux-android",
+ "@rules_rust//rust/platform:i686-unknown-freebsd",
+ "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+ "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+ "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+ "@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-unknown-freebsd",
+ "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+ ): [
+ # Target Deps
+ "@crates_vendor__libc-0.2.126//:libc",
+
+ # Common Deps
+ ],
+ # cfg(windows)
+ (
+ "@rules_rust//rust/platform:i686-pc-windows-msvc",
+ "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+ ): [
+ # Target Deps
+ "@crates_vendor__winapi-0.3.9//:winapi",
+
+ # Common Deps
+ ],
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.autocfg-1.1.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.autocfg-1.1.0.bazel
new file mode 100644
index 0000000..bd2fcd9
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.autocfg-1.1.0.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # Apache-2.0 OR MIT
+# ])
+
+rust_library(
+ name = "autocfg",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.1.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.bazel b/examples/crate_universe/vendor_external/crates/BUILD.bazel
new file mode 100644
index 0000000..59172d3
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.bazel
@@ -0,0 +1,64 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+package(default_visibility = ["//visibility:public"])
+
+exports_files(
+ [
+ "cargo-bazel.json",
+ "defs.bzl",
+ "crates.bzl",
+ ] + glob([
+ "*.bazel",
+ ]),
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob([
+ "*.bazel",
+ "*.bzl",
+ ]),
+)
+
+# Workspace Member Dependencies
+alias(
+ name = "clap",
+ actual = "@crates_vendor__clap-3.1.18//:clap",
+ tags = ["manual"],
+)
+
+alias(
+ name = "names",
+ actual = "@crates_vendor__names-0.13.0//:names",
+ tags = ["manual"],
+)
+
+alias(
+ name = "rand",
+ actual = "@crates_vendor__rand-0.8.5//:rand",
+ tags = ["manual"],
+)
+
+alias(
+ name = "version-sync",
+ actual = "@crates_vendor__version-sync-0.9.4//:version_sync",
+ tags = ["manual"],
+)
+
+# Binaries
+alias(
+ name = "clap__stdio-fixture",
+ actual = "@crates_vendor__clap-3.1.18//:stdio-fixture__bin",
+ tags = ["manual"],
+)
+
+alias(
+ name = "pulldown-cmark__pulldown-cmark",
+ actual = "@crates_vendor__pulldown-cmark-0.8.0//:pulldown-cmark__bin",
+ tags = ["manual"],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.bitflags-1.3.2.bazel b/examples/crate_universe/vendor_external/crates/BUILD.bitflags-1.3.2.bazel
new file mode 100644
index 0000000..6894746
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.bitflags-1.3.2.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "bitflags",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.3.2",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.cfg-if-1.0.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.cfg-if-1.0.0.bazel
new file mode 100644
index 0000000..e4aab64
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.cfg-if-1.0.0.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "cfg_if",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.0.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.clap-3.1.18.bazel b/examples/crate_universe/vendor_external/crates/BUILD.clap-3.1.18.bazel
new file mode 100644
index 0000000..b7db9cc
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.clap-3.1.18.bazel
@@ -0,0 +1,184 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_binary",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "clap",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "atty",
+ "clap_derive",
+ "color",
+ "default",
+ "derive",
+ "lazy_static",
+ "std",
+ "strsim",
+ "suggestions",
+ "termcolor",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__clap_derive-3.1.18//:clap_derive",
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "3.1.18",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__atty-0.2.14//:atty",
+ "@crates_vendor__bitflags-1.3.2//:bitflags",
+ "@crates_vendor__clap_lex-0.2.0//:clap_lex",
+ "@crates_vendor__indexmap-1.8.2//:indexmap",
+ "@crates_vendor__lazy_static-1.4.0//:lazy_static",
+ "@crates_vendor__strsim-0.10.0//:strsim",
+ "@crates_vendor__termcolor-1.1.3//:termcolor",
+ "@crates_vendor__textwrap-0.15.0//:textwrap",
+ ],
+ }),
+)
+
+rust_binary(
+ name = "stdio-fixture__bin",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "atty",
+ "clap_derive",
+ "color",
+ "default",
+ "derive",
+ "lazy_static",
+ "std",
+ "strsim",
+ "suggestions",
+ "termcolor",
+ ],
+ crate_root = "src/bin/stdio-fixture.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__clap_derive-3.1.18//:clap_derive",
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "3.1.18",
+ deps = [
+ ":clap",
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__atty-0.2.14//:atty",
+ "@crates_vendor__bitflags-1.3.2//:bitflags",
+ "@crates_vendor__clap_lex-0.2.0//:clap_lex",
+ "@crates_vendor__indexmap-1.8.2//:indexmap",
+ "@crates_vendor__lazy_static-1.4.0//:lazy_static",
+ "@crates_vendor__strsim-0.10.0//:strsim",
+ "@crates_vendor__termcolor-1.1.3//:termcolor",
+ "@crates_vendor__textwrap-0.15.0//:textwrap",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.clap_derive-3.1.18.bazel b/examples/crate_universe/vendor_external/crates/BUILD.clap_derive-3.1.18.bazel
new file mode 100644
index 0000000..9f3887e
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.clap_derive-3.1.18.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_proc_macro",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_proc_macro(
+ name = "clap_derive",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "3.1.18",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__heck-0.4.0//:heck",
+ "@crates_vendor__proc-macro-error-1.0.4//:proc_macro_error",
+ "@crates_vendor__proc-macro2-1.0.39//:proc_macro2",
+ "@crates_vendor__quote-1.0.18//:quote",
+ "@crates_vendor__syn-1.0.96//:syn",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.clap_lex-0.2.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.clap_lex-0.2.0.bazel
new file mode 100644
index 0000000..226c62d
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.clap_lex-0.2.0.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "clap_lex",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.2.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__os_str_bytes-6.1.0//:os_str_bytes",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.form_urlencoded-1.0.1.bazel b/examples/crate_universe/vendor_external/crates/BUILD.form_urlencoded-1.0.1.bazel
new file mode 100644
index 0000000..bed61db
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.form_urlencoded-1.0.1.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "form_urlencoded",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.0.1",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__matches-0.1.9//:matches",
+ "@crates_vendor__percent-encoding-2.1.0//:percent_encoding",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.getrandom-0.2.6.bazel b/examples/crate_universe/vendor_external/crates/BUILD.getrandom-0.2.6.bazel
new file mode 100644
index 0000000..50969b8
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.getrandom-0.2.6.bazel
@@ -0,0 +1,124 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "getrandom",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "std",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.2.6",
+ deps = [
+ ] + select_with_or({
+ # cfg(target_os = "wasi")
+ (
+ "@rules_rust//rust/platform:wasm32-wasi",
+ ): [
+ # Target Deps
+ "@crates_vendor__wasi-0.10.2-wasi-snapshot-preview1//:wasi",
+
+ # Common Deps
+ "@crates_vendor__cfg-if-1.0.0//:cfg_if",
+ ],
+ # cfg(unix)
+ (
+ "@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-unknown-linux-gnu",
+ "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+ "@rules_rust//rust/platform:armv7-linux-androideabi",
+ "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+ "@rules_rust//rust/platform:i686-apple-darwin",
+ "@rules_rust//rust/platform:i686-linux-android",
+ "@rules_rust//rust/platform:i686-unknown-freebsd",
+ "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+ "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+ "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+ "@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-unknown-freebsd",
+ "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+ ): [
+ # Target Deps
+ "@crates_vendor__libc-0.2.126//:libc",
+
+ # Common Deps
+ "@crates_vendor__cfg-if-1.0.0//:cfg_if",
+ ],
+ "//conditions:default": [
+ "@crates_vendor__cfg-if-1.0.0//:cfg_if",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.hashbrown-0.11.2.bazel b/examples/crate_universe/vendor_external/crates/BUILD.hashbrown-0.11.2.bazel
new file mode 100644
index 0000000..54a071b
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.hashbrown-0.11.2.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # Apache-2.0/MIT
+# ])
+
+rust_library(
+ name = "hashbrown",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "raw",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.11.2",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.heck-0.4.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.heck-0.4.0.bazel
new file mode 100644
index 0000000..f8a2a8e
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.heck-0.4.0.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "heck",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.4.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.hermit-abi-0.1.19.bazel b/examples/crate_universe/vendor_external/crates/BUILD.hermit-abi-0.1.19.bazel
new file mode 100644
index 0000000..261dd16
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.hermit-abi-0.1.19.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "hermit_abi",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.1.19",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__libc-0.2.126//:libc",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.idna-0.2.3.bazel b/examples/crate_universe/vendor_external/crates/BUILD.idna-0.2.3.bazel
new file mode 100644
index 0000000..6704e61
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.idna-0.2.3.bazel
@@ -0,0 +1,87 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "idna",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.2.3",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__matches-0.1.9//:matches",
+ "@crates_vendor__unicode-bidi-0.3.8//:unicode_bidi",
+ "@crates_vendor__unicode-normalization-0.1.19//:unicode_normalization",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.indexmap-1.8.2.bazel b/examples/crate_universe/vendor_external/crates/BUILD.indexmap-1.8.2.bazel
new file mode 100644
index 0000000..52fc7d2
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.indexmap-1.8.2.bazel
@@ -0,0 +1,175 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+load(
+ "@rules_rust//cargo:defs.bzl",
+ "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # Apache-2.0/MIT
+# ])
+
+rust_library(
+ name = "indexmap",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "std",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.8.2",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__hashbrown-0.11.2//:hashbrown",
+ "@crates_vendor__indexmap-1.8.2//:build_script_build",
+ ],
+ }),
+)
+
+cargo_build_script(
+ # See comment associated with alias. Do not change this name
+ name = "indexmap_build_script",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ build_script_env = {
+ },
+ compile_data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "std",
+ ],
+ crate_name = "build_script_build",
+ crate_root = "build.rs",
+ data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "1.8.2",
+ visibility = ["//visibility:private"],
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__autocfg-1.1.0//:autocfg",
+ ],
+ }),
+)
+
+alias(
+ # Because `cargo_build_script` does some invisible target name mutating to
+ # determine the package and crate name for a build script, the Bazel
+ # target namename of any build script cannot be the Cargo canonical name
+ # of `build_script_build` without losing out on having certain Cargo
+ # environment variables set.
+ name = "build_script_build",
+ actual = "indexmap_build_script",
+ tags = [
+ "manual",
+ ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.lazy_static-1.4.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.lazy_static-1.4.0.bazel
new file mode 100644
index 0000000..aabde66
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.lazy_static-1.4.0.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "lazy_static",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.4.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.libc-0.2.126.bazel b/examples/crate_universe/vendor_external/crates/BUILD.libc-0.2.126.bazel
new file mode 100644
index 0000000..0092bef
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.libc-0.2.126.bazel
@@ -0,0 +1,171 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+load(
+ "@rules_rust//cargo:defs.bzl",
+ "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "libc",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.2.126",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__libc-0.2.126//:build_script_build",
+ ],
+ }),
+)
+
+cargo_build_script(
+ # See comment associated with alias. Do not change this name
+ name = "libc_build_script",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ build_script_env = {
+ },
+ compile_data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_name = "build_script_build",
+ crate_root = "build.rs",
+ data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "0.2.126",
+ visibility = ["//visibility:private"],
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
+
+alias(
+ # Because `cargo_build_script` does some invisible target name mutating to
+ # determine the package and crate name for a build script, the Bazel
+ # target namename of any build script cannot be the Cargo canonical name
+ # of `build_script_build` without losing out on having certain Cargo
+ # environment variables set.
+ name = "build_script_build",
+ actual = "libc_build_script",
+ tags = [
+ "manual",
+ ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.matches-0.1.9.bazel b/examples/crate_universe/vendor_external/crates/BUILD.matches-0.1.9.bazel
new file mode 100644
index 0000000..b2ec92b
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.matches-0.1.9.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT
+# ])
+
+rust_library(
+ name = "matches",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.1.9",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.memchr-2.5.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.memchr-2.5.0.bazel
new file mode 100644
index 0000000..fc6e457
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.memchr-2.5.0.bazel
@@ -0,0 +1,175 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+load(
+ "@rules_rust//cargo:defs.bzl",
+ "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # Unlicense/MIT
+# ])
+
+rust_library(
+ name = "memchr",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "std",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "2.5.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__memchr-2.5.0//:build_script_build",
+ ],
+ }),
+)
+
+cargo_build_script(
+ # See comment associated with alias. Do not change this name
+ name = "memchr_build_script",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ build_script_env = {
+ },
+ compile_data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "std",
+ ],
+ crate_name = "build_script_build",
+ crate_root = "build.rs",
+ data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "2.5.0",
+ visibility = ["//visibility:private"],
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
+
+alias(
+ # Because `cargo_build_script` does some invisible target name mutating to
+ # determine the package and crate name for a build script, the Bazel
+ # target namename of any build script cannot be the Cargo canonical name
+ # of `build_script_build` without losing out on having certain Cargo
+ # environment variables set.
+ name = "build_script_build",
+ actual = "memchr_build_script",
+ tags = [
+ "manual",
+ ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.os_str_bytes-6.1.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.os_str_bytes-6.1.0.bazel
new file mode 100644
index 0000000..620e128
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.os_str_bytes-6.1.0.bazel
@@ -0,0 +1,85 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "os_str_bytes",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "raw_os_str",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "6.1.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.percent-encoding-2.1.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.percent-encoding-2.1.0.bazel
new file mode 100644
index 0000000..1ad467a
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.percent-encoding-2.1.0.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "percent_encoding",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "2.1.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.ppv-lite86-0.2.16.bazel b/examples/crate_universe/vendor_external/crates/BUILD.ppv-lite86-0.2.16.bazel
new file mode 100644
index 0000000..f93bf68
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.ppv-lite86-0.2.16.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "ppv_lite86",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "simd",
+ "std",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.2.16",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.proc-macro-error-1.0.4.bazel b/examples/crate_universe/vendor_external/crates/BUILD.proc-macro-error-1.0.4.bazel
new file mode 100644
index 0000000..c14505c
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.proc-macro-error-1.0.4.bazel
@@ -0,0 +1,182 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+load(
+ "@rules_rust//cargo:defs.bzl",
+ "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "proc_macro_error",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "syn",
+ "syn-error",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__proc-macro-error-attr-1.0.4//:proc_macro_error_attr",
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.0.4",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__proc-macro-error-1.0.4//:build_script_build",
+ "@crates_vendor__proc-macro2-1.0.39//:proc_macro2",
+ "@crates_vendor__quote-1.0.18//:quote",
+ "@crates_vendor__syn-1.0.96//:syn",
+ ],
+ }),
+)
+
+cargo_build_script(
+ # See comment associated with alias. Do not change this name
+ name = "proc-macro-error_build_script",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ build_script_env = {
+ },
+ compile_data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "syn",
+ "syn-error",
+ ],
+ crate_name = "build_script_build",
+ crate_root = "build.rs",
+ data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "1.0.4",
+ visibility = ["//visibility:private"],
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__version_check-0.9.4//:version_check",
+ ],
+ }),
+)
+
+alias(
+ # Because `cargo_build_script` does some invisible target name mutating to
+ # determine the package and crate name for a build script, the Bazel
+ # target namename of any build script cannot be the Cargo canonical name
+ # of `build_script_build` without losing out on having certain Cargo
+ # environment variables set.
+ name = "build_script_build",
+ actual = "proc-macro-error_build_script",
+ tags = [
+ "manual",
+ ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.proc-macro-error-attr-1.0.4.bazel b/examples/crate_universe/vendor_external/crates/BUILD.proc-macro-error-attr-1.0.4.bazel
new file mode 100644
index 0000000..e3726ee
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.proc-macro-error-attr-1.0.4.bazel
@@ -0,0 +1,174 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+load(
+ "@rules_rust//cargo:defs.bzl",
+ "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_proc_macro",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_proc_macro(
+ name = "proc_macro_error_attr",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.0.4",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__proc-macro-error-attr-1.0.4//:build_script_build",
+ "@crates_vendor__proc-macro2-1.0.39//:proc_macro2",
+ "@crates_vendor__quote-1.0.18//:quote",
+ ],
+ }),
+)
+
+cargo_build_script(
+ # See comment associated with alias. Do not change this name
+ name = "proc-macro-error-attr_build_script",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ build_script_env = {
+ },
+ compile_data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_name = "build_script_build",
+ crate_root = "build.rs",
+ data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "1.0.4",
+ visibility = ["//visibility:private"],
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__version_check-0.9.4//:version_check",
+ ],
+ }),
+)
+
+alias(
+ # Because `cargo_build_script` does some invisible target name mutating to
+ # determine the package and crate name for a build script, the Bazel
+ # target namename of any build script cannot be the Cargo canonical name
+ # of `build_script_build` without losing out on having certain Cargo
+ # environment variables set.
+ name = "build_script_build",
+ actual = "proc-macro-error-attr_build_script",
+ tags = [
+ "manual",
+ ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.proc-macro2-1.0.39.bazel b/examples/crate_universe/vendor_external/crates/BUILD.proc-macro2-1.0.39.bazel
new file mode 100644
index 0000000..9998fcb
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.proc-macro2-1.0.39.bazel
@@ -0,0 +1,178 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+load(
+ "@rules_rust//cargo:defs.bzl",
+ "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "proc_macro2",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "proc-macro",
+ "span-locations",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.0.39",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__proc-macro2-1.0.39//:build_script_build",
+ "@crates_vendor__unicode-ident-1.0.0//:unicode_ident",
+ ],
+ }),
+)
+
+cargo_build_script(
+ # See comment associated with alias. Do not change this name
+ name = "proc-macro2_build_script",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ build_script_env = {
+ },
+ compile_data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "proc-macro",
+ "span-locations",
+ ],
+ crate_name = "build_script_build",
+ crate_root = "build.rs",
+ data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "1.0.39",
+ visibility = ["//visibility:private"],
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
+
+alias(
+ # Because `cargo_build_script` does some invisible target name mutating to
+ # determine the package and crate name for a build script, the Bazel
+ # target namename of any build script cannot be the Cargo canonical name
+ # of `build_script_build` without losing out on having certain Cargo
+ # environment variables set.
+ name = "build_script_build",
+ actual = "proc-macro2_build_script",
+ tags = [
+ "manual",
+ ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.pulldown-cmark-0.8.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.pulldown-cmark-0.8.0.bazel
new file mode 100644
index 0000000..65d67da
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.pulldown-cmark-0.8.0.bazel
@@ -0,0 +1,240 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+load(
+ "@rules_rust//cargo:defs.bzl",
+ "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_binary",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT
+# ])
+
+rust_library(
+ name = "pulldown_cmark",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.8.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__bitflags-1.3.2//:bitflags",
+ "@crates_vendor__memchr-2.5.0//:memchr",
+ "@crates_vendor__pulldown-cmark-0.8.0//:build_script_build",
+ "@crates_vendor__unicase-2.6.0//:unicase",
+ ],
+ }),
+)
+
+rust_binary(
+ name = "pulldown-cmark__bin",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/main.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.8.0",
+ deps = [
+ ":pulldown_cmark",
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__bitflags-1.3.2//:bitflags",
+ "@crates_vendor__memchr-2.5.0//:memchr",
+ "@crates_vendor__pulldown-cmark-0.8.0//:build_script_build",
+ "@crates_vendor__unicase-2.6.0//:unicase",
+ ],
+ }),
+)
+
+cargo_build_script(
+ # See comment associated with alias. Do not change this name
+ name = "pulldown-cmark_build_script",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ build_script_env = {
+ },
+ compile_data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_name = "build_script_build",
+ crate_root = "build.rs",
+ data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "0.8.0",
+ visibility = ["//visibility:private"],
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
+
+alias(
+ # Because `cargo_build_script` does some invisible target name mutating to
+ # determine the package and crate name for a build script, the Bazel
+ # target namename of any build script cannot be the Cargo canonical name
+ # of `build_script_build` without losing out on having certain Cargo
+ # environment variables set.
+ name = "build_script_build",
+ actual = "pulldown-cmark_build_script",
+ tags = [
+ "manual",
+ ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.quote-1.0.18.bazel b/examples/crate_universe/vendor_external/crates/BUILD.quote-1.0.18.bazel
new file mode 100644
index 0000000..ea62500
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.quote-1.0.18.bazel
@@ -0,0 +1,87 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "quote",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "proc-macro",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.0.18",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__proc-macro2-1.0.39//:proc_macro2",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.rand-0.8.5.bazel b/examples/crate_universe/vendor_external/crates/BUILD.rand-0.8.5.bazel
new file mode 100644
index 0000000..6acbe97
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.rand-0.8.5.bazel
@@ -0,0 +1,122 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "rand",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "alloc",
+ "default",
+ "getrandom",
+ "libc",
+ "rand_chacha",
+ "std",
+ "std_rng",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.8.5",
+ deps = [
+ ] + select_with_or({
+ # cfg(unix)
+ (
+ "@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-unknown-linux-gnu",
+ "@rules_rust//rust/platform:arm-unknown-linux-gnueabi",
+ "@rules_rust//rust/platform:armv7-linux-androideabi",
+ "@rules_rust//rust/platform:armv7-unknown-linux-gnueabi",
+ "@rules_rust//rust/platform:i686-apple-darwin",
+ "@rules_rust//rust/platform:i686-linux-android",
+ "@rules_rust//rust/platform:i686-unknown-freebsd",
+ "@rules_rust//rust/platform:i686-unknown-linux-gnu",
+ "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
+ "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
+ "@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-unknown-freebsd",
+ "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
+ ): [
+ # Target Deps
+ "@crates_vendor__libc-0.2.126//:libc",
+
+ # Common Deps
+ "@crates_vendor__rand_chacha-0.3.1//:rand_chacha",
+ "@crates_vendor__rand_core-0.6.3//:rand_core",
+ ],
+ "//conditions:default": [
+ "@crates_vendor__rand_chacha-0.3.1//:rand_chacha",
+ "@crates_vendor__rand_core-0.6.3//:rand_core",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.rand_chacha-0.3.1.bazel b/examples/crate_universe/vendor_external/crates/BUILD.rand_chacha-0.3.1.bazel
new file mode 100644
index 0000000..31bee62
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.rand_chacha-0.3.1.bazel
@@ -0,0 +1,87 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "rand_chacha",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "std",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.3.1",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__ppv-lite86-0.2.16//:ppv_lite86",
+ "@crates_vendor__rand_core-0.6.3//:rand_core",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.rand_core-0.6.3.bazel b/examples/crate_universe/vendor_external/crates/BUILD.rand_core-0.6.3.bazel
new file mode 100644
index 0000000..1f568f2
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.rand_core-0.6.3.bazel
@@ -0,0 +1,88 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "rand_core",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "alloc",
+ "getrandom",
+ "std",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.6.3",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__getrandom-0.2.6//:getrandom",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.regex-1.5.6.bazel b/examples/crate_universe/vendor_external/crates/BUILD.regex-1.5.6.bazel
new file mode 100644
index 0000000..245e33d
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.regex-1.5.6.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "regex",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "std",
+ "unicode",
+ "unicode-age",
+ "unicode-bool",
+ "unicode-case",
+ "unicode-gencat",
+ "unicode-perl",
+ "unicode-script",
+ "unicode-segment",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.5.6",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__regex-syntax-0.6.26//:regex_syntax",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.regex-syntax-0.6.26.bazel b/examples/crate_universe/vendor_external/crates/BUILD.regex-syntax-0.6.26.bazel
new file mode 100644
index 0000000..61539c2
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.regex-syntax-0.6.26.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "regex_syntax",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "unicode",
+ "unicode-age",
+ "unicode-bool",
+ "unicode-case",
+ "unicode-gencat",
+ "unicode-perl",
+ "unicode-script",
+ "unicode-segment",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.6.26",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.semver-1.0.9.bazel b/examples/crate_universe/vendor_external/crates/BUILD.semver-1.0.9.bazel
new file mode 100644
index 0000000..727e145
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.semver-1.0.9.bazel
@@ -0,0 +1,175 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+load(
+ "@rules_rust//cargo:defs.bzl",
+ "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "semver",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "std",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.0.9",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__semver-1.0.9//:build_script_build",
+ ],
+ }),
+)
+
+cargo_build_script(
+ # See comment associated with alias. Do not change this name
+ name = "semver_build_script",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ build_script_env = {
+ },
+ compile_data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "std",
+ ],
+ crate_name = "build_script_build",
+ crate_root = "build.rs",
+ data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "1.0.9",
+ visibility = ["//visibility:private"],
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
+
+alias(
+ # Because `cargo_build_script` does some invisible target name mutating to
+ # determine the package and crate name for a build script, the Bazel
+ # target namename of any build script cannot be the Cargo canonical name
+ # of `build_script_build` without losing out on having certain Cargo
+ # environment variables set.
+ name = "build_script_build",
+ actual = "semver_build_script",
+ tags = [
+ "manual",
+ ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.serde-1.0.137.bazel b/examples/crate_universe/vendor_external/crates/BUILD.serde-1.0.137.bazel
new file mode 100644
index 0000000..4413afd
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.serde-1.0.137.bazel
@@ -0,0 +1,175 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+load(
+ "@rules_rust//cargo:defs.bzl",
+ "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "serde",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "std",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.0.137",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__serde-1.0.137//:build_script_build",
+ ],
+ }),
+)
+
+cargo_build_script(
+ # See comment associated with alias. Do not change this name
+ name = "serde_build_script",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ build_script_env = {
+ },
+ compile_data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "std",
+ ],
+ crate_name = "build_script_build",
+ crate_root = "build.rs",
+ data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "1.0.137",
+ visibility = ["//visibility:private"],
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
+
+alias(
+ # Because `cargo_build_script` does some invisible target name mutating to
+ # determine the package and crate name for a build script, the Bazel
+ # target namename of any build script cannot be the Cargo canonical name
+ # of `build_script_build` without losing out on having certain Cargo
+ # environment variables set.
+ name = "build_script_build",
+ actual = "serde_build_script",
+ tags = [
+ "manual",
+ ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.strsim-0.10.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.strsim-0.10.0.bazel
new file mode 100644
index 0000000..d44fe18
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.strsim-0.10.0.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT
+# ])
+
+rust_library(
+ name = "strsim",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.10.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.syn-1.0.96.bazel b/examples/crate_universe/vendor_external/crates/BUILD.syn-1.0.96.bazel
new file mode 100644
index 0000000..c70f38d
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.syn-1.0.96.bazel
@@ -0,0 +1,190 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+load(
+ "@rules_rust//cargo:defs.bzl",
+ "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "syn",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "clone-impls",
+ "default",
+ "derive",
+ "full",
+ "parsing",
+ "printing",
+ "proc-macro",
+ "quote",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.0.96",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__proc-macro2-1.0.39//:proc_macro2",
+ "@crates_vendor__quote-1.0.18//:quote",
+ "@crates_vendor__syn-1.0.96//:build_script_build",
+ "@crates_vendor__unicode-ident-1.0.0//:unicode_ident",
+ ],
+ }),
+)
+
+cargo_build_script(
+ # See comment associated with alias. Do not change this name
+ name = "syn_build_script",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ build_script_env = {
+ },
+ compile_data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "clone-impls",
+ "default",
+ "derive",
+ "full",
+ "parsing",
+ "printing",
+ "proc-macro",
+ "quote",
+ ],
+ crate_name = "build_script_build",
+ crate_root = "build.rs",
+ data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "1.0.96",
+ visibility = ["//visibility:private"],
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
+
+alias(
+ # Because `cargo_build_script` does some invisible target name mutating to
+ # determine the package and crate name for a build script, the Bazel
+ # target namename of any build script cannot be the Cargo canonical name
+ # of `build_script_build` without losing out on having certain Cargo
+ # environment variables set.
+ name = "build_script_build",
+ actual = "syn_build_script",
+ tags = [
+ "manual",
+ ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.termcolor-1.1.3.bazel b/examples/crate_universe/vendor_external/crates/BUILD.termcolor-1.1.3.bazel
new file mode 100644
index 0000000..52940d5
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.termcolor-1.1.3.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # Unlicense OR MIT
+# ])
+
+rust_library(
+ name = "termcolor",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.1.3",
+ deps = [
+ ] + select_with_or({
+ # cfg(windows)
+ (
+ "@rules_rust//rust/platform:i686-pc-windows-msvc",
+ "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+ ): [
+ # Target Deps
+ "@crates_vendor__winapi-util-0.1.5//:winapi_util",
+
+ # Common Deps
+ ],
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.textwrap-0.15.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.textwrap-0.15.0.bazel
new file mode 100644
index 0000000..6636e2c
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.textwrap-0.15.0.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT
+# ])
+
+rust_library(
+ name = "textwrap",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.15.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.tinyvec-1.6.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.tinyvec-1.6.0.bazel
new file mode 100644
index 0000000..1a8678d
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.tinyvec-1.6.0.bazel
@@ -0,0 +1,88 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # Zlib OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+ name = "tinyvec",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "alloc",
+ "default",
+ "tinyvec_macros",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.6.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__tinyvec_macros-0.1.0//:tinyvec_macros",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.tinyvec_macros-0.1.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.tinyvec_macros-0.1.0.bazel
new file mode 100644
index 0000000..f29536b
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.tinyvec_macros-0.1.0.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0 OR Zlib
+# ])
+
+rust_library(
+ name = "tinyvec_macros",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.1.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.toml-0.5.9.bazel b/examples/crate_universe/vendor_external/crates/BUILD.toml-0.5.9.bazel
new file mode 100644
index 0000000..d1c8fcf
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.toml-0.5.9.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "toml",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.5.9",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__serde-1.0.137//:serde",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.unicase-2.6.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.unicase-2.6.0.bazel
new file mode 100644
index 0000000..7fc2c70
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.unicase-2.6.0.bazel
@@ -0,0 +1,172 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+load(
+ "@rules_rust//cargo:defs.bzl",
+ "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "unicase",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "2.6.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__unicase-2.6.0//:build_script_build",
+ ],
+ }),
+)
+
+cargo_build_script(
+ # See comment associated with alias. Do not change this name
+ name = "unicase_build_script",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ build_script_env = {
+ },
+ compile_data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_name = "build_script_build",
+ crate_root = "build.rs",
+ data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "2.6.0",
+ visibility = ["//visibility:private"],
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__version_check-0.9.4//:version_check",
+ ],
+ }),
+)
+
+alias(
+ # Because `cargo_build_script` does some invisible target name mutating to
+ # determine the package and crate name for a build script, the Bazel
+ # target namename of any build script cannot be the Cargo canonical name
+ # of `build_script_build` without losing out on having certain Cargo
+ # environment variables set.
+ name = "build_script_build",
+ actual = "unicase_build_script",
+ tags = [
+ "manual",
+ ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.unicode-bidi-0.3.8.bazel b/examples/crate_universe/vendor_external/crates/BUILD.unicode-bidi-0.3.8.bazel
new file mode 100644
index 0000000..563cbe3
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.unicode-bidi-0.3.8.bazel
@@ -0,0 +1,87 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "unicode_bidi",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "hardcoded-data",
+ "std",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.3.8",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.unicode-ident-1.0.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.unicode-ident-1.0.0.bazel
new file mode 100644
index 0000000..6a150fa
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.unicode-ident-1.0.0.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT OR Apache-2.0
+# ])
+
+rust_library(
+ name = "unicode_ident",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.0.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.unicode-normalization-0.1.19.bazel b/examples/crate_universe/vendor_external/crates/BUILD.unicode-normalization-0.1.19.bazel
new file mode 100644
index 0000000..093ec58
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.unicode-normalization-0.1.19.bazel
@@ -0,0 +1,87 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "unicode_normalization",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "std",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.1.19",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__tinyvec-1.6.0//:tinyvec",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.url-2.2.2.bazel b/examples/crate_universe/vendor_external/crates/BUILD.url-2.2.2.bazel
new file mode 100644
index 0000000..e13b8f7
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.url-2.2.2.bazel
@@ -0,0 +1,88 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "url",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "2.2.2",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__form_urlencoded-1.0.1//:form_urlencoded",
+ "@crates_vendor__idna-0.2.3//:idna",
+ "@crates_vendor__matches-0.1.9//:matches",
+ "@crates_vendor__percent-encoding-2.1.0//:percent_encoding",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.version-sync-0.9.4.bazel b/examples/crate_universe/vendor_external/crates/BUILD.version-sync-0.9.4.bazel
new file mode 100644
index 0000000..cf8d1a3
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.version-sync-0.9.4.bazel
@@ -0,0 +1,102 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT
+# ])
+
+rust_library(
+ name = "version_sync",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "contains_regex",
+ "default",
+ "html_root_url_updated",
+ "markdown_deps_updated",
+ "proc-macro2",
+ "pulldown-cmark",
+ "regex",
+ "semver",
+ "syn",
+ "toml",
+ "url",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.9.4",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__proc-macro2-1.0.39//:proc_macro2",
+ "@crates_vendor__pulldown-cmark-0.8.0//:pulldown_cmark",
+ "@crates_vendor__regex-1.5.6//:regex",
+ "@crates_vendor__semver-1.0.9//:semver",
+ "@crates_vendor__syn-1.0.96//:syn",
+ "@crates_vendor__toml-0.5.9//:toml",
+ "@crates_vendor__url-2.2.2//:url",
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.version_check-0.9.4.bazel b/examples/crate_universe/vendor_external/crates/BUILD.version_check-0.9.4.bazel
new file mode 100644
index 0000000..2c446b0
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.version_check-0.9.4.bazel
@@ -0,0 +1,84 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "version_check",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.9.4",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel b/examples/crate_universe/vendor_external/crates/BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel
new file mode 100644
index 0000000..aedee28
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel
@@ -0,0 +1,86 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
+# ])
+
+rust_library(
+ name = "wasi",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "std",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.10.2+wasi-snapshot-preview1",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.winapi-0.3.9.bazel b/examples/crate_universe/vendor_external/crates/BUILD.winapi-0.3.9.bazel
new file mode 100644
index 0000000..8508da3
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.winapi-0.3.9.bazel
@@ -0,0 +1,203 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+load(
+ "@rules_rust//cargo:defs.bzl",
+ "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "winapi",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "consoleapi",
+ "errhandlingapi",
+ "fileapi",
+ "minwinbase",
+ "minwindef",
+ "processenv",
+ "std",
+ "winbase",
+ "wincon",
+ "winerror",
+ "winnt",
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.3.9",
+ deps = [
+ ] + select_with_or({
+ # i686-pc-windows-gnu
+ #
+ # No supported platform triples for cfg: 'i686-pc-windows-gnu'
+ # Skipped dependencies: [{"id":"winapi-i686-pc-windows-gnu 0.4.0","target":"winapi_i686_pc_windows_gnu"}]
+ #
+ # x86_64-pc-windows-gnu
+ #
+ # No supported platform triples for cfg: 'x86_64-pc-windows-gnu'
+ # Skipped dependencies: [{"id":"winapi-x86_64-pc-windows-gnu 0.4.0","target":"winapi_x86_64_pc_windows_gnu"}]
+ #
+ "//conditions:default": [
+ "@crates_vendor__winapi-0.3.9//:build_script_build",
+ ],
+ }),
+)
+
+cargo_build_script(
+ # See comment associated with alias. Do not change this name
+ name = "winapi_build_script",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ build_script_env = {
+ },
+ compile_data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "consoleapi",
+ "errhandlingapi",
+ "fileapi",
+ "minwinbase",
+ "minwindef",
+ "processenv",
+ "std",
+ "winbase",
+ "wincon",
+ "winerror",
+ "winnt",
+ ],
+ crate_name = "build_script_build",
+ crate_root = "build.rs",
+ data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "0.3.9",
+ visibility = ["//visibility:private"],
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
+
+alias(
+ # Because `cargo_build_script` does some invisible target name mutating to
+ # determine the package and crate name for a build script, the Bazel
+ # target namename of any build script cannot be the Cargo canonical name
+ # of `build_script_build` without losing out on having certain Cargo
+ # environment variables set.
+ name = "build_script_build",
+ actual = "winapi_build_script",
+ tags = [
+ "manual",
+ ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
new file mode 100644
index 0000000..0a383b9
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel
@@ -0,0 +1,171 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+load(
+ "@rules_rust//cargo:defs.bzl",
+ "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "winapi_i686_pc_windows_gnu",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.4.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__winapi-i686-pc-windows-gnu-0.4.0//:build_script_build",
+ ],
+ }),
+)
+
+cargo_build_script(
+ # See comment associated with alias. Do not change this name
+ name = "winapi-i686-pc-windows-gnu_build_script",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ build_script_env = {
+ },
+ compile_data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_name = "build_script_build",
+ crate_root = "build.rs",
+ data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "0.4.0",
+ visibility = ["//visibility:private"],
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
+
+alias(
+ # Because `cargo_build_script` does some invisible target name mutating to
+ # determine the package and crate name for a build script, the Bazel
+ # target namename of any build script cannot be the Cargo canonical name
+ # of `build_script_build` without losing out on having certain Cargo
+ # environment variables set.
+ name = "build_script_build",
+ actual = "winapi-i686-pc-windows-gnu_build_script",
+ tags = [
+ "manual",
+ ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.winapi-util-0.1.5.bazel b/examples/crate_universe/vendor_external/crates/BUILD.winapi-util-0.1.5.bazel
new file mode 100644
index 0000000..738774a
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.winapi-util-0.1.5.bazel
@@ -0,0 +1,94 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # Unlicense/MIT
+# ])
+
+rust_library(
+ name = "winapi_util",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2018",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.1.5",
+ deps = [
+ ] + select_with_or({
+ # cfg(windows)
+ (
+ "@rules_rust//rust/platform:i686-pc-windows-msvc",
+ "@rules_rust//rust/platform:x86_64-pc-windows-msvc",
+ ): [
+ # Target Deps
+ "@crates_vendor__winapi-0.3.9//:winapi",
+
+ # Common Deps
+ ],
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/examples/crate_universe/vendor_external/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/examples/crate_universe/vendor_external/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
new file mode 100644
index 0000000..694a3e5
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel
@@ -0,0 +1,171 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+
+load(
+ "@bazel_skylib//lib:selects.bzl",
+ "selects",
+)
+load(
+ "@rules_rust//cargo:defs.bzl",
+ "cargo_build_script",
+)
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:selects.bzl", "select_with_or")
+load(
+ "@rules_rust//rust:defs.bzl",
+ "rust_library",
+)
+
+package(default_visibility = ["//visibility:public"])
+
+# licenses([
+# "TODO", # MIT/Apache-2.0
+# ])
+
+rust_library(
+ name = "winapi_x86_64_pc_windows_gnu",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_root = "src/lib.rs",
+ data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.4.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@crates_vendor__winapi-x86_64-pc-windows-gnu-0.4.0//:build_script_build",
+ ],
+ }),
+)
+
+cargo_build_script(
+ # See comment associated with alias. Do not change this name
+ name = "winapi-x86_64-pc-windows-gnu_build_script",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ build_script_env = {
+ },
+ compile_data = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ ],
+ crate_name = "build_script_build",
+ crate_root = "build.rs",
+ data = glob(["**"]) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ edition = "2015",
+ proc_macro_deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_env = {
+ },
+ rustc_env_files = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ rustc_flags = [
+ # In most cases, warnings in 3rd party crates are not interesting as
+ # they're out of the control of consumers. The flag here silences
+ # warnings. For more details see:
+ # https://doc.rust-lang.org/rustc/lints/levels.html
+ "--cap-lints=allow",
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "0.4.0",
+ visibility = ["//visibility:private"],
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
+
+alias(
+ # Because `cargo_build_script` does some invisible target name mutating to
+ # determine the package and crate name for a build script, the Bazel
+ # target namename of any build script cannot be the Cargo canonical name
+ # of `build_script_build` without losing out on having certain Cargo
+ # environment variables set.
+ name = "build_script_build",
+ actual = "winapi-x86_64-pc-windows-gnu_build_script",
+ tags = [
+ "manual",
+ ],
+)
diff --git a/examples/crate_universe/vendor_external/crates/crates.bzl b/examples/crate_universe/vendor_external/crates/crates.bzl
new file mode 100644
index 0000000..e86b985
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/crates.bzl
@@ -0,0 +1,25 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+"""Rules for defining repositories for remote `crates_vendor` repositories"""
+
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+
+# buildifier: disable=bzl-visibility
+load("@examples//vendor_external/crates:defs.bzl", _crate_repositories = "crate_repositories")
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//crate_universe/private:crates_vendor.bzl", "crates_vendor_remote_repository")
+
+def crate_repositories():
+ maybe(
+ crates_vendor_remote_repository,
+ name = "crates_vendor",
+ build_file = Label("@examples//vendor_external/crates:BUILD.bazel"),
+ defs_module = Label("@examples//vendor_external/crates:defs.bzl"),
+ )
+
+ _crate_repositories()
diff --git a/examples/crate_universe/vendor_external/crates/defs.bzl b/examples/crate_universe/vendor_external/crates/defs.bzl
new file mode 100644
index 0000000..b1be70e
--- /dev/null
+++ b/examples/crate_universe/vendor_external/crates/defs.bzl
@@ -0,0 +1,894 @@
+###############################################################################
+# @generated
+# This file is auto-generated by the cargo-bazel tool.
+#
+# DO NOT MODIFY: Local changes may be replaced in future executions.
+###############################################################################
+"""
+# `crates_repository` API
+
+- [aliases](#aliases)
+- [crate_deps](#crate_deps)
+- [all_crate_deps](#all_crate_deps)
+- [crate_repositories](#crate_repositories)
+
+"""
+
+load("@bazel_skylib//lib:selects.bzl", "selects")
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+
+###############################################################################
+# MACROS API
+###############################################################################
+
+# An identifier that represent common dependencies (unconditional).
+_COMMON_CONDITION = ""
+
+def _flatten_dependency_maps(all_dependency_maps):
+ """Flatten a list of dependency maps into one dictionary.
+
+ Dependency maps have the following structure:
+
+ ```python
+ DEPENDENCIES_MAP = {
+ # The first key in the map is a Bazel package
+ # name of the workspace this file is defined in.
+ "workspace_member_package": {
+
+ # Not all dependnecies are supported for all platforms.
+ # the condition key is the condition required to be true
+ # on the host platform.
+ "condition": {
+
+ # An alias to a crate target. # The label of the crate target the
+ # Aliases are only crate names. # package name refers to.
+ "package_name": "@full//:label",
+ }
+ }
+ }
+ ```
+
+ Args:
+ all_dependency_maps (list): A list of dicts as described above
+
+ Returns:
+ dict: A dictionary as described above
+ """
+ dependencies = {}
+
+ for workspace_deps_map in all_dependency_maps:
+ for pkg_name, conditional_deps_map in workspace_deps_map.items():
+ if pkg_name not in dependencies:
+ non_frozen_map = dict()
+ for key, values in conditional_deps_map.items():
+ non_frozen_map.update({key: dict(values.items())})
+ dependencies.setdefault(pkg_name, non_frozen_map)
+ continue
+
+ for condition, deps_map in conditional_deps_map.items():
+ # If the condition has not been recorded, do so and continue
+ if condition not in dependencies[pkg_name]:
+ dependencies[pkg_name].setdefault(condition, dict(deps_map.items()))
+ continue
+
+ # Alert on any miss-matched dependencies
+ inconsistent_entries = []
+ for crate_name, crate_label in deps_map.items():
+ existing = dependencies[pkg_name][condition].get(crate_name)
+ if existing and existing != crate_label:
+ inconsistent_entries.append((crate_name, existing, crate_label))
+ dependencies[pkg_name][condition].update({crate_name: crate_label})
+
+ return dependencies
+
+def crate_deps(deps, package_name = None):
+ """Finds the fully qualified label of the requested crates for the package where this macro is called.
+
+ Args:
+ deps (list): The desired list of crate targets.
+ package_name (str, optional): The package name of the set of dependencies to look up.
+ Defaults to `native.package_name()`.
+
+ Returns:
+ list: A list of labels to generated rust targets (str)
+ """
+
+ if not deps:
+ return []
+
+ if package_name == None:
+ package_name = native.package_name()
+
+ # Join both sets of dependencies
+ dependencies = _flatten_dependency_maps([
+ _NORMAL_DEPENDENCIES,
+ _NORMAL_DEV_DEPENDENCIES,
+ _PROC_MACRO_DEPENDENCIES,
+ _PROC_MACRO_DEV_DEPENDENCIES,
+ _BUILD_DEPENDENCIES,
+ _BUILD_PROC_MACRO_DEPENDENCIES,
+ ]).pop(package_name, {})
+
+ # Combine all conditional packages so we can easily index over a flat list
+ # TODO: Perhaps this should actually return select statements and maintain
+ # the conditionals of the dependencies
+ flat_deps = {}
+ for deps_set in dependencies.values():
+ for crate_name, crate_label in deps_set.items():
+ flat_deps.update({crate_name: crate_label})
+
+ missing_crates = []
+ crate_targets = []
+ for crate_target in deps:
+ if crate_target not in flat_deps:
+ missing_crates.append(crate_target)
+ else:
+ crate_targets.append(flat_deps[crate_target])
+
+ if missing_crates:
+ fail("Could not find crates `{}` among dependencies of `{}`. Available dependencies were `{}`".format(
+ missing_crates,
+ package_name,
+ dependencies,
+ ))
+
+ return crate_targets
+
+def all_crate_deps(
+ normal = False,
+ normal_dev = False,
+ proc_macro = False,
+ proc_macro_dev = False,
+ build = False,
+ build_proc_macro = False,
+ package_name = None):
+ """Finds the fully qualified label of all requested direct crate dependencies \
+ for the package where this macro is called.
+
+ If no parameters are set, all normal dependencies are returned. Setting any one flag will
+ otherwise impact the contents of the returned list.
+
+ Args:
+ normal (bool, optional): If True, normal dependencies are included in the
+ output list.
+ normal_dev (bool, optional): If True, normla dev dependencies will be
+ included in the output list..
+ proc_macro (bool, optional): If True, proc_macro dependencies are included
+ in the output list.
+ proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
+ included in the output list.
+ build (bool, optional): If True, build dependencies are included
+ in the output list.
+ build_proc_macro (bool, optional): If True, build proc_macro dependencies are
+ included in the output list.
+ package_name (str, optional): The package name of the set of dependencies to look up.
+ Defaults to `native.package_name()` when unset.
+
+ Returns:
+ list: A list of labels to generated rust targets (str)
+ """
+
+ if package_name == None:
+ package_name = native.package_name()
+
+ # Determine the relevant maps to use
+ all_dependency_maps = []
+ if normal:
+ all_dependency_maps.append(_NORMAL_DEPENDENCIES)
+ if normal_dev:
+ all_dependency_maps.append(_NORMAL_DEV_DEPENDENCIES)
+ if proc_macro:
+ all_dependency_maps.append(_PROC_MACRO_DEPENDENCIES)
+ if proc_macro_dev:
+ all_dependency_maps.append(_PROC_MACRO_DEV_DEPENDENCIES)
+ if build:
+ all_dependency_maps.append(_BUILD_DEPENDENCIES)
+ if build_proc_macro:
+ all_dependency_maps.append(_BUILD_PROC_MACRO_DEPENDENCIES)
+
+ # Default to always using normal dependencies
+ if not all_dependency_maps:
+ all_dependency_maps.append(_NORMAL_DEPENDENCIES)
+
+ dependencies = _flatten_dependency_maps(all_dependency_maps).pop(package_name, None)
+
+ if not dependencies:
+ if dependencies == None:
+ fail("Tried to get all_crate_deps for package " + package_name + " but that package had no Cargo.toml file")
+ else:
+ return []
+
+ crate_deps = list(dependencies.pop(_COMMON_CONDITION, {}).values())
+ for condition, deps in dependencies.items():
+ crate_deps += selects.with_or({_CONDITIONS[condition]: deps.values()})
+
+ return crate_deps
+
+def aliases(
+ normal = False,
+ normal_dev = False,
+ proc_macro = False,
+ proc_macro_dev = False,
+ build = False,
+ build_proc_macro = False,
+ package_name = None):
+ """Produces a map of Crate alias names to their original label
+
+ If no dependency kinds are specified, `normal` and `proc_macro` are used by default.
+ Setting any one flag will otherwise determine the contents of the returned dict.
+
+ Args:
+ normal (bool, optional): If True, normal dependencies are included in the
+ output list.
+ normal_dev (bool, optional): If True, normla dev dependencies will be
+ included in the output list..
+ proc_macro (bool, optional): If True, proc_macro dependencies are included
+ in the output list.
+ proc_macro_dev (bool, optional): If True, dev proc_macro dependencies are
+ included in the output list.
+ build (bool, optional): If True, build dependencies are included
+ in the output list.
+ build_proc_macro (bool, optional): If True, build proc_macro dependencies are
+ included in the output list.
+ package_name (str, optional): The package name of the set of dependencies to look up.
+ Defaults to `native.package_name()` when unset.
+
+ Returns:
+ dict: The aliases of all associated packages
+ """
+ if package_name == None:
+ package_name = native.package_name()
+
+ # Determine the relevant maps to use
+ all_aliases_maps = []
+ if normal:
+ all_aliases_maps.append(_NORMAL_ALIASES)
+ if normal_dev:
+ all_aliases_maps.append(_NORMAL_DEV_ALIASES)
+ if proc_macro:
+ all_aliases_maps.append(_PROC_MACRO_ALIASES)
+ if proc_macro_dev:
+ all_aliases_maps.append(_PROC_MACRO_DEV_ALIASES)
+ if build:
+ all_aliases_maps.append(_BUILD_ALIASES)
+ if build_proc_macro:
+ all_aliases_maps.append(_BUILD_PROC_MACRO_ALIASES)
+
+ # Default to always using normal aliases
+ if not all_aliases_maps:
+ all_aliases_maps.append(_NORMAL_ALIASES)
+ all_aliases_maps.append(_PROC_MACRO_ALIASES)
+
+ aliases = _flatten_dependency_maps(all_aliases_maps).pop(package_name, None)
+
+ if not aliases:
+ return dict()
+
+ common_items = aliases.pop(_COMMON_CONDITION, {}).items()
+
+ # If there are only common items in the dictionary, immediately return them
+ if not len(aliases.keys()) == 1:
+ return dict(common_items)
+
+ # Build a single select statement where each conditional has accounted for the
+ # common set of aliases.
+ crate_aliases = {"//conditions:default": common_items}
+ for condition, deps in aliases.items():
+ condition_triples = _CONDITIONS[condition]
+ if condition_triples in crate_aliases:
+ crate_aliases[condition_triples].update(deps)
+ else:
+ crate_aliases.update({_CONDITIONS[condition]: dict(deps.items() + common_items)})
+
+ return selects.with_or(crate_aliases)
+
+###############################################################################
+# WORKSPACE MEMBER DEPS AND ALIASES
+###############################################################################
+
+_NORMAL_DEPENDENCIES = {
+ "": {
+ _COMMON_CONDITION: {
+ "clap": "@crates_vendor__clap-3.1.18//:clap",
+ "rand": "@crates_vendor__rand-0.8.5//:rand",
+ },
+ },
+}
+
+_NORMAL_ALIASES = {
+ "": {
+ _COMMON_CONDITION: {
+ },
+ },
+}
+
+_NORMAL_DEV_DEPENDENCIES = {
+ "": {
+ _COMMON_CONDITION: {
+ "version-sync": "@crates_vendor__version-sync-0.9.4//:version_sync",
+ },
+ },
+}
+
+_NORMAL_DEV_ALIASES = {
+ "": {
+ _COMMON_CONDITION: {
+ },
+ },
+}
+
+_PROC_MACRO_DEPENDENCIES = {
+ "": {
+ },
+}
+
+_PROC_MACRO_ALIASES = {
+ "": {
+ },
+}
+
+_PROC_MACRO_DEV_DEPENDENCIES = {
+ "": {
+ },
+}
+
+_PROC_MACRO_DEV_ALIASES = {
+ "": {
+ _COMMON_CONDITION: {
+ },
+ },
+}
+
+_BUILD_DEPENDENCIES = {
+ "": {
+ },
+}
+
+_BUILD_ALIASES = {
+ "": {
+ },
+}
+
+_BUILD_PROC_MACRO_DEPENDENCIES = {
+ "": {
+ },
+}
+
+_BUILD_PROC_MACRO_ALIASES = {
+ "": {
+ },
+}
+
+_CONDITIONS = {
+ "cfg(target_os = \"hermit\")": [],
+ "cfg(target_os = \"wasi\")": ["wasm32-wasi"],
+ "cfg(unix)": ["aarch64-apple-darwin", "aarch64-apple-ios", "aarch64-apple-ios-sim", "aarch64-linux-android", "aarch64-unknown-linux-gnu", "arm-unknown-linux-gnueabi", "armv7-linux-androideabi", "armv7-unknown-linux-gnueabi", "i686-apple-darwin", "i686-linux-android", "i686-unknown-freebsd", "i686-unknown-linux-gnu", "powerpc-unknown-linux-gnu", "s390x-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-apple-ios", "x86_64-linux-android", "x86_64-unknown-freebsd", "x86_64-unknown-linux-gnu"],
+ "cfg(windows)": ["i686-pc-windows-msvc", "x86_64-pc-windows-msvc"],
+ "i686-pc-windows-gnu": [],
+ "x86_64-pc-windows-gnu": [],
+}
+
+###############################################################################
+
+def crate_repositories():
+ """A macro for defining repositories for all generated crates"""
+ maybe(
+ http_archive,
+ name = "crates_vendor__atty-0.2.14",
+ sha256 = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/atty/0.2.14/download"],
+ strip_prefix = "atty-0.2.14",
+ build_file = Label("@examples//vendor_external/crates:BUILD.atty-0.2.14.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__autocfg-1.1.0",
+ sha256 = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/autocfg/1.1.0/download"],
+ strip_prefix = "autocfg-1.1.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.autocfg-1.1.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__bitflags-1.3.2",
+ sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/bitflags/1.3.2/download"],
+ strip_prefix = "bitflags-1.3.2",
+ build_file = Label("@examples//vendor_external/crates:BUILD.bitflags-1.3.2.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__cfg-if-1.0.0",
+ sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/cfg-if/1.0.0/download"],
+ strip_prefix = "cfg-if-1.0.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.cfg-if-1.0.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__clap-3.1.18",
+ sha256 = "d2dbdf4bdacb33466e854ce889eee8dfd5729abf7ccd7664d0a2d60cd384440b",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/clap/3.1.18/download"],
+ strip_prefix = "clap-3.1.18",
+ build_file = Label("@examples//vendor_external/crates:BUILD.clap-3.1.18.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__clap_derive-3.1.18",
+ sha256 = "25320346e922cffe59c0bbc5410c8d8784509efb321488971081313cb1e1a33c",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/clap_derive/3.1.18/download"],
+ strip_prefix = "clap_derive-3.1.18",
+ build_file = Label("@examples//vendor_external/crates:BUILD.clap_derive-3.1.18.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__clap_lex-0.2.0",
+ sha256 = "a37c35f1112dad5e6e0b1adaff798507497a18fceeb30cceb3bae7d1427b9213",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/clap_lex/0.2.0/download"],
+ strip_prefix = "clap_lex-0.2.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.clap_lex-0.2.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__form_urlencoded-1.0.1",
+ sha256 = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/form_urlencoded/1.0.1/download"],
+ strip_prefix = "form_urlencoded-1.0.1",
+ build_file = Label("@examples//vendor_external/crates:BUILD.form_urlencoded-1.0.1.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__getrandom-0.2.6",
+ sha256 = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/getrandom/0.2.6/download"],
+ strip_prefix = "getrandom-0.2.6",
+ build_file = Label("@examples//vendor_external/crates:BUILD.getrandom-0.2.6.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__hashbrown-0.11.2",
+ sha256 = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/hashbrown/0.11.2/download"],
+ strip_prefix = "hashbrown-0.11.2",
+ build_file = Label("@examples//vendor_external/crates:BUILD.hashbrown-0.11.2.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__heck-0.4.0",
+ sha256 = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/heck/0.4.0/download"],
+ strip_prefix = "heck-0.4.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.heck-0.4.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__hermit-abi-0.1.19",
+ sha256 = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/hermit-abi/0.1.19/download"],
+ strip_prefix = "hermit-abi-0.1.19",
+ build_file = Label("@examples//vendor_external/crates:BUILD.hermit-abi-0.1.19.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__idna-0.2.3",
+ sha256 = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/idna/0.2.3/download"],
+ strip_prefix = "idna-0.2.3",
+ build_file = Label("@examples//vendor_external/crates:BUILD.idna-0.2.3.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__indexmap-1.8.2",
+ sha256 = "e6012d540c5baa3589337a98ce73408de9b5a25ec9fc2c6fd6be8f0d39e0ca5a",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/indexmap/1.8.2/download"],
+ strip_prefix = "indexmap-1.8.2",
+ build_file = Label("@examples//vendor_external/crates:BUILD.indexmap-1.8.2.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__lazy_static-1.4.0",
+ sha256 = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/lazy_static/1.4.0/download"],
+ strip_prefix = "lazy_static-1.4.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.lazy_static-1.4.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__libc-0.2.126",
+ sha256 = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/libc/0.2.126/download"],
+ strip_prefix = "libc-0.2.126",
+ build_file = Label("@examples//vendor_external/crates:BUILD.libc-0.2.126.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__matches-0.1.9",
+ sha256 = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/matches/0.1.9/download"],
+ strip_prefix = "matches-0.1.9",
+ build_file = Label("@examples//vendor_external/crates:BUILD.matches-0.1.9.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__memchr-2.5.0",
+ sha256 = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/memchr/2.5.0/download"],
+ strip_prefix = "memchr-2.5.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.memchr-2.5.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__os_str_bytes-6.1.0",
+ sha256 = "21326818e99cfe6ce1e524c2a805c189a99b5ae555a35d19f9a284b427d86afa",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/os_str_bytes/6.1.0/download"],
+ strip_prefix = "os_str_bytes-6.1.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.os_str_bytes-6.1.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__percent-encoding-2.1.0",
+ sha256 = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/percent-encoding/2.1.0/download"],
+ strip_prefix = "percent-encoding-2.1.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.percent-encoding-2.1.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__ppv-lite86-0.2.16",
+ sha256 = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/ppv-lite86/0.2.16/download"],
+ strip_prefix = "ppv-lite86-0.2.16",
+ build_file = Label("@examples//vendor_external/crates:BUILD.ppv-lite86-0.2.16.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__proc-macro-error-1.0.4",
+ sha256 = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/proc-macro-error/1.0.4/download"],
+ strip_prefix = "proc-macro-error-1.0.4",
+ build_file = Label("@examples//vendor_external/crates:BUILD.proc-macro-error-1.0.4.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__proc-macro-error-attr-1.0.4",
+ sha256 = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/proc-macro-error-attr/1.0.4/download"],
+ strip_prefix = "proc-macro-error-attr-1.0.4",
+ build_file = Label("@examples//vendor_external/crates:BUILD.proc-macro-error-attr-1.0.4.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__proc-macro2-1.0.39",
+ sha256 = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.39/download"],
+ strip_prefix = "proc-macro2-1.0.39",
+ build_file = Label("@examples//vendor_external/crates:BUILD.proc-macro2-1.0.39.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__pulldown-cmark-0.8.0",
+ sha256 = "ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/pulldown-cmark/0.8.0/download"],
+ strip_prefix = "pulldown-cmark-0.8.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.pulldown-cmark-0.8.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__quote-1.0.18",
+ sha256 = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/quote/1.0.18/download"],
+ strip_prefix = "quote-1.0.18",
+ build_file = Label("@examples//vendor_external/crates:BUILD.quote-1.0.18.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__rand-0.8.5",
+ sha256 = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/rand/0.8.5/download"],
+ strip_prefix = "rand-0.8.5",
+ build_file = Label("@examples//vendor_external/crates:BUILD.rand-0.8.5.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__rand_chacha-0.3.1",
+ sha256 = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/rand_chacha/0.3.1/download"],
+ strip_prefix = "rand_chacha-0.3.1",
+ build_file = Label("@examples//vendor_external/crates:BUILD.rand_chacha-0.3.1.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__rand_core-0.6.3",
+ sha256 = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/rand_core/0.6.3/download"],
+ strip_prefix = "rand_core-0.6.3",
+ build_file = Label("@examples//vendor_external/crates:BUILD.rand_core-0.6.3.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__regex-1.5.6",
+ sha256 = "d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/regex/1.5.6/download"],
+ strip_prefix = "regex-1.5.6",
+ build_file = Label("@examples//vendor_external/crates:BUILD.regex-1.5.6.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__regex-syntax-0.6.26",
+ sha256 = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/regex-syntax/0.6.26/download"],
+ strip_prefix = "regex-syntax-0.6.26",
+ build_file = Label("@examples//vendor_external/crates:BUILD.regex-syntax-0.6.26.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__semver-1.0.9",
+ sha256 = "8cb243bdfdb5936c8dc3c45762a19d12ab4550cdc753bc247637d4ec35a040fd",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/semver/1.0.9/download"],
+ strip_prefix = "semver-1.0.9",
+ build_file = Label("@examples//vendor_external/crates:BUILD.semver-1.0.9.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__serde-1.0.137",
+ sha256 = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/serde/1.0.137/download"],
+ strip_prefix = "serde-1.0.137",
+ build_file = Label("@examples//vendor_external/crates:BUILD.serde-1.0.137.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__strsim-0.10.0",
+ sha256 = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/strsim/0.10.0/download"],
+ strip_prefix = "strsim-0.10.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.strsim-0.10.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__syn-1.0.96",
+ sha256 = "0748dd251e24453cb8717f0354206b91557e4ec8703673a4b30208f2abaf1ebf",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/syn/1.0.96/download"],
+ strip_prefix = "syn-1.0.96",
+ build_file = Label("@examples//vendor_external/crates:BUILD.syn-1.0.96.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__termcolor-1.1.3",
+ sha256 = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/termcolor/1.1.3/download"],
+ strip_prefix = "termcolor-1.1.3",
+ build_file = Label("@examples//vendor_external/crates:BUILD.termcolor-1.1.3.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__textwrap-0.15.0",
+ sha256 = "b1141d4d61095b28419e22cb0bbf02755f5e54e0526f97f1e3d1d160e60885fb",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/textwrap/0.15.0/download"],
+ strip_prefix = "textwrap-0.15.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.textwrap-0.15.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__tinyvec-1.6.0",
+ sha256 = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/tinyvec/1.6.0/download"],
+ strip_prefix = "tinyvec-1.6.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.tinyvec-1.6.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__tinyvec_macros-0.1.0",
+ sha256 = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/tinyvec_macros/0.1.0/download"],
+ strip_prefix = "tinyvec_macros-0.1.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.tinyvec_macros-0.1.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__toml-0.5.9",
+ sha256 = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/toml/0.5.9/download"],
+ strip_prefix = "toml-0.5.9",
+ build_file = Label("@examples//vendor_external/crates:BUILD.toml-0.5.9.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__unicase-2.6.0",
+ sha256 = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/unicase/2.6.0/download"],
+ strip_prefix = "unicase-2.6.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.unicase-2.6.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__unicode-bidi-0.3.8",
+ sha256 = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/unicode-bidi/0.3.8/download"],
+ strip_prefix = "unicode-bidi-0.3.8",
+ build_file = Label("@examples//vendor_external/crates:BUILD.unicode-bidi-0.3.8.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__unicode-ident-1.0.0",
+ sha256 = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/unicode-ident/1.0.0/download"],
+ strip_prefix = "unicode-ident-1.0.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.unicode-ident-1.0.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__unicode-normalization-0.1.19",
+ sha256 = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/unicode-normalization/0.1.19/download"],
+ strip_prefix = "unicode-normalization-0.1.19",
+ build_file = Label("@examples//vendor_external/crates:BUILD.unicode-normalization-0.1.19.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__url-2.2.2",
+ sha256 = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/url/2.2.2/download"],
+ strip_prefix = "url-2.2.2",
+ build_file = Label("@examples//vendor_external/crates:BUILD.url-2.2.2.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__version-sync-0.9.4",
+ sha256 = "99d0801cec07737d88cb900e6419f6f68733867f90b3faaa837e84692e101bf0",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/version-sync/0.9.4/download"],
+ strip_prefix = "version-sync-0.9.4",
+ build_file = Label("@examples//vendor_external/crates:BUILD.version-sync-0.9.4.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__version_check-0.9.4",
+ sha256 = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/version_check/0.9.4/download"],
+ strip_prefix = "version_check-0.9.4",
+ build_file = Label("@examples//vendor_external/crates:BUILD.version_check-0.9.4.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__wasi-0.10.2-wasi-snapshot-preview1",
+ sha256 = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/wasi/0.10.2+wasi-snapshot-preview1/download"],
+ strip_prefix = "wasi-0.10.2+wasi-snapshot-preview1",
+ build_file = Label("@examples//vendor_external/crates:BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__winapi-0.3.9",
+ sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/winapi/0.3.9/download"],
+ strip_prefix = "winapi-0.3.9",
+ build_file = Label("@examples//vendor_external/crates:BUILD.winapi-0.3.9.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__winapi-i686-pc-windows-gnu-0.4.0",
+ sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download"],
+ strip_prefix = "winapi-i686-pc-windows-gnu-0.4.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__winapi-util-0.1.5",
+ sha256 = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/winapi-util/0.1.5/download"],
+ strip_prefix = "winapi-util-0.1.5",
+ build_file = Label("@examples//vendor_external/crates:BUILD.winapi-util-0.1.5.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "crates_vendor__winapi-x86_64-pc-windows-gnu-0.4.0",
+ sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download"],
+ strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0",
+ build_file = Label("@examples//vendor_external/crates:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"),
+ )
diff --git a/examples/crate_universe/vendor_external/remote_crate_test.rs b/examples/crate_universe/vendor_external/remote_crate_test.rs
new file mode 100644
index 0000000..f25340a
--- /dev/null
+++ b/examples/crate_universe/vendor_external/remote_crate_test.rs
@@ -0,0 +1,18 @@
+//! A Test module confirming the functionality of `cargo->bazel` with remote crates.
+
+use std::path::PathBuf;
+use std::process::Command;
+
+#[test]
+fn test_executable() {
+ let exe = PathBuf::from(env!("EXECUTABLE"));
+
+ let output = Command::new(exe)
+ .arg("--help")
+ .output()
+ .expect("Failed to run executable");
+
+ let text = String::from_utf8(output.stdout).unwrap();
+
+ assert!(text.contains("A random name generator with results like"));
+}