Squashed 'third_party/rules_rust/' changes from bf59038cac..078c6908fc
078c6908fc add cc_common.link support for rust_library and rust_test (#1490)
c07aef0287 Skip supplying rpaths on Fuchsia (#1511)
6ee7c80bdb Propagate rustc_env{,_files} from rust_test.crate (#1443)
1cd0788d2a Apply get_lib_name correctly to the C++ runtime libraries (#1508)
90808f0dc4 Minor cleanup to documentation (#1505)
735640f2df Enable rust-analyzer tests on windows. (#1506)
0f34573166 Updated rules_rust to version 0.9.0 (#1503)
9b61b49934 Promoted crate_universe to non-experimental (#1504)
76360dd354 Implement rules archive release artifact in github action. (#1501)
4e5fac5980 Do not pass `--Clink-arg=-l` for libstd and libtest (#1500)
6c38934636 pipelining: add the ability to disable pipelining for a single rule. (#1499)
867fc37c17 rules_rust: enable pipelined compilation. (#1275)
c97f255dfe Delete deprecated targets (#1496)
43b42884a7 Updated examples to use crate_universe (#1494)
0ffde973e8 Updated `//util/import` to use crate_universe (#1492)
83a03ab03e Updated proto rules to fetch dependencies using crate_universe (#1491)
67e204ff22 fix: `rust_doc_test` failure to find params file (#1418)
0fc834bdfa Updated all toolchain_type definitions to be named `toolchain_type`. (#1479)
3be056a7a3 toolchain files: ensure test depends on std (#1486)
228ebfa6eb Updated rules_rust to version `0.8.1`. (#1484)
685dfda497 Fixed use of rust-analyzer with rust_static_library and rust_shared_library (#1482)
2d7f94543f Fix rust-analyzer being unable to find rust sysroot sources. (#1483)
81a77acde2 Updated rules_rust to version `0.8.0`. (#1472)
caad908848 Give useful error on missing workspace manifest (#1475)
0e86b9dd30 Added `rust_analyzer_toolchain` and repository rules for creating one (#1455)
838e4ea828 Update docs on lockfiles (#1477)
fce1222628 Fix typo in function name (#1478)
1929bfbc3e Added Rust version 1.62.1 (#1476)
9a8e878d3d Fix `rust_binary_without_process_wrapper` build with `--stamp` (#1473)
25baabc205 Updated bindgen version (#1470)
8c9d5c7051 Updated rust-analyzer generator to use clap (#1471)
6d8009dbc8 Update `//bindgen` to use `crate_universe` (#1440)
67c97d44ff Updated `tools/rust_analyzer` to use `crate_universe`. (#1448)
6c285eb28e Updated `wasm_bindgen` rules dependencies. (#1464)
82a437cc17 Fixed crate_universe lockfile checks for crates_repository rule (#1468)
e83d5f3c77 Limit coverage to requested files (#1467)
daff327ea7 Stamp only binaries by default (#1452)
adc80a301d Cleanup crate_universe dependency macros (#1460)
824b121acc Updated header of crate_universe generated files to include a regen command (#1461)
d44e1d8363 feat: add `rustc_flags` attr to `rust_doc` rule (#1458)
6b54feb0ff add a way to distinguish proc-macro deps (#1420)
6070b3c9f4 Fixed missing items in distro artifact (#1450)
1e83e74159 do not add proc-macro deps to transitive_link_search_paths (#1424)
ced94dec1b Fix @libgit2 (#1457)
03d1d5e4ac Add extra_rustc_flag and extra_exec_rustc_flag (#1413)
711adc7985 crate_universe: shorten `crate_universe_crate_index` to `cui` (#1454)
8cb9247f18 Replaced small genrules with uses of bazel_skylib (#1451)
38e841aece Upgrade stardoc (#1444)
674762f66a Updated toolchain repository rules to represent one toolchain per repo (#1442)
b22a6e1416 Re-enable disabled windows jobs in CI (#1353)
2fb94c48fd docs: Update homepage to use latest version (#1441)
389c58fcb1 Updated rules_rust to version `0.7.0`. (#1436)
60f26d49d8 exclude `BUILD` and `WORKSPACE` files from generated crate_universe targets (#1437)
26344d4cd7 Have rust_test put its compilation outputs in a subdirectory (#1434)
8b0f644122 Updated crate_universe version to `0.4.0`. (#1435)
adf92b1534 update crate_universe `--repin` args to not require values. (#1433)
da75146d0a Do not attempt to instrument rust code for coverage if rust_toolchain.llvm-cov is None (#1432)
bde2c36821 Added Rust 1.62.0 (#1427)
7056f22bd0 Fixed crate_universe not finding target library names for "rlib"s (#1429)
3d65214d23 crate_universe support for individually updating packages. (#1426)
5a9d999db9 Updated `attr.label` attribute defaults to use `Label` constructor (#1422)
52fc70145a Added `TemplateVariableInfo` to `rust_toolchain`. (#1416)
7465c1aa29 Add test coverage support (#1324)
c5c3603da6 Bump the min supported bazel version (#1414)
937bdc9d05 Add a `cargo_dep_env` rule for setting build.rs environment variables (#1415)
91466fc0d1 Updated `rules_rust` version to `0.6.0`. (#1397)
97264b79d5 Update wasm_bindgen to use crate universe. (#1398)
d3197a65c5 Updated crate_universe version (to `0.3.0`) and dependencies (#1409)
a15e67d666 Deleted "extra workspace member" functionality from crate_universe (#1406)
5910a7585a Use a vec, not set for rustc_flags for crate_universe annotations (#1404)
3aa88ab067 Deleted deprecated `rust_analyzer` rule. (#1405)
7adf7210d0 cargo: Fix handling of relative sysroots (#1371)
57607239ec Enable rustfmt CI for Windows. (#1403)
30e68b49be Added more "ignore" tags to rustfmt and clippy rules. (#1400)
53ad14eead Added support for vendoring external manifests (#1381)
ff243c6ef0 Reorganized rustfmt source tree (#1399)
94e0044afe Refactored the Rustfmt tool to work cross-platform (#1375)
8fca438124 Ran clang-format on all C++ sources (#1396)
e765719e29 Added TemplateVariableInfo to rust_toolchain (#1377)
81590f4b6a Fixed Clippy bug with `--@rules_rust//:clippy_flags`. (#1392)
d77b9f7c6a Use `target_compatible_with` to make `macos` with `Xcode` happy (#1391)
ec27dbe310 Added comments to internal function (#1378)
a9dd2f9200 Removed deprecated file (#1380)
16175c881c Renamed toolchain files targets (#1376)
c7cb5bd7a8 Support crates that have mix of generated and nongenerated inputs (#1340)
521e649ff4 Avoid using common substrings as encodings. (#1370)
28ac6b133d Use a more compact encoding in the `import` macro. (#1365)
3a099bfa97 Fix incorrect assertion in test_env_launcher test (#1368)
4661093fb1 Use target instead of rule in rust_register_toolchains edition docs (#1366)
652f2802e3 Add `env` attribute to `rust_toolchain`. (#1363)
9520f37f1e Update rules_perl in examples (#1364)
1b451c301e Add armv7-linux-androideabi tier 2 triple (#1362)
0265c293f1 Ensure crate_features to be included correctly in rust_project.json (#1356)
121d65fe6a Updated `rules_rust` version to `0.5.0` (#1360)
aca4ec1a0f crate_universe: fix typo (#1314)
69ca2611c5 Don't leak native dependencies of proc_macro (#1359)
4c7f08b8b9 Fixed missing docs (#1358)
e48bec94de feat: build script toolchains annotations (#1344)
ffb946f4b7 Ensure memchr is linked after libobject (#1349)
edca1d8042 Add developing notes for crate_universe (#1351)
120f911d2f Updated rust_bindgen dependencies API (#1354)
42c4528a5f Added Rust 1.61.0 (#1347)
c05e0c6ab1 Fixed fetch_shas script to correctly include .gz and .xz extensions (#1355)
9770b0dd75 Update apple_support (#1346)
87eb807e67 Added support for Rust 1.61.0 to crate_universe (#1348)
84c1d42128 Temporarily disable windows job in CI. (#1352)
421d30e4ff Remove unnecessary `crate_name` usage in `rust_test_suite`. (#1345)
10185339dd Build `rust_test` targets with `crate` using the same crate name as the underlying library target. (#1332)
0049ce3884 Add support for riscv32 targets (#1323)
3aa6de3c63 remove experimental_use_whole_archive_for_native_deps (#1338)
a066bfed46 Replace slashes with underscores in default crate names. (#1336)
1b91e592d5 Revert "Replace slashes with underscores in default crate names. (#1334)" (#1335)
51f8e302e9 "sandwich" rlibs between native deps in linker order (#1333)
df354904a1 Replace slashes with underscores in default crate names. (#1334)
21eed19188 Bump version to 0.4.0 (#1329)
d3d9abac4d Support . workspace member (#1326)
fccaae3055 Error calling `all_crate_deps` without `Cargo.toml` (#1327)
d7c532cb78 Updated wasm_bindgen dependencies API (#1313)
fb4d5546ea Updated wasm_bindgen rules to only require core `rules_nodejs` rules (#1311)
1590670ae1 Prevents running of clippy on bindgen targets (#1320)
73d0164a34 Add support for aarch64-apple-ios-sim (#1304)
61eee54c73 Add bazel-* directories in cargo_manifest_dir/external_crate to gitignore (#1279)
42f78f25e1 crate_universe: Improved documentation (#1305)
bddc4bd94a Silence warnings for example/test dependencies (#1312)
b04fe3b21f Use tinyjson from crates.io instead of github.com. (#1309)
1cab691d14 Remove doc about STATIC_RUST_URL env var. (#1306)
d86e06a884 Don't propagate non-shared transitive linker inputs from `rust_static|shared_library` (#1299)
5abeb93333 Don't emit `CrateInfo` from `rust_static_library` and `rust_shared_library` (#1298)
0175a1b7aa fix for using a nightly channel after https://github.com/bazelbuild/rules_rust/commit/841fc6fb82141576d91aecb1d3f2656d58b0ab71 (#1302)
e07881fa22 Updated crate_universe docs (#1301)
c63ad973f1 rustc: fix a conditional (#1300)
a6f332fcbe Use __EXEC_ROOT__ paths for genfiles in rust_analyzer aspect (#1293)
97de47df51 Remove 'triple' field from triple struct in favor of 'str' (#1297)
58627f59eb Make get_host_triple public to get a triple from Bazel's repository_ctx (#1289)
612f4362bc Updated `rules_rust` version to `0.3.1` (#1296)
26fa5a15de Fixed build issues in release artifact (#1295)
48bb32f817 crate_universe: Added tests for serialized config files. (#1291)
841fc6fb82 Enable xz archives (#1284)
f7cb22efa6 feat(#514): pass extra flags to clippy (#1264)
e9f8b48711 Updated `rules_rust` version to `0.3.0` (#1288)
c900e1c66c Revert "Add workaround for arm vs armv7 android issue (#1259)" (#1290)
01ebef2fb9 Remove DEFAULT_RUST_EDITION (#1256)
03a70796ab Outside of examples, fill in all `edition` attrs (#1257)
207ee4fbcf feat: support extra deps in rust_doc_test (#1286)
4e7d114a8e Fix typo in render config doc (#1281)
db17f291d3 Fix crate annotation anchor (#1282)
fdb6851a92 Fix target name in `rust_test` example. (#1280)
4fb6e40147 Don't leak additive build file content across crates (#1278)
965044ae2b Remove `rust_test` example which doesn't build. (#1267)
f6e7e0a93f add a stopgap experimental_use_whole_archive_for_native_deps attribute (#1269)
34fd46756a process_wrapper: add support for terminating rustc after it emits rmeta. (#1207)
b778fca0ac crate_universe: propagate build_script_tools (#1266)
f6f27a8734 Add workaround for arm vs armv7 android issue (#1259)
c3f56c2d50 Add the BUILD.bazel file to the wasm_bindgen distro filegroup target (#1246) (#1261)
1f2e6231de Set edition for process_wrapper and cargo_build_script_runner (#1254)
55790492ac Updated Rust to 1.60.0 (#1247)
b594f90f17 Workaround for issue in linux Cargo binaries (#1252)
8f0dd9042e rust_test_suite: ensure crate names are valid (#1248)
4144ddeb9c Updating `rules_rust` version to `0.2.1` (#1243)
65cad76a52 Fixed proto package in release artifact (#1241)
4d8de6e361 Updated repository pin in the docs (#1240)
e5a3970754 Updating `rules_rust` version to `0.2.0` (#1235)
d061bf640e Updated `crate_universe` version to `0.2.0` (#1239)
c0505da0d2 Replace `rust_repositories` with `rust_register_toolchains` in docs (#1237)
145ad7609f Fixed `crates_repository` deleting `.cargo/config.toml` files. (#1227)
20066b05e2 fix: distribute `//tools/rust_analyzer` (#1234)
b58ce89603 Enabled `rust_doc_test` for `crate_universe` (#1232)
d2e2470cbf Fix some unit tests to run from another workspace (#1226)
b03aee039a Fixed `crate_universe` clippy defects (#1228)
41b39f0c99 add bots using lld (and examples with clang as a drive by) (#1221)
84e98e4d2f don't emit --codegen={metadata,extra-filename} for rust_static_library and rust_shared_library (#1222)
e48c834a40 Renamed `crate_index` repository to `crate_universe_crate_index` (#1217)
99b4b2574f fix use of stamping in rust_binary_without_process_wrapper (#1218)
8df4517d37 Add NUM_JOBS env var to cargo build scripts (#1216)
628e85e70f Restrucutred `crate_universe` dependency macros (#1208)
e3d67a0a10 Updated docs to guide users to using releases (#1213)
fd912e644c Updated crate_universe docs. (#1212)
cde4c0826c Delete deprecated `rules` targets (#1210)
26e01c8386 cache the release archive in release actions (#1201)
3205c9d846 Updated crate_universe setup guide (#1202)
c078494678 Don't leak deps from rust_proc_macro (#1206)
7c865ffeb1 Build `_import_macro_dep` in `exec` mode (#1203)
635da93206 Updating `rules_rust` version to `0.1.0`. (#1198)
6c797c9070 disable advanced features of C++ rules (#1200)
86d47a1bba Tweak import macro bootstrap to trick rust analyzer aspect (#1179)
80d197205a Added release workflow (#1195)
cd44b3670a Added support for producing distribution archives (#1194)
a665447989 Traverse custom alias-like rules in the rust analyzer aspect (#1190)
4504983fa9 Add a test showing that rust_analayzer aspect traverses aliases (#1188)
297dd18215 Updated `crate_universe` to version `0.1.0`. (#1197)
0d9c7d5e1b Specify root target for rust_analyzer test (#1189)
4a0352fecd Updated `crate_universe` dependencies (#1196)
5126479254 Fixed crate_universe release tools (#1193)
e840400eb6 Remove last remains of use_process_wrapper flag. (#1192)
eb7db68d96 Fix iOS linker arguments (#1186)
de726a10c9 Create internal rust_binary rule instead of using transitions (#1187)
5e6ad9f638 Regenerated `cargo-raze` outputs with v0.15.0 (#1184)
980b662843 add static_library to get_preferred_artifact with pic (#1183)
97fd329540 Populate CFLAGS and CXXFLAGS when invoking build script. (#1081)
git-subtree-dir: third_party/rules_rust
git-subtree-split: 078c6908fc32c168b58e72cc3884dd8e30419e3a
Signed-off-by: Brian Silverman <bsilver16384@gmail.com>
Change-Id: Ifc218edaa852263bd76835ee7de44de07c08aec2
diff --git a/util/BUILD.bazel b/util/BUILD.bazel
index 217f1db..8502870 100644
--- a/util/BUILD.bazel
+++ b/util/BUILD.bazel
@@ -1,4 +1,11 @@
sh_binary(
name = "fetch_shas",
srcs = ["fetch_shas.sh"],
+ tags = ["manual"],
+)
+
+filegroup(
+ name = "collect_coverage",
+ srcs = ["collect_coverage.sh"],
+ visibility = ["//visibility:public"],
)
diff --git a/util/collect_coverage.sh b/util/collect_coverage.sh
new file mode 100755
index 0000000..328a5c6
--- /dev/null
+++ b/util/collect_coverage.sh
@@ -0,0 +1,25 @@
+#!/usr/bin/env bash
+
+set -euo pipefail
+
+if [[ -n "${VERBOSE_COVERAGE:-}" ]]; then
+ set -x
+fi
+
+readonly profdata_file=$COVERAGE_DIR/coverage.profdata
+
+"$RUNFILES_DIR/$TEST_WORKSPACE/$RUST_LLVM_PROFDATA" \
+ merge \
+ --sparse "$COVERAGE_DIR"/*.profraw \
+ -output "$profdata_file"
+
+"$RUNFILES_DIR/$TEST_WORKSPACE/$RUST_LLVM_COV" \
+ export \
+ -format=lcov \
+ -instr-profile "$profdata_file" \
+ -ignore-filename-regex='.*external/.+' \
+ -ignore-filename-regex='/tmp/.+' \
+ -path-equivalence=.,"$ROOT" \
+ "$RUNFILES_DIR/$TEST_WORKSPACE/$TEST_BINARY" \
+ @"$COVERAGE_MANIFEST" \
+ | sed 's#/proc/self/cwd/##' > "$COVERAGE_OUTPUT_FILE"
diff --git a/util/fetch_shas.sh b/util/fetch_shas.sh
index 2a538c1..50fe137 100755
--- a/util/fetch_shas.sh
+++ b/util/fetch_shas.sh
@@ -18,7 +18,12 @@
BETA_ISO_DATES="$(cat "${BUILD_WORKSPACE_DIRECTORY}/util/fetch_shas_BETA_ISO_DATES.txt")"
NIGHTLY_ISO_DATES="$(cat "${BUILD_WORKSPACE_DIRECTORY}/util/fetch_shas_NIGHTLY_ISO_DATES.txt")"
-enumerate_keys() {
+EXTENSIONS=(
+ tar.gz
+ tar.xz
+)
+
+function enumerate_keys() {
for TOOL in $TOOLS
do
for TARGET in $TARGETS
@@ -49,12 +54,29 @@
done
}
-emit_bzl_file_contents() {
- echo "$@" \
- | parallel --trim lr -d ' ' --will-cite 'printf "%s %s\n", {}, $(curl --fail https://static.rust-lang.org/dist/{}.tar.gz.sha256 | cut -f1 -d" ")' \
- | sed "s/,//g" \
- | grep -v " $" \
- > /tmp/reload_shas_shalist.txt
+function emit_bzl_file_contents() {
+ local out_dir="${TMPDIR}/outs"
+ mkdir "${out_dir}"
+
+ echo "--parallel" >> "${TMPDIR}/curl_config"
+ echo "--fail" >> "${TMPDIR}/curl_config"
+ echo "--silent" >> "${TMPDIR}/curl_config"
+ echo "--create-dirs" >> "${TMPDIR}/curl_config"
+ for key in "$@"; do
+ for ext in "${EXTENSIONS[@]}"; do
+ echo "--output ${out_dir}/${key}.${ext}" >> "${TMPDIR}/curl_config"
+ echo "--url https://static.rust-lang.org/dist/${key}.${ext}.sha256" >> "${TMPDIR}/curl_config"
+ done
+ done
+ curl --config "${TMPDIR}/curl_config"
+
+ pushd "${out_dir}" > /dev/null
+ for file in $(find . -type f)
+ do
+ echo "$(echo ${file} | sed 's|./||') $(cat ${file} | awk '{ print $1 }')" >> "${TMPDIR}/shas.txt"
+ done
+
+ popd > /dev/null
echo "\"\"\"A module containing a mapping of Rust tools to checksums"
echo ""
@@ -62,9 +84,12 @@
echo "\"\"\""
echo ""
echo "FILE_KEY_TO_SHA = {"
- cat /tmp/reload_shas_shalist.txt | sed '/^[[:space:]]*$/d' | sort | awk '{print " \"" $1 "\": \"" $2 "\","}'
+ cat "${TMPDIR}/shas.txt" | sed '/^[[:space:]]*$/d' | sort | awk '{print " \"" $1 "\": \"" $2 "\","}'
echo "}"
- rm /tmp/reload_shas_shalist.txt
}
+export TMPDIR="$(mktemp -d -t bazel_reload_shas_shalists)"
+echo "Fetching known shas..."
echo "$(emit_bzl_file_contents $(enumerate_keys))" > "${BUILD_WORKSPACE_DIRECTORY}/rust/known_shas.bzl"
+echo "Done"
+rm -rf "${TMPDIR}"
diff --git a/util/fetch_shas_NIGHTLY_ISO_DATES.txt b/util/fetch_shas_NIGHTLY_ISO_DATES.txt
index 2d9a94e..ce46ada 100644
--- a/util/fetch_shas_NIGHTLY_ISO_DATES.txt
+++ b/util/fetch_shas_NIGHTLY_ISO_DATES.txt
@@ -12,3 +12,7 @@
2022-01-12
2022-01-19
2022-02-23
+2022-04-06
+2022-05-19
+2022-06-30
+2022-07-18
diff --git a/util/fetch_shas_VERSIONS.txt b/util/fetch_shas_VERSIONS.txt
index 18ad30c..26ef26d 100644
--- a/util/fetch_shas_VERSIONS.txt
+++ b/util/fetch_shas_VERSIONS.txt
@@ -43,3 +43,7 @@
1.58.0
1.58.1
1.59.0
+1.60.0
+1.61.0
+1.62.0
+1.62.1
diff --git a/util/import/3rdparty/BUILD.bazel b/util/import/3rdparty/BUILD.bazel
new file mode 100644
index 0000000..cb29b20
--- /dev/null
+++ b/util/import/3rdparty/BUILD.bazel
@@ -0,0 +1,40 @@
+load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
+load("//crate_universe:defs.bzl", "crate", "crates_vendor")
+
+crates_vendor(
+ name = "crates_vendor",
+ cargo_lockfile = "Cargo.Bazel.lock",
+ generate_build_scripts = True,
+ mode = "remote",
+ packages = {
+ "aho-corasick": crate.spec(
+ version = "=0.7.15",
+ ),
+ "lazy_static": crate.spec(
+ version = "=1.4.0",
+ ),
+ "proc-macro2": crate.spec(
+ version = "=1.0.33",
+ ),
+ "quickcheck": crate.spec(
+ version = "=1.0.3",
+ ),
+ "quote": crate.spec(
+ version = "=1.0.10",
+ ),
+ "syn": crate.spec(
+ version = "=1.0.82",
+ ),
+ },
+ repository_name = "rules_rust_util_import",
+ tags = ["manual"],
+)
+
+bzl_library(
+ name = "bzl_lib",
+ srcs = glob(["**/*.bzl"]) + [
+ "//util/import/3rdparty/crates:defs.bzl",
+ "//util/import/3rdparty/crates:crates.bzl",
+ ],
+ visibility = ["//util/import:__pkg__"],
+)
diff --git a/util/import/raze/Cargo.raze.lock b/util/import/3rdparty/Cargo.Bazel.lock
similarity index 79%
rename from util/import/raze/Cargo.raze.lock
rename to util/import/3rdparty/Cargo.Bazel.lock
index 72b143b..102e136 100644
--- a/util/import/raze/Cargo.raze.lock
+++ b/util/import/3rdparty/Cargo.Bazel.lock
@@ -1,5 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
+version = 3
+
[[package]]
name = "aho-corasick"
version = "0.7.15"
@@ -16,8 +18,8 @@
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
-name = "compile_with_bazel"
-version = "0.0.0"
+name = "direct-cargo-bazel-deps"
+version = "0.0.1"
dependencies = [
"aho-corasick",
"lazy_static",
@@ -39,9 +41,9 @@
[[package]]
name = "getrandom"
-version = "0.2.3"
+version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
+checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
dependencies = [
"cfg-if",
"libc",
@@ -56,24 +58,24 @@
[[package]]
name = "libc"
-version = "0.2.112"
+version = "0.2.126"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125"
+checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
[[package]]
name = "log"
-version = "0.4.14"
+version = "0.4.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
dependencies = [
"cfg-if",
]
[[package]]
name = "memchr"
-version = "2.4.1"
+version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]]
name = "proc-macro2"
@@ -106,9 +108,9 @@
[[package]]
name = "rand"
-version = "0.8.4"
+version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
+checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
dependencies = [
"rand_core",
]
@@ -135,9 +137,9 @@
[[package]]
name = "regex-syntax"
-version = "0.6.25"
+version = "0.6.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
+checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
[[package]]
name = "syn"
@@ -152,12 +154,12 @@
[[package]]
name = "unicode-xid"
-version = "0.2.2"
+version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
+checksum = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04"
[[package]]
name = "wasi"
-version = "0.10.2+wasi-snapshot-preview1"
+version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
diff --git a/util/import/3rdparty/crates/BUILD.aho-corasick-0.7.15.bazel b/util/import/3rdparty/crates/BUILD.aho-corasick-0.7.15.bazel
new file mode 100644
index 0000000..e502cde
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.aho-corasick-0.7.15.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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 = "aho_corasick",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + 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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.7.15",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@rules_rust_util_import__memchr-2.5.0//:memchr",
+ ],
+ }),
+)
diff --git a/util/import/3rdparty/crates/BUILD.bazel b/util/import/3rdparty/crates/BUILD.bazel
new file mode 100644
index 0000000..4674880
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.bazel
@@ -0,0 +1,66 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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 = "aho-corasick",
+ actual = "@rules_rust_util_import__aho-corasick-0.7.15//:aho_corasick",
+ tags = ["manual"],
+)
+
+alias(
+ name = "lazy_static",
+ actual = "@rules_rust_util_import__lazy_static-1.4.0//:lazy_static",
+ tags = ["manual"],
+)
+
+alias(
+ name = "proc-macro2",
+ actual = "@rules_rust_util_import__proc-macro2-1.0.33//:proc_macro2",
+ tags = ["manual"],
+)
+
+alias(
+ name = "quickcheck",
+ actual = "@rules_rust_util_import__quickcheck-1.0.3//:quickcheck",
+ tags = ["manual"],
+)
+
+alias(
+ name = "quote",
+ actual = "@rules_rust_util_import__quote-1.0.10//:quote",
+ tags = ["manual"],
+)
+
+alias(
+ name = "syn",
+ actual = "@rules_rust_util_import__syn-1.0.82//:syn",
+ tags = ["manual"],
+)
+
+# Binaries
diff --git a/util/import/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel b/util/import/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
new file mode 100644
index 0000000..33352ad
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.cfg-if-1.0.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + 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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.0.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/util/import/3rdparty/crates/BUILD.env_logger-0.8.4.bazel b/util/import/3rdparty/crates/BUILD.env_logger-0.8.4.bazel
new file mode 100644
index 0000000..4bab83f
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.env_logger-0.8.4.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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 = "env_logger",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "regex",
+ ],
+ 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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.8.4",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@rules_rust_util_import__log-0.4.17//:log",
+ "@rules_rust_util_import__regex-1.4.6//:regex",
+ ],
+ }),
+)
diff --git a/util/import/3rdparty/crates/BUILD.getrandom-0.2.7.bazel b/util/import/3rdparty/crates/BUILD.getrandom-0.2.7.bazel
new file mode 100644
index 0000000..533dc8c
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.getrandom-0.2.7.bazel
@@ -0,0 +1,129 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + 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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.2.7",
+ deps = [
+ ] + select_with_or({
+ # cfg(target_os = "wasi")
+ (
+ "@rules_rust//rust/platform:wasm32-wasi",
+ ): [
+ # Target Deps
+ "@rules_rust_util_import__wasi-0.11.0-wasi-snapshot-preview1//:wasi",
+
+ # Common Deps
+ "@rules_rust_util_import__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
+ "@rules_rust_util_import__libc-0.2.126//:libc",
+
+ # Common Deps
+ "@rules_rust_util_import__cfg-if-1.0.0//:cfg_if",
+ ],
+ "//conditions:default": [
+ "@rules_rust_util_import__cfg-if-1.0.0//:cfg_if",
+ ],
+ }),
+)
diff --git a/util/import/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel b/util/import/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel
new file mode 100644
index 0000000..9c7761e
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.lazy_static-1.4.0.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + 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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.4.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/util/import/3rdparty/crates/BUILD.libc-0.2.126.bazel b/util/import/3rdparty/crates/BUILD.libc-0.2.126.bazel
new file mode 100644
index 0000000..723908e
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.libc-0.2.126.bazel
@@ -0,0 +1,174 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + 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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.2.126",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@rules_rust_util_import__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",
+ ],
+ 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/util/import/3rdparty/crates/BUILD.log-0.4.17.bazel b/util/import/3rdparty/crates/BUILD.log-0.4.17.bazel
new file mode 100644
index 0000000..a9f2f72
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.log-0.4.17.bazel
@@ -0,0 +1,177 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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 = "log",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.4.17",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@rules_rust_util_import__cfg-if-1.0.0//:cfg_if",
+ "@rules_rust_util_import__log-0.4.17//:build_script_build",
+ ],
+ }),
+)
+
+cargo_build_script(
+ # See comment associated with alias. Do not change this name
+ name = "log_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 = "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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "0.4.17",
+ 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 = "log_build_script",
+ tags = [
+ "manual",
+ ],
+)
diff --git a/util/import/3rdparty/crates/BUILD.memchr-2.5.0.bazel b/util/import/3rdparty/crates/BUILD.memchr-2.5.0.bazel
new file mode 100644
index 0000000..4880289
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.memchr-2.5.0.bazel
@@ -0,0 +1,180 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "std",
+ "use_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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "2.5.0",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@rules_rust_util_import__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",
+ "use_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",
+ ],
+ 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/util/import/3rdparty/crates/BUILD.proc-macro2-1.0.33.bazel b/util/import/3rdparty/crates/BUILD.proc-macro2-1.0.33.bazel
new file mode 100644
index 0000000..85ab9a4
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.proc-macro2-1.0.33.bazel
@@ -0,0 +1,179 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + 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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.0.33",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@rules_rust_util_import__proc-macro2-1.0.33//:build_script_build",
+ "@rules_rust_util_import__unicode-xid-0.2.3//:unicode_xid",
+ ],
+ }),
+)
+
+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",
+ ],
+ 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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "1.0.33",
+ 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/util/import/3rdparty/crates/BUILD.quickcheck-1.0.3.bazel b/util/import/3rdparty/crates/BUILD.quickcheck-1.0.3.bazel
new file mode 100644
index 0000000..d516d60
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.quickcheck-1.0.3.bazel
@@ -0,0 +1,98 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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 = "quickcheck",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ "env_logger",
+ "log",
+ "regex",
+ "use_logging",
+ ],
+ 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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.0.3",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@rules_rust_util_import__env_logger-0.8.4//:env_logger",
+ "@rules_rust_util_import__log-0.4.17//:log",
+ "@rules_rust_util_import__rand-0.8.5//:rand",
+ ],
+ }),
+)
diff --git a/util/import/3rdparty/crates/BUILD.quote-1.0.10.bazel b/util/import/3rdparty/crates/BUILD.quote-1.0.10.bazel
new file mode 100644
index 0000000..c94b5b5
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.quote-1.0.10.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + 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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.0.10",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@rules_rust_util_import__proc-macro2-1.0.33//:proc_macro2",
+ ],
+ }),
+)
diff --git a/util/import/3rdparty/crates/BUILD.rand-0.8.5.bazel b/util/import/3rdparty/crates/BUILD.rand-0.8.5.bazel
new file mode 100644
index 0000000..890cfd6
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.rand-0.8.5.bazel
@@ -0,0 +1,93 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "getrandom",
+ "small_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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.8.5",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@rules_rust_util_import__rand_core-0.6.3//:rand_core",
+ ],
+ }),
+)
diff --git a/util/import/3rdparty/crates/BUILD.rand_core-0.6.3.bazel b/util/import/3rdparty/crates/BUILD.rand_core-0.6.3.bazel
new file mode 100644
index 0000000..6376096
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.rand_core-0.6.3.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "getrandom",
+ ],
+ 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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.6.3",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@rules_rust_util_import__getrandom-0.2.7//:getrandom",
+ ],
+ }),
+)
diff --git a/util/import/3rdparty/crates/BUILD.regex-1.4.6.bazel b/util/import/3rdparty/crates/BUILD.regex-1.4.6.bazel
new file mode 100644
index 0000000..4968002
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.regex-1.4.6.bazel
@@ -0,0 +1,101 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "aho-corasick",
+ "memchr",
+ "perf",
+ "perf-cache",
+ "perf-dfa",
+ "perf-inline",
+ "perf-literal",
+ "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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.4.6",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@rules_rust_util_import__aho-corasick-0.7.15//:aho_corasick",
+ "@rules_rust_util_import__memchr-2.5.0//:memchr",
+ "@rules_rust_util_import__regex-syntax-0.6.27//:regex_syntax",
+ ],
+ }),
+)
diff --git a/util/import/3rdparty/crates/BUILD.regex-syntax-0.6.27.bazel b/util/import/3rdparty/crates/BUILD.regex-syntax-0.6.27.bazel
new file mode 100644
index 0000000..cadf7fe
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.regex-syntax-0.6.27.bazel
@@ -0,0 +1,90 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + 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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.6.27",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/util/import/3rdparty/crates/BUILD.syn-1.0.82.bazel b/util/import/3rdparty/crates/BUILD.syn-1.0.82.bazel
new file mode 100644
index 0000000..c2cc5c8
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.syn-1.0.82.bazel
@@ -0,0 +1,191 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "clone-impls",
+ "default",
+ "derive",
+ "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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "1.0.82",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ "@rules_rust_util_import__proc-macro2-1.0.33//:proc_macro2",
+ "@rules_rust_util_import__quote-1.0.10//:quote",
+ "@rules_rust_util_import__syn-1.0.82//:build_script_build",
+ "@rules_rust_util_import__unicode-xid-0.2.3//:unicode_xid",
+ ],
+ }),
+)
+
+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",
+ "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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ tools = select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ version = "1.0.82",
+ 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/util/import/3rdparty/crates/BUILD.unicode-xid-0.2.3.bazel b/util/import/3rdparty/crates/BUILD.unicode-xid-0.2.3.bazel
new file mode 100644
index 0000000..5405857
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.unicode-xid-0.2.3.bazel
@@ -0,0 +1,91 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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_xid",
+ srcs = glob(
+ include = [
+ "**/*.rs",
+ ],
+ exclude = [
+ ],
+ ),
+ aliases = selects.with_or({
+ "//conditions:default": {
+ },
+ }),
+ compile_data = glob(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+ crate_features = [
+ "default",
+ ],
+ 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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.2.3",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/util/import/3rdparty/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel b/util/import/3rdparty/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
new file mode 100644
index 0000000..02de946
--- /dev/null
+++ b/util/import/3rdparty/crates/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel
@@ -0,0 +1,92 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+
+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(
+ include = ["**"],
+ exclude = [
+ "BUILD",
+ "BUILD.bazel",
+ "WORKSPACE",
+ "WORKSPACE.bazel",
+ ],
+ ) + 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",
+ ],
+ tags = [
+ "cargo-bazel",
+ "manual",
+ "noclippy",
+ "norustfmt",
+ ],
+ version = "0.11.0+wasi-snapshot-preview1",
+ deps = [
+ ] + select_with_or({
+ "//conditions:default": [
+ ],
+ }),
+)
diff --git a/util/import/3rdparty/crates/crates.bzl b/util/import/3rdparty/crates/crates.bzl
new file mode 100644
index 0000000..fc608af
--- /dev/null
+++ b/util/import/3rdparty/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("@rules_rust//crate_universe/private:crates_vendor.bzl", "crates_vendor_remote_repository")
+
+# buildifier: disable=bzl-visibility
+load("@rules_rust//util/import/3rdparty/crates:defs.bzl", _crate_repositories = "crate_repositories")
+
+def crate_repositories():
+ maybe(
+ crates_vendor_remote_repository,
+ name = "rules_rust_util_import",
+ build_file = Label("@rules_rust//util/import/3rdparty/crates:BUILD.bazel"),
+ defs_module = Label("@rules_rust//util/import/3rdparty/crates:defs.bzl"),
+ )
+
+ _crate_repositories()
diff --git a/util/import/3rdparty/crates/defs.bzl b/util/import/3rdparty/crates/defs.bzl
new file mode 100644
index 0000000..8bf2778
--- /dev/null
+++ b/util/import/3rdparty/crates/defs.bzl
@@ -0,0 +1,548 @@
+###############################################################################
+# @generated
+# DO NOT MODIFY: This file is auto-generated by a crate_universe tool. To
+# regenerate this file, run the following:
+#
+# bazel run //util/import/3rdparty:crates_vendor
+###############################################################################
+"""
+# `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: {
+ "aho-corasick": "@rules_rust_util_import__aho-corasick-0.7.15//:aho_corasick",
+ "lazy_static": "@rules_rust_util_import__lazy_static-1.4.0//:lazy_static",
+ "proc-macro2": "@rules_rust_util_import__proc-macro2-1.0.33//:proc_macro2",
+ "quickcheck": "@rules_rust_util_import__quickcheck-1.0.3//:quickcheck",
+ "quote": "@rules_rust_util_import__quote-1.0.10//:quote",
+ "syn": "@rules_rust_util_import__syn-1.0.82//:syn",
+ },
+ },
+}
+
+_NORMAL_ALIASES = {
+ "": {
+ _COMMON_CONDITION: {
+ },
+ },
+}
+
+_NORMAL_DEV_DEPENDENCIES = {
+ "": {
+ },
+}
+
+_NORMAL_DEV_ALIASES = {
+ "": {
+ },
+}
+
+_PROC_MACRO_DEPENDENCIES = {
+ "": {
+ },
+}
+
+_PROC_MACRO_ALIASES = {
+ "": {
+ },
+}
+
+_PROC_MACRO_DEV_DEPENDENCIES = {
+ "": {
+ },
+}
+
+_PROC_MACRO_DEV_ALIASES = {
+ "": {
+ },
+}
+
+_BUILD_DEPENDENCIES = {
+ "": {
+ },
+}
+
+_BUILD_ALIASES = {
+ "": {
+ },
+}
+
+_BUILD_PROC_MACRO_DEPENDENCIES = {
+ "": {
+ },
+}
+
+_BUILD_PROC_MACRO_ALIASES = {
+ "": {
+ },
+}
+
+_CONDITIONS = {
+ "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"],
+}
+
+###############################################################################
+
+def crate_repositories():
+ """A macro for defining repositories for all generated crates"""
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__aho-corasick-0.7.15",
+ sha256 = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/aho-corasick/0.7.15/download"],
+ strip_prefix = "aho-corasick-0.7.15",
+ build_file = Label("@rules_rust//util/import/3rdparty/crates:BUILD.aho-corasick-0.7.15.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__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("@rules_rust//util/import/3rdparty/crates:BUILD.cfg-if-1.0.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__env_logger-0.8.4",
+ sha256 = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/env_logger/0.8.4/download"],
+ strip_prefix = "env_logger-0.8.4",
+ build_file = Label("@rules_rust//util/import/3rdparty/crates:BUILD.env_logger-0.8.4.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__getrandom-0.2.7",
+ sha256 = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/getrandom/0.2.7/download"],
+ strip_prefix = "getrandom-0.2.7",
+ build_file = Label("@rules_rust//util/import/3rdparty/crates:BUILD.getrandom-0.2.7.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__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("@rules_rust//util/import/3rdparty/crates:BUILD.lazy_static-1.4.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__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("@rules_rust//util/import/3rdparty/crates:BUILD.libc-0.2.126.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__log-0.4.17",
+ sha256 = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/log/0.4.17/download"],
+ strip_prefix = "log-0.4.17",
+ build_file = Label("@rules_rust//util/import/3rdparty/crates:BUILD.log-0.4.17.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__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("@rules_rust//util/import/3rdparty/crates:BUILD.memchr-2.5.0.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__proc-macro2-1.0.33",
+ sha256 = "fb37d2df5df740e582f28f8560cf425f52bb267d872fe58358eadb554909f07a",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/proc-macro2/1.0.33/download"],
+ strip_prefix = "proc-macro2-1.0.33",
+ build_file = Label("@rules_rust//util/import/3rdparty/crates:BUILD.proc-macro2-1.0.33.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__quickcheck-1.0.3",
+ sha256 = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/quickcheck/1.0.3/download"],
+ strip_prefix = "quickcheck-1.0.3",
+ build_file = Label("@rules_rust//util/import/3rdparty/crates:BUILD.quickcheck-1.0.3.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__quote-1.0.10",
+ sha256 = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/quote/1.0.10/download"],
+ strip_prefix = "quote-1.0.10",
+ build_file = Label("@rules_rust//util/import/3rdparty/crates:BUILD.quote-1.0.10.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__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("@rules_rust//util/import/3rdparty/crates:BUILD.rand-0.8.5.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__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("@rules_rust//util/import/3rdparty/crates:BUILD.rand_core-0.6.3.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__regex-1.4.6",
+ sha256 = "2a26af418b574bd56588335b3a3659a65725d4e636eb1016c2f9e3b38c7cc759",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/regex/1.4.6/download"],
+ strip_prefix = "regex-1.4.6",
+ build_file = Label("@rules_rust//util/import/3rdparty/crates:BUILD.regex-1.4.6.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__regex-syntax-0.6.27",
+ sha256 = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/regex-syntax/0.6.27/download"],
+ strip_prefix = "regex-syntax-0.6.27",
+ build_file = Label("@rules_rust//util/import/3rdparty/crates:BUILD.regex-syntax-0.6.27.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__syn-1.0.82",
+ sha256 = "8daf5dd0bb60cbd4137b1b587d2fc0ae729bc07cf01cd70b36a1ed5ade3b9d59",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/syn/1.0.82/download"],
+ strip_prefix = "syn-1.0.82",
+ build_file = Label("@rules_rust//util/import/3rdparty/crates:BUILD.syn-1.0.82.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__unicode-xid-0.2.3",
+ sha256 = "957e51f3646910546462e67d5f7599b9e4fb8acdd304b087a6494730f9eebf04",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/unicode-xid/0.2.3/download"],
+ strip_prefix = "unicode-xid-0.2.3",
+ build_file = Label("@rules_rust//util/import/3rdparty/crates:BUILD.unicode-xid-0.2.3.bazel"),
+ )
+
+ maybe(
+ http_archive,
+ name = "rules_rust_util_import__wasi-0.11.0-wasi-snapshot-preview1",
+ sha256 = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423",
+ type = "tar.gz",
+ urls = ["https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download"],
+ strip_prefix = "wasi-0.11.0+wasi-snapshot-preview1",
+ build_file = Label("@rules_rust//util/import/3rdparty/crates:BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel"),
+ )
diff --git a/util/import/BUILD.bazel b/util/import/BUILD.bazel
index 7cb0395..898a82f 100644
--- a/util/import/BUILD.bazel
+++ b/util/import/BUILD.bazel
@@ -1,11 +1,12 @@
+load("@rules_cc//cc:defs.bzl", "cc_binary")
load("//rust:defs.bzl", "rust_library", "rust_proc_macro", "rust_test")
# buildifier: disable=bzl-visibility
-load("//rust/private:transitions.bzl", "with_import_macro_bootstrapping_mode")
+load("//rust/private:transitions.bzl", "alias_with_import_macro_bootstrapping_mode")
-with_import_macro_bootstrapping_mode(
+alias_with_import_macro_bootstrapping_mode(
name = "import_macro",
- target = "import_macro_impl",
+ actual = ":import_macro_impl",
)
rust_proc_macro(
@@ -14,9 +15,10 @@
"import.rs",
],
crate_name = "import",
+ edition = "2018",
deps = [
":import_internal",
- "//util/import/raze:syn",
+ "//util/import/3rdparty/crates:syn",
],
)
@@ -25,12 +27,13 @@
srcs = [
"import_internal.rs",
],
+ edition = "2018",
deps = [
- "//util/import/raze:aho_corasick",
- "//util/import/raze:lazy_static",
- "//util/import/raze:proc_macro2",
- "//util/import/raze:quote",
- "//util/import/raze:syn",
+ "//util/import/3rdparty/crates:aho-corasick",
+ "//util/import/3rdparty/crates:lazy_static",
+ "//util/import/3rdparty/crates:proc-macro2",
+ "//util/import/3rdparty/crates:quote",
+ "//util/import/3rdparty/crates:syn",
"//util/label",
],
)
@@ -38,8 +41,9 @@
rust_test(
name = "import_internal_test",
crate = ":import_internal",
+ edition = "2018",
deps = [
- "//util/import/raze:quickcheck",
+ "//util/import/3rdparty/crates:quickcheck",
],
)
@@ -67,7 +71,7 @@
},
)
-sh_binary(
+cc_binary(
name = "fake_import_macro_impl",
- srcs = ["fake_import_macro_impl.sh"],
+ srcs = ["fake_import_macro_impl.cc"],
)
diff --git a/util/import/deps.bzl b/util/import/deps.bzl
index be49b06..ffce2b3 100644
--- a/util/import/deps.bzl
+++ b/util/import/deps.bzl
@@ -2,10 +2,10 @@
The dependencies for running the gen_rust_project binary.
"""
-load("//util/import/raze:crates.bzl", "rules_rust_util_import_fetch_remote_crates")
+load("//util/import/3rdparty/crates:defs.bzl", "crate_repositories")
def import_deps():
- rules_rust_util_import_fetch_remote_crates()
+ crate_repositories()
# For legacy support
gen_rust_project_dependencies = import_deps
diff --git a/util/import/fake_import_macro_impl.cc b/util/import/fake_import_macro_impl.cc
new file mode 100755
index 0000000..5b0b32a
--- /dev/null
+++ b/util/import/fake_import_macro_impl.cc
@@ -0,0 +1,3 @@
+//! A noop import macro handler.
+
+int main(int argc, char** argv) { return 0; }
diff --git a/util/import/fake_import_macro_impl.sh b/util/import/fake_import_macro_impl.sh
deleted file mode 100755
index 1fa77d8..0000000
--- a/util/import/fake_import_macro_impl.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-# Does nothing.
\ No newline at end of file
diff --git a/util/import/import_internal.rs b/util/import/import_internal.rs
index 1d44fe6..8b6e061 100644
--- a/util/import/import_internal.rs
+++ b/util/import/import_internal.rs
@@ -73,6 +73,43 @@
}
lazy_static! {
+ // The (unencoded, encoded) pairings here must match those in
+ // //rust/private/utils.bzl exactly.
+ static ref ENCODINGS: Vec<(&'static str, &'static str)> =
+ vec![
+ (":", "x"),
+ ("!", "excl"),
+ ("%", "prc"),
+ ("@", "ao"),
+ ("^", "caret"),
+ ("`", "bt"),
+ (" ", "sp"),
+ ("\"", "dq"),
+ ("#", "octo"),
+ ("$", "dllr"),
+ ("&", "amp"),
+ ("'", "sq"),
+ ("(", "lp"),
+ (")", "rp"),
+ ("*", "astr"),
+ ("-", "d"),
+ ("+", "pl"),
+ (",", "cm"),
+ (";", "sm"),
+ ("<", "la"),
+ ("=", "eq"),
+ (">", "ra"),
+ ("?", "qm"),
+ ("[", "lbk"),
+ ("]", "rbk"),
+ ("{", "lbe"),
+ ("|", "pp"),
+ ("}", "rbe"),
+ ("~", "td"),
+ ("/", "y"),
+ (".", "pd"),
+ ];
+
// Transformations are stored as "(unencoded, encoded)" tuples.
// Target names can include:
// !%-@^_` "#$&'()*-+,;<=>?[]{|}~/.
@@ -81,44 +118,11 @@
//
// Packages and targets are separated by colons.
static ref SUBSTITUTIONS: (Vec<String>, Vec<String>) =
- iter::once(("_quote".to_string(), "_quotequote_".to_string()))
- .chain(
- vec![
- (":", "colon"),
- ("!", "bang"),
- ("%", "percent"),
- ("@", "at"),
- ("^", "caret"),
- ("`", "backtick"),
- (" ", "space"),
- ("\"", "quote"),
- ("#", "hash"),
- ("$", "dollar"),
- ("&", "ampersand"),
- ("'", "backslash"),
- ("(", "lparen"),
- (")", "rparen"),
- ("*", "star"),
- ("-", "dash"),
- ("+", "plus"),
- (",", "comma"),
- (";", "semicolon"),
- ("<", "langle"),
- ("=", "equal"),
- (">", "rangle"),
- ("?", "question"),
- ("[", "lbracket"),
- ("]", "rbracket"),
- ("{", "lbrace"),
- ("|", "pipe"),
- ("}", "rbrace"),
- ("~", "tilde"),
- ("/", "slash"),
- (".", "dot"),
- ].into_iter()
+ iter::once(("_z".to_string(), "_zz_".to_string()))
+ .chain(ENCODINGS.iter()
.flat_map(|pair| {
vec![
- (format!("_{}_", &pair.1), format!("_quote{}_", &pair.1)),
+ (format!("_{}_", &pair.1), format!("_z{}_", &pair.1)),
(pair.0.to_string(), format!("_{}_", &pair.1)),
].into_iter()
})
@@ -307,42 +311,42 @@
let expanded = expand_imports(parse_quote! { "//some_project:utils"; }, &mode)?;
assert_eq!(
expanded.to_string(),
- "extern crate some_project_colon_utils as utils ;"
+ "extern crate some_project_x_utils as utils ;"
);
// Package and a target, with a no-op alias.
let expanded = expand_imports(parse_quote! { "//some_project:utils" as utils; }, &mode)?;
assert_eq!(
expanded.to_string(),
- "extern crate some_project_colon_utils as utils ;"
+ "extern crate some_project_x_utils as utils ;"
);
// Package and a target, with an alias.
let expanded = expand_imports(parse_quote! { "//some_project:utils" as my_utils; }, &mode)?;
assert_eq!(
expanded.to_string(),
- "extern crate some_project_colon_utils as my_utils ;"
+ "extern crate some_project_x_utils as my_utils ;"
);
// Package and an implicit target.
let expanded = expand_imports(parse_quote! { "//some_project/utils"; }, &mode)?;
assert_eq!(
expanded.to_string(),
- "extern crate some_project_slash_utils_colon_utils as utils ;"
+ "extern crate some_project_y_utils_x_utils as utils ;"
);
// Package and an implicit target, with a no-op alias.
let expanded = expand_imports(parse_quote! { "//some_project/utils" as utils; }, &mode)?;
assert_eq!(
expanded.to_string(),
- "extern crate some_project_slash_utils_colon_utils as utils ;"
+ "extern crate some_project_y_utils_x_utils as utils ;"
);
// Package and an implicit target, with an alias.
let expanded = expand_imports(parse_quote! { "//some_project/utils" as my_utils; }, &mode)?;
assert_eq!(
expanded.to_string(),
- "extern crate some_project_slash_utils_colon_utils as my_utils ;"
+ "extern crate some_project_y_utils_x_utils as my_utils ;"
);
// A third-party target.
@@ -371,14 +375,14 @@
)?;
assert_eq!(
expanded.to_string(),
- "extern crate some_project_colon_utils as utils ; extern crate serde ;"
+ "extern crate some_project_x_utils as utils ; extern crate serde ;"
);
// Problematic target name.
let expanded = expand_imports(parse_quote! { "//some_project:thing-types"; }, &mode)?;
assert_eq!(
expanded.to_string(),
- "extern crate some_project_colon_thing_dash_types as thing_dash_types ;"
+ "extern crate some_project_x_thing_d_types as thing_d_types ;"
);
// Problematic target name with alias.
@@ -388,14 +392,14 @@
)?;
assert_eq!(
expanded.to_string(),
- "extern crate some_project_colon_thing_dash_types as types ;"
+ "extern crate some_project_x_thing_d_types as types ;"
);
// Problematic package name.
let expanded = expand_imports(parse_quote! { "//some_project-prototype:utils"; }, &mode)?;
assert_eq!(
expanded.to_string(),
- "extern crate some_project_dash_prototype_colon_utils as utils ;"
+ "extern crate some_project_d_prototype_x_utils as utils ;"
);
// Problematic package and target names.
@@ -405,7 +409,7 @@
)?;
assert_eq!(
expanded.to_string(),
- "extern crate some_project_dash_prototype_colon_thing_dash_types as thing_dash_types ;"
+ "extern crate some_project_d_prototype_x_thing_d_types as thing_d_types ;"
);
Ok(())
@@ -522,17 +526,41 @@
}
#[test]
+ fn test_substitutions_concatenate() -> Result<()> {
+ // Every combination of orig + orig, orig + encoded, encoded + orig, and
+ // encoded + encoded round trips the encoding successfully.
+ for s in SUBSTITUTIONS.0.iter().chain(SUBSTITUTIONS.1.iter()) {
+ for t in SUBSTITUTIONS.0.iter().chain(SUBSTITUTIONS.1.iter()) {
+ let concatenated = format!("{}{}", s, t);
+ assert_eq!(&decode(&encode(&concatenated)), &concatenated);
+ }
+ }
+
+ Ok(())
+ }
+
+ #[test]
fn test_encode() -> Result<()> {
- assert_eq!(encode("some_project:utils"), "some_project_colon_utils");
- assert_eq!(&encode("_quotedot_"), "_quotequote_dot_");
+ assert_eq!(encode("some_project:utils"), "some_project_x_utils");
+ assert_eq!(&encode("_zpd_"), "_zz_pd_");
+
+ // All the encodings should be what we expect.
+ for (orig, encoded) in SUBSTITUTIONS.0.iter().zip(SUBSTITUTIONS.1.iter()) {
+ assert_eq!(&encode(orig), encoded);
+ }
Ok(())
}
#[test]
fn test_decode() -> Result<()> {
- assert_eq!(decode("some_project_colon_utils"), "some_project:utils");
- assert_eq!(decode("_quotequote_dot_"), "_quotedot_");
+ assert_eq!(decode("some_project_x_utils"), "some_project:utils");
+ assert_eq!(decode("_zz_pd_"), "_zpd_");
+
+ // All the decodings should be what we expect.
+ for (orig, encoded) in SUBSTITUTIONS.0.iter().zip(SUBSTITUTIONS.1.iter()) {
+ assert_eq!(&decode(encoded), orig);
+ }
Ok(())
}
diff --git a/util/import/raze/BUILD.bazel b/util/import/raze/BUILD.bazel
deleted file mode 100644
index 2f14d0e..0000000
--- a/util/import/raze/BUILD.bazel
+++ /dev/null
@@ -1,75 +0,0 @@
-"""
-@generated
-cargo-raze generated Bazel file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-package(default_visibility = ["//visibility:public"])
-
-licenses([
- "notice", # See individual crates for specific licenses
-])
-
-# Aliased targets
-alias(
- name = "aho_corasick",
- actual = "@rules_rust_util_import__aho_corasick__0_7_15//:aho_corasick",
- tags = [
- "cargo-raze",
- "manual",
- ],
-)
-
-alias(
- name = "lazy_static",
- actual = "@rules_rust_util_import__lazy_static__1_4_0//:lazy_static",
- tags = [
- "cargo-raze",
- "manual",
- ],
-)
-
-alias(
- name = "proc_macro2",
- actual = "@rules_rust_util_import__proc_macro2__1_0_33//:proc_macro2",
- tags = [
- "cargo-raze",
- "manual",
- ],
-)
-
-alias(
- name = "quickcheck",
- actual = "@rules_rust_util_import__quickcheck__1_0_3//:quickcheck",
- tags = [
- "cargo-raze",
- "manual",
- ],
-)
-
-alias(
- name = "quote",
- actual = "@rules_rust_util_import__quote__1_0_10//:quote",
- tags = [
- "cargo-raze",
- "manual",
- ],
-)
-
-alias(
- name = "syn",
- actual = "@rules_rust_util_import__syn__1_0_82//:syn",
- tags = [
- "cargo-raze",
- "manual",
- ],
-)
-
-# Export file for Stardoc support
-exports_files(
- [
- "crates.bzl",
- ],
- visibility = ["//visibility:public"],
-)
diff --git a/util/import/raze/Cargo.toml b/util/import/raze/Cargo.toml
deleted file mode 100644
index b942944..0000000
--- a/util/import/raze/Cargo.toml
+++ /dev/null
@@ -1,25 +0,0 @@
-[package]
-name = "compile_with_bazel"
-version = "0.0.0"
-
-# Mandatory (or Cargo tooling is unhappy)
-[lib]
-path = "fake_lib.rs"
-
-[dependencies]
-aho-corasick = "=0.7.15"
-lazy_static = "=1.4.0"
-proc-macro2 = "=1.0.33"
-quote = "=1.0.10"
-syn = "=1.0.82"
-
-[dev-dependencies]
-quickcheck = "=1.0.3"
-
-[package.metadata.raze]
-genmode = "Remote"
-workspace_path = "//util/import/raze"
-gen_workspace_prefix = "rules_rust_util_import"
-rust_rules_workspace_name = "rules_rust"
-package_aliases_dir = "."
-default_gen_buildrs = true
\ No newline at end of file
diff --git a/util/import/raze/crates.bzl b/util/import/raze/crates.bzl
deleted file mode 100644
index 7da9f98..0000000
--- a/util/import/raze/crates.bzl
+++ /dev/null
@@ -1,192 +0,0 @@
-"""
-@generated
-cargo-raze generated Bazel file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository") # buildifier: disable=load
-load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") # buildifier: disable=load
-load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") # buildifier: disable=load
-
-def rules_rust_util_import_fetch_remote_crates():
- """This function defines a collection of repos and should be called in a WORKSPACE file"""
- maybe(
- http_archive,
- name = "rules_rust_util_import__aho_corasick__0_7_15",
- url = "https://crates.io/api/v1/crates/aho-corasick/0.7.15/download",
- type = "tar.gz",
- sha256 = "7404febffaa47dac81aa44dba71523c9d069b1bdc50a77db41195149e17f68e5",
- strip_prefix = "aho-corasick-0.7.15",
- build_file = Label("//util/import/raze/remote:BUILD.aho-corasick-0.7.15.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__cfg_if__1_0_0",
- url = "https://crates.io/api/v1/crates/cfg-if/1.0.0/download",
- type = "tar.gz",
- sha256 = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd",
- strip_prefix = "cfg-if-1.0.0",
- build_file = Label("//util/import/raze/remote:BUILD.cfg-if-1.0.0.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__env_logger__0_8_4",
- url = "https://crates.io/api/v1/crates/env_logger/0.8.4/download",
- type = "tar.gz",
- sha256 = "a19187fea3ac7e84da7dacf48de0c45d63c6a76f9490dae389aead16c243fce3",
- strip_prefix = "env_logger-0.8.4",
- build_file = Label("//util/import/raze/remote:BUILD.env_logger-0.8.4.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__getrandom__0_2_3",
- url = "https://crates.io/api/v1/crates/getrandom/0.2.3/download",
- type = "tar.gz",
- sha256 = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753",
- strip_prefix = "getrandom-0.2.3",
- build_file = Label("//util/import/raze/remote:BUILD.getrandom-0.2.3.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__lazy_static__1_4_0",
- url = "https://crates.io/api/v1/crates/lazy_static/1.4.0/download",
- type = "tar.gz",
- sha256 = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646",
- strip_prefix = "lazy_static-1.4.0",
- build_file = Label("//util/import/raze/remote:BUILD.lazy_static-1.4.0.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__libc__0_2_112",
- url = "https://crates.io/api/v1/crates/libc/0.2.112/download",
- type = "tar.gz",
- sha256 = "1b03d17f364a3a042d5e5d46b053bbbf82c92c9430c592dd4c064dc6ee997125",
- strip_prefix = "libc-0.2.112",
- build_file = Label("//util/import/raze/remote:BUILD.libc-0.2.112.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__log__0_4_14",
- url = "https://crates.io/api/v1/crates/log/0.4.14/download",
- type = "tar.gz",
- sha256 = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710",
- strip_prefix = "log-0.4.14",
- build_file = Label("//util/import/raze/remote:BUILD.log-0.4.14.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__memchr__2_4_1",
- url = "https://crates.io/api/v1/crates/memchr/2.4.1/download",
- type = "tar.gz",
- sha256 = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a",
- strip_prefix = "memchr-2.4.1",
- build_file = Label("//util/import/raze/remote:BUILD.memchr-2.4.1.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__proc_macro2__1_0_33",
- url = "https://crates.io/api/v1/crates/proc-macro2/1.0.33/download",
- type = "tar.gz",
- sha256 = "fb37d2df5df740e582f28f8560cf425f52bb267d872fe58358eadb554909f07a",
- strip_prefix = "proc-macro2-1.0.33",
- build_file = Label("//util/import/raze/remote:BUILD.proc-macro2-1.0.33.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__quickcheck__1_0_3",
- url = "https://crates.io/api/v1/crates/quickcheck/1.0.3/download",
- type = "tar.gz",
- sha256 = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6",
- strip_prefix = "quickcheck-1.0.3",
- build_file = Label("//util/import/raze/remote:BUILD.quickcheck-1.0.3.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__quote__1_0_10",
- url = "https://crates.io/api/v1/crates/quote/1.0.10/download",
- type = "tar.gz",
- sha256 = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05",
- strip_prefix = "quote-1.0.10",
- build_file = Label("//util/import/raze/remote:BUILD.quote-1.0.10.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__rand__0_8_4",
- url = "https://crates.io/api/v1/crates/rand/0.8.4/download",
- type = "tar.gz",
- sha256 = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8",
- strip_prefix = "rand-0.8.4",
- build_file = Label("//util/import/raze/remote:BUILD.rand-0.8.4.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__rand_core__0_6_3",
- url = "https://crates.io/api/v1/crates/rand_core/0.6.3/download",
- type = "tar.gz",
- sha256 = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7",
- strip_prefix = "rand_core-0.6.3",
- build_file = Label("//util/import/raze/remote:BUILD.rand_core-0.6.3.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__regex__1_4_6",
- url = "https://crates.io/api/v1/crates/regex/1.4.6/download",
- type = "tar.gz",
- sha256 = "2a26af418b574bd56588335b3a3659a65725d4e636eb1016c2f9e3b38c7cc759",
- strip_prefix = "regex-1.4.6",
- build_file = Label("//util/import/raze/remote:BUILD.regex-1.4.6.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__regex_syntax__0_6_25",
- url = "https://crates.io/api/v1/crates/regex-syntax/0.6.25/download",
- type = "tar.gz",
- sha256 = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b",
- strip_prefix = "regex-syntax-0.6.25",
- build_file = Label("//util/import/raze/remote:BUILD.regex-syntax-0.6.25.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__syn__1_0_82",
- url = "https://crates.io/api/v1/crates/syn/1.0.82/download",
- type = "tar.gz",
- sha256 = "8daf5dd0bb60cbd4137b1b587d2fc0ae729bc07cf01cd70b36a1ed5ade3b9d59",
- strip_prefix = "syn-1.0.82",
- build_file = Label("//util/import/raze/remote:BUILD.syn-1.0.82.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__unicode_xid__0_2_2",
- url = "https://crates.io/api/v1/crates/unicode-xid/0.2.2/download",
- type = "tar.gz",
- sha256 = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3",
- strip_prefix = "unicode-xid-0.2.2",
- build_file = Label("//util/import/raze/remote:BUILD.unicode-xid-0.2.2.bazel"),
- )
-
- maybe(
- http_archive,
- name = "rules_rust_util_import__wasi__0_10_2_wasi_snapshot_preview1",
- url = "https://crates.io/api/v1/crates/wasi/0.10.2+wasi-snapshot-preview1/download",
- type = "tar.gz",
- sha256 = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6",
- strip_prefix = "wasi-0.10.2+wasi-snapshot-preview1",
- build_file = Label("//util/import/raze/remote:BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel"),
- )
diff --git a/util/import/raze/remote/BUILD.aho-corasick-0.7.15.bazel b/util/import/raze/remote/BUILD.aho-corasick-0.7.15.bazel
deleted file mode 100644
index 4fc8c0d..0000000
--- a/util/import/raze/remote/BUILD.aho-corasick-0.7.15.bazel
+++ /dev/null
@@ -1,57 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "unencumbered", # Unlicense from expression "Unlicense OR MIT"
-])
-
-# Generated Targets
-
-rust_library(
- name = "aho_corasick",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- "default",
- "std",
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2015",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=aho_corasick",
- "manual",
- ],
- version = "0.7.15",
- # buildifier: leave-alone
- deps = [
- "@rules_rust_util_import__memchr__2_4_1//:memchr",
- ],
-)
diff --git a/util/import/raze/remote/BUILD.bazel b/util/import/raze/remote/BUILD.bazel
deleted file mode 100644
index e69de29..0000000
--- a/util/import/raze/remote/BUILD.bazel
+++ /dev/null
diff --git a/util/import/raze/remote/BUILD.cfg-if-1.0.0.bazel b/util/import/raze/remote/BUILD.cfg-if-1.0.0.bazel
deleted file mode 100644
index 1a5adcf..0000000
--- a/util/import/raze/remote/BUILD.cfg-if-1.0.0.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "notice", # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
- name = "cfg_if",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2018",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=cfg-if",
- "manual",
- ],
- version = "1.0.0",
- # buildifier: leave-alone
- deps = [
- ],
-)
-
-# Unsupported target "xcrate" with type "test" omitted
diff --git a/util/import/raze/remote/BUILD.env_logger-0.8.4.bazel b/util/import/raze/remote/BUILD.env_logger-0.8.4.bazel
deleted file mode 100644
index a04b02c..0000000
--- a/util/import/raze/remote/BUILD.env_logger-0.8.4.bazel
+++ /dev/null
@@ -1,65 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "notice", # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
- name = "env_logger",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- "regex",
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2018",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=env_logger",
- "manual",
- ],
- version = "0.8.4",
- # buildifier: leave-alone
- deps = [
- "@rules_rust_util_import__log__0_4_14//:log",
- "@rules_rust_util_import__regex__1_4_6//:regex",
- ],
-)
-
-# Unsupported target "init-twice-retains-filter" with type "test" omitted
-
-# Unsupported target "log-in-log" with type "test" omitted
-
-# Unsupported target "log_tls_dtors" with type "test" omitted
-
-# Unsupported target "regexp_filter" with type "test" omitted
diff --git a/util/import/raze/remote/BUILD.getrandom-0.2.3.bazel b/util/import/raze/remote/BUILD.getrandom-0.2.3.bazel
deleted file mode 100644
index 8333757..0000000
--- a/util/import/raze/remote/BUILD.getrandom-0.2.3.bazel
+++ /dev/null
@@ -1,96 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "notice", # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "mod" with type "bench" omitted
-
-rust_library(
- name = "getrandom",
- srcs = glob(["**/*.rs"]),
- aliases = {
- },
- crate_features = [
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2018",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=getrandom",
- "manual",
- ],
- version = "0.2.3",
- # buildifier: leave-alone
- deps = [
- "@rules_rust_util_import__cfg_if__1_0_0//:cfg_if",
- ] + selects.with_or({
- # cfg(target_os = "wasi")
- (
- "@rules_rust//rust/platform:wasm32-wasi",
- ): [
- "@rules_rust_util_import__wasi__0_10_2_wasi_snapshot_preview1//:wasi",
- ],
- "//conditions:default": [],
- }) + selects.with_or({
- # cfg(unix)
- (
- "@rules_rust//rust/platform:i686-apple-darwin",
- "@rules_rust//rust/platform:i686-unknown-linux-gnu",
- "@rules_rust//rust/platform:x86_64-apple-darwin",
- "@rules_rust//rust/platform:x86_64-unknown-linux-gnu",
- "@rules_rust//rust/platform:aarch64-apple-darwin",
- "@rules_rust//rust/platform:aarch64-apple-ios",
- "@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:i686-linux-android",
- "@rules_rust//rust/platform:i686-unknown-freebsd",
- "@rules_rust//rust/platform:powerpc-unknown-linux-gnu",
- "@rules_rust//rust/platform:s390x-unknown-linux-gnu",
- "@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_util_import__libc__0_2_112//:libc",
- ],
- "//conditions:default": [],
- }),
-)
-
-# Unsupported target "custom" with type "test" omitted
-
-# Unsupported target "normal" with type "test" omitted
-
-# Unsupported target "rdrand" with type "test" omitted
diff --git a/util/import/raze/remote/BUILD.lazy_static-1.4.0.bazel b/util/import/raze/remote/BUILD.lazy_static-1.4.0.bazel
deleted file mode 100644
index 5542226..0000000
--- a/util/import/raze/remote/BUILD.lazy_static-1.4.0.bazel
+++ /dev/null
@@ -1,58 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "notice", # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
- name = "lazy_static",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2015",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=lazy_static",
- "manual",
- ],
- version = "1.4.0",
- # buildifier: leave-alone
- deps = [
- ],
-)
-
-# Unsupported target "no_std" with type "test" omitted
-
-# Unsupported target "test" with type "test" omitted
diff --git a/util/import/raze/remote/BUILD.libc-0.2.112.bazel b/util/import/raze/remote/BUILD.libc-0.2.112.bazel
deleted file mode 100644
index 2d8a3fe..0000000
--- a/util/import/raze/remote/BUILD.libc-0.2.112.bazel
+++ /dev/null
@@ -1,86 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "notice", # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-# buildifier: disable=out-of-order-load
-# buildifier: disable=load-on-top
-load(
- "@rules_rust//cargo:cargo_build_script.bzl",
- "cargo_build_script",
-)
-
-cargo_build_script(
- name = "libc_build_script",
- srcs = glob(["**/*.rs"]),
- build_script_env = {
- },
- crate_features = [
- ],
- crate_root = "build.rs",
- data = glob(["**"]),
- edition = "2015",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "manual",
- ],
- version = "0.2.112",
- visibility = ["//visibility:private"],
- deps = [
- ],
-)
-
-rust_library(
- name = "libc",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2015",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=libc",
- "manual",
- ],
- version = "0.2.112",
- # buildifier: leave-alone
- deps = [
- ":libc_build_script",
- ],
-)
-
-# Unsupported target "const_fn" with type "test" omitted
diff --git a/util/import/raze/remote/BUILD.log-0.4.14.bazel b/util/import/raze/remote/BUILD.log-0.4.14.bazel
deleted file mode 100644
index 02efe53..0000000
--- a/util/import/raze/remote/BUILD.log-0.4.14.bazel
+++ /dev/null
@@ -1,93 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "notice", # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-# buildifier: disable=out-of-order-load
-# buildifier: disable=load-on-top
-load(
- "@rules_rust//cargo:cargo_build_script.bzl",
- "cargo_build_script",
-)
-
-cargo_build_script(
- name = "log_build_script",
- srcs = glob(["**/*.rs"]),
- build_script_env = {
- },
- crate_features = [
- "std",
- ],
- crate_root = "build.rs",
- data = glob(["**"]),
- edition = "2015",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "manual",
- ],
- version = "0.4.14",
- visibility = ["//visibility:private"],
- deps = [
- ],
-)
-
-# Unsupported target "value" with type "bench" omitted
-
-rust_library(
- name = "log",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- "std",
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2015",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=log",
- "manual",
- ],
- version = "0.4.14",
- # buildifier: leave-alone
- deps = [
- ":log_build_script",
- "@rules_rust_util_import__cfg_if__1_0_0//:cfg_if",
- ],
-)
-
-# Unsupported target "filters" with type "test" omitted
-
-# Unsupported target "macros" with type "test" omitted
diff --git a/util/import/raze/remote/BUILD.memchr-2.4.1.bazel b/util/import/raze/remote/BUILD.memchr-2.4.1.bazel
deleted file mode 100644
index c8e37c3..0000000
--- a/util/import/raze/remote/BUILD.memchr-2.4.1.bazel
+++ /dev/null
@@ -1,90 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "unencumbered", # Unlicense from expression "Unlicense OR MIT"
-])
-
-# Generated Targets
-# buildifier: disable=out-of-order-load
-# buildifier: disable=load-on-top
-load(
- "@rules_rust//cargo:cargo_build_script.bzl",
- "cargo_build_script",
-)
-
-cargo_build_script(
- name = "memchr_build_script",
- srcs = glob(["**/*.rs"]),
- build_script_env = {
- },
- crate_features = [
- "default",
- "std",
- "use_std",
- ],
- crate_root = "build.rs",
- data = glob(["**"]),
- edition = "2018",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "manual",
- ],
- version = "2.4.1",
- visibility = ["//visibility:private"],
- deps = [
- ],
-)
-
-rust_library(
- name = "memchr",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- "default",
- "std",
- "use_std",
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2018",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=memchr",
- "manual",
- ],
- version = "2.4.1",
- # buildifier: leave-alone
- deps = [
- ":memchr_build_script",
- ],
-)
diff --git a/util/import/raze/remote/BUILD.proc-macro2-1.0.33.bazel b/util/import/raze/remote/BUILD.proc-macro2-1.0.33.bazel
deleted file mode 100644
index 0e479f2..0000000
--- a/util/import/raze/remote/BUILD.proc-macro2-1.0.33.bazel
+++ /dev/null
@@ -1,99 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "notice", # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-# buildifier: disable=out-of-order-load
-# buildifier: disable=load-on-top
-load(
- "@rules_rust//cargo:cargo_build_script.bzl",
- "cargo_build_script",
-)
-
-cargo_build_script(
- name = "proc_macro2_build_script",
- srcs = glob(["**/*.rs"]),
- build_script_env = {
- },
- crate_features = [
- "default",
- "proc-macro",
- ],
- crate_root = "build.rs",
- data = glob(["**"]),
- edition = "2018",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "manual",
- ],
- version = "1.0.33",
- visibility = ["//visibility:private"],
- deps = [
- ],
-)
-
-rust_library(
- name = "proc_macro2",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- "default",
- "proc-macro",
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2018",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=proc-macro2",
- "manual",
- ],
- version = "1.0.33",
- # buildifier: leave-alone
- deps = [
- ":proc_macro2_build_script",
- "@rules_rust_util_import__unicode_xid__0_2_2//:unicode_xid",
- ],
-)
-
-# Unsupported target "comments" with type "test" omitted
-
-# Unsupported target "features" with type "test" omitted
-
-# Unsupported target "marker" with type "test" omitted
-
-# Unsupported target "test" with type "test" omitted
-
-# Unsupported target "test_fmt" with type "test" omitted
diff --git a/util/import/raze/remote/BUILD.quickcheck-1.0.3.bazel b/util/import/raze/remote/BUILD.quickcheck-1.0.3.bazel
deleted file mode 100644
index a9db2b4..0000000
--- a/util/import/raze/remote/BUILD.quickcheck-1.0.3.bazel
+++ /dev/null
@@ -1,74 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "unencumbered", # Unlicense from expression "Unlicense OR MIT"
-])
-
-# Generated Targets
-
-# Unsupported target "btree_set_range" with type "example" omitted
-
-# Unsupported target "out_of_bounds" with type "example" omitted
-
-# Unsupported target "reverse" with type "example" omitted
-
-# Unsupported target "reverse_single" with type "example" omitted
-
-# Unsupported target "sieve" with type "example" omitted
-
-# Unsupported target "sort" with type "example" omitted
-
-rust_library(
- name = "quickcheck",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- "default",
- "env_logger",
- "log",
- "regex",
- "use_logging",
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2018",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=quickcheck",
- "manual",
- ],
- version = "1.0.3",
- # buildifier: leave-alone
- deps = [
- "@rules_rust_util_import__env_logger__0_8_4//:env_logger",
- "@rules_rust_util_import__log__0_4_14//:log",
- "@rules_rust_util_import__rand__0_8_4//:rand",
- ],
-)
diff --git a/util/import/raze/remote/BUILD.quote-1.0.10.bazel b/util/import/raze/remote/BUILD.quote-1.0.10.bazel
deleted file mode 100644
index 040d8cb..0000000
--- a/util/import/raze/remote/BUILD.quote-1.0.10.bazel
+++ /dev/null
@@ -1,63 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "notice", # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "bench" with type "bench" omitted
-
-rust_library(
- name = "quote",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- "default",
- "proc-macro",
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2018",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=quote",
- "manual",
- ],
- version = "1.0.10",
- # buildifier: leave-alone
- deps = [
- "@rules_rust_util_import__proc_macro2__1_0_33//:proc_macro2",
- ],
-)
-
-# Unsupported target "compiletest" with type "test" omitted
-
-# Unsupported target "test" with type "test" omitted
diff --git a/util/import/raze/remote/BUILD.rand-0.8.4.bazel b/util/import/raze/remote/BUILD.rand-0.8.4.bazel
deleted file mode 100644
index ebbb9e3..0000000
--- a/util/import/raze/remote/BUILD.rand-0.8.4.bazel
+++ /dev/null
@@ -1,57 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "notice", # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
- name = "rand",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- "getrandom",
- "small_rng",
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2018",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=rand",
- "manual",
- ],
- version = "0.8.4",
- # buildifier: leave-alone
- deps = [
- "@rules_rust_util_import__rand_core__0_6_3//:rand_core",
- ],
-)
diff --git a/util/import/raze/remote/BUILD.rand_core-0.6.3.bazel b/util/import/raze/remote/BUILD.rand_core-0.6.3.bazel
deleted file mode 100644
index 1cc93d3..0000000
--- a/util/import/raze/remote/BUILD.rand_core-0.6.3.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "notice", # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-rust_library(
- name = "rand_core",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- "getrandom",
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2018",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=rand_core",
- "manual",
- ],
- version = "0.6.3",
- # buildifier: leave-alone
- deps = [
- "@rules_rust_util_import__getrandom__0_2_3//:getrandom",
- ],
-)
diff --git a/util/import/raze/remote/BUILD.regex-1.4.6.bazel b/util/import/raze/remote/BUILD.regex-1.4.6.bazel
deleted file mode 100644
index 0957c94..0000000
--- a/util/import/raze/remote/BUILD.regex-1.4.6.bazel
+++ /dev/null
@@ -1,95 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "notice", # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "shootout-regex-dna" with type "example" omitted
-
-# Unsupported target "shootout-regex-dna-bytes" with type "example" omitted
-
-# Unsupported target "shootout-regex-dna-cheat" with type "example" omitted
-
-# Unsupported target "shootout-regex-dna-replace" with type "example" omitted
-
-# Unsupported target "shootout-regex-dna-single" with type "example" omitted
-
-# Unsupported target "shootout-regex-dna-single-cheat" with type "example" omitted
-
-rust_library(
- name = "regex",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- "aho-corasick",
- "memchr",
- "perf",
- "perf-cache",
- "perf-dfa",
- "perf-inline",
- "perf-literal",
- "std",
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2015",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=regex",
- "manual",
- ],
- version = "1.4.6",
- # buildifier: leave-alone
- deps = [
- "@rules_rust_util_import__aho_corasick__0_7_15//:aho_corasick",
- "@rules_rust_util_import__memchr__2_4_1//:memchr",
- "@rules_rust_util_import__regex_syntax__0_6_25//:regex_syntax",
- ],
-)
-
-# Unsupported target "backtrack" with type "test" omitted
-
-# Unsupported target "backtrack-bytes" with type "test" omitted
-
-# Unsupported target "backtrack-utf8bytes" with type "test" omitted
-
-# Unsupported target "crates-regex" with type "test" omitted
-
-# Unsupported target "default" with type "test" omitted
-
-# Unsupported target "default-bytes" with type "test" omitted
-
-# Unsupported target "nfa" with type "test" omitted
-
-# Unsupported target "nfa-bytes" with type "test" omitted
-
-# Unsupported target "nfa-utf8bytes" with type "test" omitted
diff --git a/util/import/raze/remote/BUILD.regex-syntax-0.6.25.bazel b/util/import/raze/remote/BUILD.regex-syntax-0.6.25.bazel
deleted file mode 100644
index 71324e7..0000000
--- a/util/import/raze/remote/BUILD.regex-syntax-0.6.25.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "notice", # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "bench" with type "bench" omitted
-
-rust_library(
- name = "regex_syntax",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2018",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=regex-syntax",
- "manual",
- ],
- version = "0.6.25",
- # buildifier: leave-alone
- deps = [
- ],
-)
diff --git a/util/import/raze/remote/BUILD.syn-1.0.82.bazel b/util/import/raze/remote/BUILD.syn-1.0.82.bazel
deleted file mode 100644
index 8031e00..0000000
--- a/util/import/raze/remote/BUILD.syn-1.0.82.bazel
+++ /dev/null
@@ -1,157 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "notice", # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-# buildifier: disable=out-of-order-load
-# buildifier: disable=load-on-top
-load(
- "@rules_rust//cargo:cargo_build_script.bzl",
- "cargo_build_script",
-)
-
-cargo_build_script(
- name = "syn_build_script",
- srcs = glob(["**/*.rs"]),
- build_script_env = {
- },
- crate_features = [
- "clone-impls",
- "default",
- "derive",
- "parsing",
- "printing",
- "proc-macro",
- "quote",
- ],
- crate_root = "build.rs",
- data = glob(["**"]),
- edition = "2018",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "manual",
- ],
- version = "1.0.82",
- visibility = ["//visibility:private"],
- deps = [
- ],
-)
-
-# Unsupported target "file" with type "bench" omitted
-
-# Unsupported target "rust" with type "bench" omitted
-
-rust_library(
- name = "syn",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- "clone-impls",
- "default",
- "derive",
- "parsing",
- "printing",
- "proc-macro",
- "quote",
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2018",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=syn",
- "manual",
- ],
- version = "1.0.82",
- # buildifier: leave-alone
- deps = [
- ":syn_build_script",
- "@rules_rust_util_import__proc_macro2__1_0_33//:proc_macro2",
- "@rules_rust_util_import__quote__1_0_10//:quote",
- "@rules_rust_util_import__unicode_xid__0_2_2//:unicode_xid",
- ],
-)
-
-# Unsupported target "test_asyncness" with type "test" omitted
-
-# Unsupported target "test_attribute" with type "test" omitted
-
-# Unsupported target "test_derive_input" with type "test" omitted
-
-# Unsupported target "test_expr" with type "test" omitted
-
-# Unsupported target "test_generics" with type "test" omitted
-
-# Unsupported target "test_grouping" with type "test" omitted
-
-# Unsupported target "test_ident" with type "test" omitted
-
-# Unsupported target "test_item" with type "test" omitted
-
-# Unsupported target "test_iterators" with type "test" omitted
-
-# Unsupported target "test_lit" with type "test" omitted
-
-# Unsupported target "test_meta" with type "test" omitted
-
-# Unsupported target "test_parse_buffer" with type "test" omitted
-
-# Unsupported target "test_parse_stream" with type "test" omitted
-
-# Unsupported target "test_pat" with type "test" omitted
-
-# Unsupported target "test_path" with type "test" omitted
-
-# Unsupported target "test_precedence" with type "test" omitted
-
-# Unsupported target "test_receiver" with type "test" omitted
-
-# Unsupported target "test_round_trip" with type "test" omitted
-
-# Unsupported target "test_shebang" with type "test" omitted
-
-# Unsupported target "test_should_parse" with type "test" omitted
-
-# Unsupported target "test_size" with type "test" omitted
-
-# Unsupported target "test_stmt" with type "test" omitted
-
-# Unsupported target "test_token_trees" with type "test" omitted
-
-# Unsupported target "test_ty" with type "test" omitted
-
-# Unsupported target "test_visibility" with type "test" omitted
-
-# Unsupported target "zzz_stable" with type "test" omitted
diff --git a/util/import/raze/remote/BUILD.unicode-xid-0.2.2.bazel b/util/import/raze/remote/BUILD.unicode-xid-0.2.2.bazel
deleted file mode 100644
index a62237c..0000000
--- a/util/import/raze/remote/BUILD.unicode-xid-0.2.2.bazel
+++ /dev/null
@@ -1,59 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "notice", # MIT from expression "MIT OR Apache-2.0"
-])
-
-# Generated Targets
-
-# Unsupported target "xid" with type "bench" omitted
-
-rust_library(
- name = "unicode_xid",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- "default",
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2015",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=unicode-xid",
- "manual",
- ],
- version = "0.2.2",
- # buildifier: leave-alone
- deps = [
- ],
-)
-
-# Unsupported target "exhaustive_tests" with type "test" omitted
diff --git a/util/import/raze/remote/BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel b/util/import/raze/remote/BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel
deleted file mode 100644
index f4229fe..0000000
--- a/util/import/raze/remote/BUILD.wasi-0.10.2+wasi-snapshot-preview1.bazel
+++ /dev/null
@@ -1,56 +0,0 @@
-"""
-@generated
-cargo-raze crate build file.
-
-DO NOT EDIT! Replaced on runs of cargo-raze
-"""
-
-# buildifier: disable=load
-load("@bazel_skylib//lib:selects.bzl", "selects")
-
-# buildifier: disable=load
-load(
- "@rules_rust//rust:defs.bzl",
- "rust_binary",
- "rust_library",
- "rust_proc_macro",
- "rust_test",
-)
-
-package(default_visibility = [
- # Public for visibility by "@raze__crate__version//" targets.
- #
- # Prefer access through "//util/import/raze", which limits external
- # visibility to explicit Cargo.toml dependencies.
- "//visibility:public",
-])
-
-licenses([
- "notice", # Apache-2.0 from expression "Apache-2.0 OR (Apache-2.0 OR MIT)"
-])
-
-# Generated Targets
-
-rust_library(
- name = "wasi",
- srcs = glob(["**/*.rs"]),
- crate_features = [
- "default",
- "std",
- ],
- crate_root = "src/lib.rs",
- data = [],
- edition = "2018",
- rustc_flags = [
- "--cap-lints=allow",
- ],
- tags = [
- "cargo-raze",
- "crate-name=wasi",
- "manual",
- ],
- version = "0.10.2+wasi-snapshot-preview1",
- # buildifier: leave-alone
- deps = [
- ],
-)
diff --git a/util/process_wrapper/BUILD.bazel b/util/process_wrapper/BUILD.bazel
index c26d9a6..c5276dd 100644
--- a/util/process_wrapper/BUILD.bazel
+++ b/util/process_wrapper/BUILD.bazel
@@ -1,45 +1,20 @@
-load("@rules_cc//cc:defs.bzl", "cc_binary")
-load("//rust:defs.bzl", "rust_binary", "rust_test")
+load("//rust:defs.bzl", "rust_test")
# buildifier: disable=bzl-visibility
-load("//rust/private:transitions.bzl", "without_process_wrapper")
+load("//rust/private:rust.bzl", "rust_binary_without_process_wrapper")
-alias(
+rust_binary_without_process_wrapper(
name = "process_wrapper",
- actual = select({
- # This will never get used, it's only here to break the circular dependency to allow building process_wrapper
- ":use_fake_process_wrapper": ":process_wrapper_fake",
- "//conditions:default": ":process_wrapper_impl",
- }),
- visibility = ["//visibility:public"],
-)
-
-cc_binary(
- name = "process_wrapper_fake",
- srcs = ["fake.cc"],
-)
-
-config_setting(
- name = "use_fake_process_wrapper",
- flag_values = {
- "//rust/settings:use_process_wrapper": "False",
- },
-)
-
-# Changing the name of this rule requires a corresponding
-# change in //rust/private/rustc.bzl:925
-without_process_wrapper(
- name = "process_wrapper_impl",
- target = ":process_wrapper_bin",
- visibility = ["//visibility:public"],
-)
-
-rust_binary(
- name = "process_wrapper_bin",
srcs = glob(["*.rs"]),
+ edition = "2018",
+ visibility = ["//visibility:public"],
+ deps = [
+ "@rules_rust_tinyjson//:tinyjson",
+ ],
)
rust_test(
name = "process_wrapper_test",
- crate = ":process_wrapper_bin",
+ crate = ":process_wrapper",
+ edition = "2018",
)
diff --git a/util/process_wrapper/BUILD.tinyjson.bazel b/util/process_wrapper/BUILD.tinyjson.bazel
new file mode 100644
index 0000000..31f9da2
--- /dev/null
+++ b/util/process_wrapper/BUILD.tinyjson.bazel
@@ -0,0 +1,9 @@
+# buildifier: disable=bzl-visibility
+load("@rules_rust//rust/private:rust.bzl", "rust_library_without_process_wrapper")
+
+rust_library_without_process_wrapper(
+ name = "tinyjson",
+ srcs = glob(["src/*.rs"]),
+ edition = "2018",
+ visibility = ["@rules_rust//util/process_wrapper:__pkg__"],
+)
diff --git a/util/process_wrapper/main.rs b/util/process_wrapper/main.rs
index 41140a3..6d985b3 100644
--- a/util/process_wrapper/main.rs
+++ b/util/process_wrapper/main.rs
@@ -14,50 +14,115 @@
mod flags;
mod options;
+mod output;
+mod rustc;
mod util;
use std::fs::{copy, OpenOptions};
-use std::process::{exit, Command, Stdio};
+use std::io;
+use std::process::{exit, Command, ExitStatus, Stdio};
use crate::options::options;
+use crate::output::{process_output, LineOutput};
+
+#[cfg(windows)]
+fn status_code(status: ExitStatus, was_killed: bool) -> i32 {
+ // On windows, there's no good way to know if the process was killed by a signal.
+ // If we killed the process, we override the code to signal success.
+ if was_killed {
+ 0
+ } else {
+ status.code().unwrap_or(1)
+ }
+}
+
+#[cfg(not(windows))]
+fn status_code(status: ExitStatus, was_killed: bool) -> i32 {
+ // On unix, if code is None it means that the process was killed by a signal.
+ // https://doc.rust-lang.org/std/process/struct.ExitStatus.html#method.success
+ match status.code() {
+ Some(code) => code,
+ // If we killed the process, we expect None here
+ None if was_killed => 0,
+ // Otherwise it's some unexpected signal
+ None => 1,
+ }
+}
fn main() {
let opts = match options() {
Err(err) => panic!("process wrapper error: {}", err),
Ok(v) => v,
};
- let stdout = if let Some(stdout_file) = opts.stdout_file {
- OpenOptions::new()
- .create(true)
- .truncate(true)
- .write(true)
- .open(stdout_file)
- .expect("process wrapper error: unable to open stdout file")
- .into()
- } else {
- Stdio::inherit()
- };
- let stderr = if let Some(stderr_file) = opts.stderr_file {
- OpenOptions::new()
- .create(true)
- .truncate(true)
- .write(true)
- .open(stderr_file)
- .expect("process wrapper error: unable to open stderr file")
- .into()
- } else {
- Stdio::inherit()
- };
- let status = Command::new(opts.executable)
+
+ let mut child = Command::new(opts.executable)
.args(opts.child_arguments)
.env_clear()
.envs(opts.child_environment)
- .stdout(stdout)
- .stderr(stderr)
- .status()
+ .stdout(if let Some(stdout_file) = opts.stdout_file {
+ OpenOptions::new()
+ .create(true)
+ .truncate(true)
+ .write(true)
+ .open(stdout_file)
+ .expect("process wrapper error: unable to open stdout file")
+ .into()
+ } else {
+ Stdio::inherit()
+ })
+ .stderr(Stdio::piped())
+ .spawn()
.expect("process wrapper error: failed to spawn child process");
- if status.success() {
+ let mut stderr: Box<dyn io::Write> = if let Some(stderr_file) = opts.stderr_file {
+ Box::new(
+ OpenOptions::new()
+ .create(true)
+ .truncate(true)
+ .write(true)
+ .open(stderr_file)
+ .expect("process wrapper error: unable to open stderr file"),
+ )
+ } else {
+ Box::new(io::stderr())
+ };
+
+ let mut child_stderr = child.stderr.take().unwrap();
+
+ let mut was_killed = false;
+ let result = if let Some(format) = opts.rustc_output_format {
+ let quit_on_rmeta = opts.rustc_quit_on_rmeta;
+ // Process json rustc output and kill the subprocess when we get a signal
+ // that we emitted a metadata file.
+ let mut me = false;
+ let metadata_emitted = &mut me;
+ let result = process_output(&mut child_stderr, stderr.as_mut(), move |line| {
+ if quit_on_rmeta {
+ rustc::stop_on_rmeta_completion(line, format, metadata_emitted)
+ } else {
+ rustc::process_json(line, format)
+ }
+ });
+ if me {
+ // If recv returns Ok(), a signal was sent in this channel so we should terminate the child process.
+ // We can safely ignore the Result from kill() as we don't care if the process already terminated.
+ let _ = child.kill();
+ was_killed = true;
+ }
+ result
+ } else {
+ // Process output normally by forwarding stderr
+ process_output(&mut child_stderr, stderr.as_mut(), LineOutput::Message)
+ };
+ result.expect("process wrapper error: failed to process stderr");
+
+ let status = child
+ .wait()
+ .expect("process wrapper error: failed to wait for child process");
+ // If the child process is rustc and is killed after metadata generation, that's also a success.
+ let code = status_code(status, was_killed);
+ let success = code == 0;
+ if success {
if let Some(tf) = opts.touch_file {
OpenOptions::new()
.create(true)
@@ -75,5 +140,5 @@
}
}
- exit(status.code().unwrap())
+ exit(code)
}
diff --git a/util/process_wrapper/options.rs b/util/process_wrapper/options.rs
index 24bba9f..869b5c3 100644
--- a/util/process_wrapper/options.rs
+++ b/util/process_wrapper/options.rs
@@ -4,6 +4,7 @@
use std::process::exit;
use crate::flags::{FlagParseError, Flags, ParseOutcome};
+use crate::rustc;
use crate::util::*;
#[derive(Debug)]
@@ -38,12 +39,19 @@
pub(crate) stdout_file: Option<String>,
// If set, redirects the child process stderr to this file.
pub(crate) stderr_file: Option<String>,
+ // If set, it configures rustc to emit an rmeta file and then
+ // quit.
+ pub(crate) rustc_quit_on_rmeta: bool,
+ // If rustc_quit_on_rmeta is set to true, this controls the
+ // output format of rustc messages.
+ pub(crate) rustc_output_format: Option<rustc::ErrorFormat>,
}
pub(crate) fn options() -> Result<Options, OptionError> {
// Process argument list until -- is encountered.
// Everything after is sent to the child process.
let mut subst_mapping_raw = None;
+ let mut stable_status_file_raw = None;
let mut volatile_status_file_raw = None;
let mut env_file_raw = None;
let mut arg_file_raw = None;
@@ -51,8 +59,11 @@
let mut copy_output_raw = None;
let mut stdout_file = None;
let mut stderr_file = None;
+ let mut rustc_quit_on_rmeta_raw = None;
+ let mut rustc_output_format_raw = None;
let mut flags = Flags::new();
flags.define_repeated_flag("--subst", "", &mut subst_mapping_raw);
+ flags.define_flag("--stable-status-file", "", &mut stable_status_file_raw);
flags.define_flag("--volatile-status-file", "", &mut volatile_status_file_raw);
flags.define_repeated_flag(
"--env-file",
@@ -80,6 +91,19 @@
"Redirect subprocess stderr in this file.",
&mut stderr_file,
);
+ flags.define_flag(
+ "--rustc-quit-on-rmeta",
+ "If enabled, this wrapper will terminate rustc after rmeta has been emitted.",
+ &mut rustc_quit_on_rmeta_raw,
+ );
+ flags.define_flag(
+ "--rustc-output-format",
+ "Controls the rustc output format if --rustc-quit-on-rmeta is set.\n\
+ 'json' will cause the json output to be output, \
+ 'rendered' will extract the rendered message and print that.\n\
+ Default: `rendered`",
+ &mut rustc_output_format_raw,
+ );
let mut child_args = match flags
.parse(env::args().collect())
@@ -112,9 +136,10 @@
Ok((key.to_owned(), v))
})
.collect::<Result<Vec<(String, String)>, OptionError>>()?;
- let stamp_mappings =
+ let stable_stamp_mappings =
+ stable_status_file_raw.map_or_else(Vec::new, |s| read_stamp_status_to_array(s).unwrap());
+ let volatile_stamp_mappings =
volatile_status_file_raw.map_or_else(Vec::new, |s| read_stamp_status_to_array(s).unwrap());
-
let environment_file_block = env_from_files(env_file_raw.unwrap_or_default())?;
let mut file_arguments = args_from_file(arg_file_raw.unwrap_or_default())?;
// Process --copy-output
@@ -138,9 +163,26 @@
})
.transpose()?;
+ let rustc_quit_on_rmeta = rustc_quit_on_rmeta_raw.map_or(false, |s| s == "true");
+ let rustc_output_format = rustc_output_format_raw
+ .map(|v| match v.as_str() {
+ "json" => Ok(rustc::ErrorFormat::Json),
+ "rendered" => Ok(rustc::ErrorFormat::Rendered),
+ _ => Err(OptionError::Generic(format!(
+ "invalid --rustc-output-format '{}'",
+ v
+ ))),
+ })
+ .transpose()?;
+
// Prepare the environment variables, unifying those read from files with the ones
// of the current process.
- let vars = environment_block(environment_file_block, &stamp_mappings, &subst_mappings);
+ let vars = environment_block(
+ environment_file_block,
+ &stable_stamp_mappings,
+ &volatile_stamp_mappings,
+ &subst_mappings,
+ );
// Append all the arguments fetched from files to those provided via command line.
child_args.append(&mut file_arguments);
let child_args = prepare_args(child_args, &subst_mappings);
@@ -159,13 +201,20 @@
copy_output,
stdout_file,
stderr_file,
+ rustc_quit_on_rmeta,
+ rustc_output_format,
})
}
fn args_from_file(paths: Vec<String>) -> Result<Vec<String>, OptionError> {
let mut args = vec![];
- for path in paths.into_iter() {
- let mut lines = read_file_to_array(path).map_err(OptionError::Generic)?;
+ for path in paths.iter() {
+ let mut lines = read_file_to_array(path).map_err(|err| {
+ OptionError::Generic(format!(
+ "{} while processing args from file paths: {:?}",
+ err, &paths
+ ))
+ })?;
args.append(&mut lines);
}
Ok(args)
@@ -174,7 +223,7 @@
fn env_from_files(paths: Vec<String>) -> Result<HashMap<String, String>, OptionError> {
let mut env_vars = HashMap::new();
for path in paths.into_iter() {
- let lines = read_file_to_array(path).map_err(OptionError::Generic)?;
+ let lines = read_file_to_array(&path).map_err(OptionError::Generic)?;
for line in lines.into_iter() {
let (k, v) = line
.split_once('=')
@@ -198,7 +247,8 @@
fn environment_block(
environment_file_block: HashMap<String, String>,
- stamp_mappings: &[(String, String)],
+ stable_stamp_mappings: &[(String, String)],
+ volatile_stamp_mappings: &[(String, String)],
subst_mappings: &[(String, String)],
) -> HashMap<String, String> {
// Taking all environment variables from the current process
@@ -208,7 +258,7 @@
// This is simpler than needing to track duplicates and explicitly override
// them.
environment_variables.extend(environment_file_block.into_iter());
- for (f, replace_with) in stamp_mappings {
+ for (f, replace_with) in &[stable_stamp_mappings, volatile_stamp_mappings].concat() {
for value in environment_variables.values_mut() {
let from = format!("{{{}}}", f);
let new = value.replace(from.as_str(), replace_with);
diff --git a/util/process_wrapper/output.rs b/util/process_wrapper/output.rs
new file mode 100644
index 0000000..84d61d9
--- /dev/null
+++ b/util/process_wrapper/output.rs
@@ -0,0 +1,56 @@
+// Copyright 2020 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+use std::io::{self, prelude::*};
+
+/// LineOutput tells process_output what to do when a line is processed.
+/// If a Message is returned, it will be written to write_end, if
+/// Skip is returned nothing will be printed and execution continues,
+/// if Terminate is returned, process_output returns immediately.
+/// Terminate is used to stop processing when we see an emit metadata
+/// message.
+#[derive(Debug)]
+pub(crate) enum LineOutput {
+ Message(String),
+ Skip,
+ Terminate,
+}
+
+/// process_output reads lines from read_end and invokes process_line on each.
+/// Depending on the result of process_line, the modified message may be written
+/// to write_end.
+pub(crate) fn process_output<F>(
+ read_end: &mut dyn Read,
+ write_end: &mut dyn Write,
+ mut process_line: F,
+) -> io::Result<()>
+where
+ F: FnMut(String) -> LineOutput,
+{
+ let mut reader = io::BufReader::new(read_end);
+ let mut writer = io::LineWriter::new(write_end);
+ loop {
+ let mut line = String::new();
+ let read_bytes = reader.read_line(&mut line)?;
+ if read_bytes == 0 {
+ break;
+ }
+ match process_line(line) {
+ LineOutput::Message(to_write) => writer.write_all(to_write.as_bytes())?,
+ LineOutput::Skip => {}
+ LineOutput::Terminate => return Ok(()),
+ };
+ }
+ Ok(())
+}
diff --git a/util/process_wrapper/rustc.rs b/util/process_wrapper/rustc.rs
new file mode 100644
index 0000000..ca79680
--- /dev/null
+++ b/util/process_wrapper/rustc.rs
@@ -0,0 +1,112 @@
+// Copyright 2020 The Bazel Authors. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+use std::convert::{TryFrom, TryInto};
+
+use tinyjson::JsonValue;
+
+use crate::output::LineOutput;
+
+#[derive(Debug, Copy, Clone)]
+pub(crate) enum ErrorFormat {
+ Json,
+ Rendered,
+}
+
+impl Default for ErrorFormat {
+ fn default() -> Self {
+ Self::Rendered
+ }
+}
+
+fn get_key(value: &JsonValue, key: &str) -> Option<String> {
+ if let JsonValue::Object(map) = value {
+ if let JsonValue::String(s) = map.get(key)? {
+ Some(s.clone())
+ } else {
+ None
+ }
+ } else {
+ None
+ }
+}
+
+#[derive(Debug)]
+enum RustcMessage {
+ Emit(String),
+ Message(String),
+}
+
+impl TryFrom<JsonValue> for RustcMessage {
+ type Error = ();
+ fn try_from(val: JsonValue) -> Result<Self, Self::Error> {
+ if let Some(emit) = get_key(&val, "emit") {
+ return Ok(Self::Emit(emit));
+ }
+ if let Some(rendered) = get_key(&val, "rendered") {
+ return Ok(Self::Message(rendered));
+ }
+ Err(())
+ }
+}
+
+/// process_rustc_json takes an output line from rustc configured with
+/// --error-format=json, parses the json and returns the appropriate output
+/// according to the original --error-format supplied.
+/// Only messages are returned, emits are ignored.
+pub(crate) fn process_json(line: String, error_format: ErrorFormat) -> LineOutput {
+ let parsed: JsonValue = line
+ .parse()
+ .expect("process wrapper error: expected json messages in pipeline mode");
+ match parsed.try_into() {
+ Ok(RustcMessage::Message(msg)) => match error_format {
+ // If the output should be json, we just forward the messages as-is
+ // using `line`.
+ ErrorFormat::Json => LineOutput::Message(line),
+ // Otherwise we return the rendered field.
+ _ => LineOutput::Message(msg),
+ },
+ _ => LineOutput::Skip,
+ }
+}
+
+/// stop_on_rmeta_completion parses the json output of rustc in the same way process_rustc_json does.
+/// In addition, it will signal to stop when metadata is emitted
+/// so the compiler can be terminated.
+/// This is used to implement pipelining in rules_rust, please see
+/// https://internals.rust-lang.org/t/evaluating-pipelined-rustc-compilation/10199
+pub(crate) fn stop_on_rmeta_completion(
+ line: String,
+ error_format: ErrorFormat,
+ kill: &mut bool,
+) -> LineOutput {
+ let parsed: JsonValue = line
+ .parse()
+ .expect("process wrapper error: expected json messages in pipeline mode");
+
+ match parsed.try_into() {
+ Ok(RustcMessage::Emit(emit)) if emit == "metadata" => {
+ *kill = true;
+ LineOutput::Terminate
+ }
+ Ok(RustcMessage::Message(msg)) => match error_format {
+ // If the output should be json, we just forward the messages as-is
+ // using `line`.
+ ErrorFormat::Json => LineOutput::Message(line),
+ // Otherwise we return the rendered field.
+ _ => LineOutput::Message(msg),
+ },
+ _ => LineOutput::Skip,
+ }
+}
diff --git a/util/process_wrapper/util.rs b/util/process_wrapper/util.rs
index 4b3d6bb..89f2ded 100644
--- a/util/process_wrapper/util.rs
+++ b/util/process_wrapper/util.rs
@@ -15,8 +15,16 @@
use std::fs::File;
use std::io::{BufRead, BufReader, Read};
-pub(crate) fn read_file_to_array(path: String) -> Result<Vec<String>, String> {
- let file = File::open(path).map_err(|e| e.to_string())?;
+pub(crate) fn read_file_to_array(path: &str) -> Result<Vec<String>, String> {
+ let file = File::open(path).map_err(|e| e.to_string()).map_err(|err| {
+ format!(
+ "{} reading path: {:?}, current directory: {:?}",
+ err,
+ path,
+ std::env::current_dir()
+ )
+ })?;
+
read_to_array(file)
}