From 5e0a761b875fff4c9e4b202c08bd740c7bb37763 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Sun, 27 Nov 2022 15:24:20 +1000 Subject: [PATCH] Move away from Bazel (#2202) (for upgrading users, please see the notes at the bottom) Bazel brought a lot of nice things to the table, such as rebuilds based on content changes instead of modification times, caching of build products, detection of incorrect build rules via a sandbox, and so on. Rewriting the build in Bazel was also an opportunity to improve on the Makefile-based build we had prior, which was pretty poor: most dependencies were external or not pinned, and the build graph was poorly defined and mostly serialized. It was not uncommon for fresh checkouts to fail due to floating dependencies, or for things to break when trying to switch to an older commit. For day-to-day development, I think Bazel served us reasonably well - we could generally switch between branches while being confident that builds would be correct and reasonably fast, and not require full rebuilds (except on Windows, where the lack of a sandbox and the TS rules would cause build breakages when TS files were renamed/removed). Bazel achieves that reliability by defining rules for each programming language that define how source files should be turned into outputs. For the rules to work with Bazel's sandboxing approach, they often have to reimplement or partially bypass the standard tools that each programming language provides. The Rust rules call Rust's compiler directly for example, instead of using Cargo, and the Python rules extract each PyPi package into a separate folder that gets added to sys.path. These separate language rules allow proper declaration of inputs and outputs, and offer some advantages such as caching of build products and fine-grained dependency installation. But they also bring some downsides: - The rules don't always support use-cases/platforms that the standard language tools do, meaning they need to be patched to be used. I've had to contribute a number of patches to the Rust, Python and JS rules to unblock various issues. - The dependencies we use with each language sometimes make assumptions that do not hold in Bazel, meaning they either need to be pinned or patched, or the language rules need to be adjusted to accommodate them. I was hopeful that after the initial setup work, things would be relatively smooth-sailing. Unfortunately, that has not proved to be the case. Things frequently broke when dependencies or the language rules were updated, and I began to get frustrated at the amount of Anki development time I was instead spending on build system upkeep. It's now about 2 years since switching to Bazel, and I think it's time to cut losses, and switch to something else that's a better fit. The new build system is based on a small build tool called Ninja, and some custom Rust code in build/. This means that to build Anki, Bazel is no longer required, but Ninja and Rust need to be installed on your system. Python and Node toolchains are automatically downloaded like in Bazel. This new build system should result in faster builds in some cases: - Because we're using cargo to build now, Rust builds are able to take advantage of pipelining and incremental debug builds, which we didn't have with Bazel. It's also easier to override the default linker on Linux/macOS, which can further improve speeds. - External Rust crates are now built with opt=1, which improves performance of debug builds. - Esbuild is now used to transpile TypeScript, instead of invoking the TypeScript compiler. This results in faster builds, by deferring typechecking to test/check time, and by allowing more work to happen in parallel. As an example of the differences, when testing with the mold linker on Linux, adding a new message to tags.proto (which triggers a recompile of the bulk of the Rust and TypeScript code) results in a compile that goes from about 22s on Bazel to about 7s in the new system. With the standard linker, it's about 9s. Some other changes of note: - Our Rust workspace now uses cargo-hakari to ensure all packages agree on available features, preventing unnecessary rebuilds. - pylib/anki is now a PEP420 implicit namespace, avoiding the need to merge source files and generated files into a single folder for running. By telling VSCode about the extra search path, code completion now works with generated files without needing to symlink them into the source folder. - qt/aqt can't use PEP420 as it's difficult to get rid of aqt/__init__.py. Instead, the generated files are now placed in a separate _aqt package that's added to the path. - ts/lib is now exposed as @tslib, so the source code and generated code can be provided under the same namespace without a merging step. - MyPy and PyLint are now invoked once for the entire codebase. - dprint will be used to format TypeScript/json files in the future instead of the slower prettier (currently turned off to avoid causing conflicts). It can automatically defer to prettier when formatting Svelte files. - svelte-check is now used for typechecking our Svelte code, which revealed a few typing issues that went undetected with the old system. - The Jest unit tests now work on Windows as well. If you're upgrading from Bazel, updated usage instructions are in docs/development.md and docs/build.md. A summary of the changes: - please remove node_modules and .bazel - install rustup (https://rustup.rs/) - install rsync if not already installed (on windows, use pacman - see docs/windows.md) - install Ninja (unzip from https://github.com/ninja-build/ninja/releases/tag/v1.11.1 and place on your path, or from your distro/homebrew if it's 1.10+) - update .vscode/settings.json from .vscode.dist --- .bazelignore | 2 - .bazelrc | 47 - .bazelversion | 1 - .buildkite/linux/docker/Dockerfile.amd64 | 16 +- .buildkite/linux/docker/Dockerfile.arm64 | 11 +- .buildkite/linux/docker/buildkite.cfg | 1 + .buildkite/linux/entrypoint | 18 +- .buildkite/linux/release-entrypoint | 16 +- .buildkite/mac/entrypoint | 15 +- .buildkite/windows/entrypoint.bat | 24 +- .cargo/config.toml | 9 + .config/hakari.toml | 8 + .config/nextest.toml | 2 + .dprint.json | 15 +- ts/.eslintrc.js => .eslintrc.js | 4 +- .github/ISSUE_TEMPLATE/bug-report.md | 10 +- .gitignore | 3 +- .gitmodules | 11 + pylib/.isort.cfg => .isort.cfg | 16 +- qt/mypy.ini => .mypy.ini | 70 +- pylib/.pylintrc => .pylintrc | 6 +- .../remote/BUILD.bazel => .rustfmt-empty.toml | 0 qt/bundle/rustfmt.toml => .rustfmt.toml | 2 + .user.bazelrc | 13 - .version | 1 + .vscode.dist/extensions.json | 3 +- .vscode.dist/settings.json | 14 +- BUILD.bazel | 39 - Cargo.lock | 879 ++++- Cargo.toml | 100 +- WORKSPACE | 18 - build/archives/Cargo.toml | 24 + build/archives/src/main.rs | 130 + build/configure/Cargo.toml | 12 + build/configure/src/aqt.rs | 362 ++ build/configure/src/bundle.rs | 481 +++ build/configure/src/main.rs | 52 + build/configure/src/platform.rs | 22 + build/configure/src/proto.rs | 39 + build/configure/src/pylib.rs | 131 + build/configure/src/python.rs | 334 ++ build/configure/src/rust.rs | 134 + build/configure/src/web.rs | 575 +++ build/ninja_gen/Cargo.toml | 19 + build/ninja_gen/src/action.rs | 42 + build/ninja_gen/src/archives.rs | 200 + build/ninja_gen/src/build.rs | 475 +++ build/ninja_gen/src/cargo.rs | 236 ++ build/ninja_gen/src/command.rs | 56 + build/ninja_gen/src/configure.rs | 43 + build/ninja_gen/src/copy.rs | 78 + build/ninja_gen/src/git.rs | 71 + build/ninja_gen/src/hash.rs | 13 + build/ninja_gen/src/input.rs | 186 + build/ninja_gen/src/lib.rs | 52 + build/ninja_gen/src/node.rs | 337 ++ build/ninja_gen/src/protobuf.rs | 104 + build/ninja_gen/src/python.rs | 174 + build/ninja_gen/src/render.rs | 67 + build/ninja_gen/src/rsync.rs | 70 + build/ninja_gen/src/sass.rs | 43 + build/runner/Cargo.toml | 15 + build/runner/build.rs | 13 + build/runner/src/build.rs | 173 + build/runner/src/bundle/artifacts.rs | 55 + build/runner/src/bundle/binary.rs | 41 + build/runner/src/bundle/folder.rs | 143 + build/runner/src/bundle/mod.rs | 6 + build/runner/src/main.rs | 62 + build/runner/src/paths.rs | 23 + build/runner/src/pyenv.rs | 56 + build/runner/src/rsync.rs | 39 + build/runner/src/run.rs | 90 + build/runner/src/yarn.rs | 50 + cargo/BUILD.bazel | 635 --- cargo/BUILD.reqwest.native.bazel | 149 - cargo/BUILD.reqwest.rustls.bazel | 153 - cargo/BUILD.term-0.7.0.bazel | 71 - cargo/README.md | 65 +- cargo/crates.bzl | 3462 ----------------- cargo/licenses.json | 140 +- cargo/remote/BUILD.addr2line-0.17.0.bazel | 63 - cargo/remote/BUILD.adler-1.0.2.bazel | 56 - cargo/remote/BUILD.ahash-0.7.6.bazel | 151 - cargo/remote/BUILD.aho-corasick-0.7.19.bazel | 57 - cargo/remote/BUILD.ammonia-3.2.1.bazel | 63 - ...UILD.android_system_properties-0.1.5.bazel | 57 - cargo/remote/BUILD.anyhow-1.0.65.bazel | 116 - cargo/remote/BUILD.arc-swap-1.5.1.bazel | 64 - cargo/remote/BUILD.arrayref-0.3.6.bazel | 60 - cargo/remote/BUILD.arrayvec-0.4.12.bazel | 97 - cargo/remote/BUILD.arrayvec-0.7.2.bazel | 62 - cargo/remote/BUILD.async-trait-0.1.57.bazel | 91 - cargo/remote/BUILD.atty-0.2.14.bazel | 79 - cargo/remote/BUILD.autocfg-1.1.0.bazel | 64 - cargo/remote/BUILD.backtrace-0.3.66.bazel | 111 - cargo/remote/BUILD.base64-0.13.0.bazel | 70 - cargo/remote/BUILD.bitflags-1.3.2.bazel | 59 - cargo/remote/BUILD.blake3-1.3.1.bazel | 98 - cargo/remote/BUILD.block-buffer-0.10.3.bazel | 57 - cargo/remote/BUILD.bstr-0.2.17.bazel | 83 - cargo/remote/BUILD.bumpalo-3.11.0.bazel | 59 - cargo/remote/BUILD.byteorder-1.4.3.bazel | 58 - cargo/remote/BUILD.bytes-1.2.1.bazel | 84 - cargo/remote/BUILD.cc-1.0.73.bazel | 93 - cargo/remote/BUILD.cfg-if-1.0.0.bazel | 56 - cargo/remote/BUILD.chrono-0.4.22.bazel | 85 - cargo/remote/BUILD.coarsetime-0.1.22.bazel | 71 - cargo/remote/BUILD.codespan-0.11.1.bazel | 58 - .../BUILD.codespan-reporting-0.11.1.bazel | 71 - .../remote/BUILD.constant_time_eq-0.1.5.bazel | 56 - cargo/remote/BUILD.convert_case-0.4.0.bazel | 54 - cargo/remote/BUILD.convert_case-0.6.0.bazel | 57 - .../remote/BUILD.core-foundation-0.9.3.bazel | 58 - .../BUILD.core-foundation-sys-0.8.3.bazel | 84 - cargo/remote/BUILD.crc32fast-1.3.2.bazel | 91 - .../BUILD.crossbeam-channel-0.5.6.bazel | 95 - .../remote/BUILD.crossbeam-utils-0.8.11.bazel | 106 - cargo/remote/BUILD.crypto-common-0.1.6.bazel | 57 - cargo/remote/BUILD.cssparser-0.27.2.bazel | 95 - .../remote/BUILD.cssparser-macros-0.6.0.bazel | 56 - cargo/remote/BUILD.csv-1.1.6.bazel | 135 - cargo/remote/BUILD.csv-core-0.1.10.bazel | 58 - cargo/remote/BUILD.derive_more-0.99.17.bazel | 138 - cargo/remote/BUILD.digest-0.10.5.bazel | 64 - cargo/remote/BUILD.dirs-next-2.0.0.bazel | 56 - cargo/remote/BUILD.dirs-sys-next-0.1.2.bazel | 77 - cargo/remote/BUILD.dissimilar-1.0.4.bazel | 58 - cargo/remote/BUILD.doc-comment-0.3.3.bazel | 84 - cargo/remote/BUILD.dtoa-0.4.8.bazel | 58 - cargo/remote/BUILD.dtoa-short-0.3.3.bazel | 55 - cargo/remote/BUILD.dunce-1.0.2.bazel | 54 - cargo/remote/BUILD.either-1.8.0.bazel | 56 - cargo/remote/BUILD.encoding_rs-0.8.31.bazel | 89 - cargo/remote/BUILD.env_logger-0.9.1.bazel | 72 - .../BUILD.fallible-iterator-0.2.0.bazel | 56 - ...LD.fallible-streaming-iterator-0.1.9.bazel | 54 - cargo/remote/BUILD.fastrand-1.8.0.bazel | 60 - cargo/remote/BUILD.fixedbitset-0.4.2.bazel | 56 - cargo/remote/BUILD.flate2-1.0.24.bazel | 111 - cargo/remote/BUILD.fluent-0.16.0.bazel | 56 - cargo/remote/BUILD.fluent-bundle-0.15.2.bazel | 67 - .../remote/BUILD.fluent-langneg-0.13.0.bazel | 58 - cargo/remote/BUILD.fluent-syntax-0.11.0.bazel | 116 - cargo/remote/BUILD.fnv-1.0.7.bazel | 56 - cargo/remote/BUILD.foreign-types-0.3.2.bazel | 55 - .../BUILD.foreign-types-shared-0.1.1.bazel | 54 - .../remote/BUILD.form_urlencoded-1.1.0.bazel | 55 - cargo/remote/BUILD.futf-0.1.5.bazel | 56 - cargo/remote/BUILD.futures-0.3.24.bazel | 177 - .../remote/BUILD.futures-channel-0.3.24.bazel | 106 - cargo/remote/BUILD.futures-core-0.3.24.bazel | 90 - .../BUILD.futures-executor-0.3.24.bazel | 62 - cargo/remote/BUILD.futures-io-0.3.24.bazel | 55 - cargo/remote/BUILD.futures-macro-0.3.24.bazel | 57 - cargo/remote/BUILD.futures-sink-0.3.24.bazel | 57 - cargo/remote/BUILD.futures-task-0.3.24.bazel | 88 - cargo/remote/BUILD.futures-util-0.3.24.bazel | 130 - cargo/remote/BUILD.fxhash-0.2.1.bazel | 57 - cargo/remote/BUILD.generic-array-0.14.6.bazel | 88 - cargo/remote/BUILD.getopts-0.2.21.bazel | 57 - cargo/remote/BUILD.getrandom-0.1.16.bazel | 118 - cargo/remote/BUILD.getrandom-0.2.7.bazel | 79 - cargo/remote/BUILD.gimli-0.26.2.bazel | 70 - cargo/remote/BUILD.h2-0.3.14.bazel | 71 - cargo/remote/BUILD.hashbrown-0.12.3.bazel | 71 - cargo/remote/BUILD.hashlink-0.8.1.bazel | 63 - cargo/remote/BUILD.heck-0.4.0.bazel | 55 - cargo/remote/BUILD.hermit-abi-0.1.19.bazel | 56 - cargo/remote/BUILD.hex-0.4.3.bazel | 63 - cargo/remote/BUILD.html5ever-0.25.2.bazel | 102 - cargo/remote/BUILD.html5ever-0.26.0.bazel | 102 - cargo/remote/BUILD.htmlescape-0.3.1.bazel | 58 - cargo/remote/BUILD.http-0.2.8.bazel | 75 - cargo/remote/BUILD.http-body-0.4.5.bazel | 59 - cargo/remote/BUILD.httparse-1.8.0.bazel | 92 - cargo/remote/BUILD.httpdate-1.0.2.bazel | 56 - cargo/remote/BUILD.humantime-2.1.0.bazel | 58 - cargo/remote/BUILD.hyper-0.14.20.bazel | 126 - cargo/remote/BUILD.hyper-rustls-0.22.1.bazel | 67 - cargo/remote/BUILD.hyper-timeout-0.4.1.bazel | 60 - cargo/remote/BUILD.hyper-tls-0.5.0.bazel | 61 - .../remote/BUILD.iana-time-zone-0.1.50.bazel | 80 - cargo/remote/BUILD.id_tree-1.8.0.bazel | 59 - cargo/remote/BUILD.idna-0.3.0.bazel | 62 - cargo/remote/BUILD.indexmap-1.9.1.bazel | 100 - cargo/remote/BUILD.indoc-1.0.7.bazel | 64 - cargo/remote/BUILD.inflections-1.1.1.bazel | 54 - cargo/remote/BUILD.instant-0.1.12.bazel | 57 - cargo/remote/BUILD.intl-memoizer-0.5.1.bazel | 56 - .../remote/BUILD.intl_pluralrules-7.0.1.bazel | 58 - cargo/remote/BUILD.ipnet-2.5.0.bazel | 55 - cargo/remote/BUILD.itertools-0.10.5.bazel | 98 - cargo/remote/BUILD.itoa-0.4.8.bazel | 61 - cargo/remote/BUILD.itoa-1.0.3.bazel | 58 - cargo/remote/BUILD.jobserver-0.1.25.bazel | 79 - cargo/remote/BUILD.js-sys-0.3.60.bazel | 59 - cargo/remote/BUILD.kuchiki-0.8.1.bazel | 62 - cargo/remote/BUILD.lazy_static-1.4.0.bazel | 58 - cargo/remote/BUILD.libc-0.2.133.bazel | 90 - .../remote/BUILD.libsqlite3-sys-0.25.1.bazel | 106 - .../BUILD.linkcheck-0.4.1-alpha.0.bazel | 72 - cargo/remote/BUILD.linkify-0.5.0.bazel | 63 - cargo/remote/BUILD.lock_api-0.4.9.bazel | 86 - cargo/remote/BUILD.log-0.4.17.bazel | 93 - cargo/remote/BUILD.mac-0.1.1.bazel | 54 - cargo/remote/BUILD.maplit-1.0.2.bazel | 56 - cargo/remote/BUILD.markup5ever-0.10.1.bazel | 90 - cargo/remote/BUILD.markup5ever-0.11.0.bazel | 90 - cargo/remote/BUILD.matches-0.1.9.bazel | 58 - cargo/remote/BUILD.memchr-2.5.0.bazel | 88 - cargo/remote/BUILD.memoffset-0.6.5.bazel | 87 - cargo/remote/BUILD.mime-0.3.16.bazel | 60 - cargo/remote/BUILD.mime_guess-2.0.4.bazel | 91 - .../remote/BUILD.minimal-lexical-0.2.1.bazel | 79 - cargo/remote/BUILD.miniz_oxide-0.5.4.bazel | 55 - cargo/remote/BUILD.mio-0.8.4.bazel | 88 - cargo/remote/BUILD.multimap-0.8.3.bazel | 54 - cargo/remote/BUILD.native-tls-0.2.10.bazel | 154 - .../BUILD.new_debug_unreachable-1.0.4.bazel | 67 - cargo/remote/BUILD.nodrop-0.1.14.bazel | 56 - cargo/remote/BUILD.nom-7.1.1.bazel | 97 - cargo/remote/BUILD.num-format-0.4.0.bazel | 76 - cargo/remote/BUILD.num-integer-0.1.45.bazel | 100 - cargo/remote/BUILD.num-traits-0.2.15.bazel | 89 - cargo/remote/BUILD.num_cpus-1.13.1.bazel | 71 - cargo/remote/BUILD.num_enum-0.5.7.bazel | 73 - .../remote/BUILD.num_enum_derive-0.5.7.bazel | 60 - cargo/remote/BUILD.num_threads-0.1.6.bazel | 67 - cargo/remote/BUILD.object-0.29.0.bazel | 66 - cargo/remote/BUILD.once_cell-1.15.0.bazel | 74 - cargo/remote/BUILD.openssl-0.10.41.bazel | 99 - cargo/remote/BUILD.openssl-macros-0.1.0.bazel | 57 - cargo/remote/BUILD.openssl-probe-0.1.5.bazel | 56 - cargo/remote/BUILD.openssl-sys-0.9.75.bazel | 106 - cargo/remote/BUILD.parking_lot-0.12.1.bazel | 59 - .../remote/BUILD.parking_lot_core-0.9.3.bazel | 129 - cargo/remote/BUILD.pct-str-1.1.0.bazel | 61 - .../remote/BUILD.percent-encoding-2.2.0.bazel | 56 - cargo/remote/BUILD.petgraph-0.6.2.bazel | 102 - cargo/remote/BUILD.phf-0.10.1.bazel | 57 - cargo/remote/BUILD.phf-0.11.1.bazel | 62 - cargo/remote/BUILD.phf-0.8.0.bazel | 64 - cargo/remote/BUILD.phf_codegen-0.10.0.bazel | 56 - cargo/remote/BUILD.phf_codegen-0.8.0.bazel | 56 - cargo/remote/BUILD.phf_generator-0.10.0.bazel | 85 - cargo/remote/BUILD.phf_generator-0.11.1.bazel | 85 - cargo/remote/BUILD.phf_generator-0.8.0.bazel | 85 - cargo/remote/BUILD.phf_macros-0.11.1.bazel | 59 - cargo/remote/BUILD.phf_macros-0.8.0.bazel | 68 - cargo/remote/BUILD.phf_shared-0.10.0.bazel | 57 - cargo/remote/BUILD.phf_shared-0.11.1.bazel | 56 - cargo/remote/BUILD.phf_shared-0.8.0.bazel | 57 - cargo/remote/BUILD.pin-project-1.0.12.bazel | 101 - .../BUILD.pin-project-internal-1.0.12.bazel | 57 - .../remote/BUILD.pin-project-lite-0.2.9.bazel | 66 - cargo/remote/BUILD.pin-utils-0.1.0.bazel | 58 - cargo/remote/BUILD.pkg-config-0.3.25.bazel | 56 - cargo/remote/BUILD.ppv-lite86-0.2.16.bazel | 56 - .../remote/BUILD.precomputed-hash-0.1.1.bazel | 54 - .../remote/BUILD.proc-macro-crate-1.2.1.bazel | 57 - .../remote/BUILD.proc-macro-hack-0.5.19.bazel | 86 - .../BUILD.proc-macro-nested-0.1.7.bazel | 84 - cargo/remote/BUILD.proc-macro2-1.0.43.bazel | 99 - cargo/remote/BUILD.prost-0.11.0.bazel | 64 - cargo/remote/BUILD.prost-build-0.11.1.bazel | 67 - cargo/remote/BUILD.prost-derive-0.11.0.bazel | 59 - cargo/remote/BUILD.prost-types-0.11.1.bazel | 56 - cargo/remote/BUILD.pulldown-cmark-0.8.0.bazel | 140 - cargo/remote/BUILD.pulldown-cmark-0.9.2.bazel | 144 - cargo/remote/BUILD.pyo3-0.17.1.bazel | 228 -- .../BUILD.pyo3-build-config-0.17.1.bazel | 100 - cargo/remote/BUILD.pyo3-ffi-0.17.1.bazel | 97 - cargo/remote/BUILD.pyo3-macros-0.17.1.bazel | 59 - .../BUILD.pyo3-macros-backend-0.17.1.bazel | 58 - cargo/remote/BUILD.quote-1.0.21.bazel | 93 - cargo/remote/BUILD.rand-0.7.3.bazel | 107 - cargo/remote/BUILD.rand-0.8.5.bazel | 79 - cargo/remote/BUILD.rand_chacha-0.2.2.bazel | 57 - cargo/remote/BUILD.rand_chacha-0.3.1.bazel | 57 - cargo/remote/BUILD.rand_core-0.5.1.bazel | 58 - cargo/remote/BUILD.rand_core-0.6.4.bazel | 58 - cargo/remote/BUILD.rand_hc-0.2.0.bazel | 55 - cargo/remote/BUILD.rand_pcg-0.2.1.bazel | 61 - cargo/remote/BUILD.redox_syscall-0.2.16.bazel | 64 - cargo/remote/BUILD.redox_users-0.4.3.bazel | 57 - cargo/remote/BUILD.regex-1.6.0.bazel | 104 - .../remote/BUILD.regex-automata-0.1.10.bazel | 56 - cargo/remote/BUILD.regex-syntax-0.6.27.bazel | 65 - cargo/remote/BUILD.remove_dir_all-0.5.3.bazel | 64 - cargo/remote/BUILD.reqwest-0.11.3.bazel | 165 - cargo/remote/BUILD.ring-0.16.20.bazel | 180 - cargo/remote/BUILD.rusqlite-0.28.0.bazel | 75 - .../remote/BUILD.rustc-demangle-0.1.21.bazel | 54 - cargo/remote/BUILD.rustc-hash-1.1.0.bazel | 56 - cargo/remote/BUILD.rustc_version-0.4.0.bazel | 57 - cargo/remote/BUILD.rustls-0.19.1.bazel | 81 - .../BUILD.rustls-native-certs-0.5.0.bazel | 93 - cargo/remote/BUILD.rustversion-1.0.9.bazel | 92 - cargo/remote/BUILD.ryu-1.0.11.bazel | 72 - cargo/remote/BUILD.same-file-1.0.6.bazel | 68 - cargo/remote/BUILD.schannel-0.1.20.bazel | 56 - cargo/remote/BUILD.scopeguard-1.1.0.bazel | 58 - cargo/remote/BUILD.sct-0.6.1.bazel | 56 - .../BUILD.security-framework-2.7.0.bazel | 67 - .../BUILD.security-framework-sys-2.6.1.bazel | 58 - cargo/remote/BUILD.selectors-0.22.0.bazel | 98 - cargo/remote/BUILD.self_cell-0.10.2.bazel | 54 - cargo/remote/BUILD.semver-1.0.14.bazel | 98 - cargo/remote/BUILD.serde-1.0.145.bazel | 97 - cargo/remote/BUILD.serde-aux-4.0.0.bazel | 59 - cargo/remote/BUILD.serde_derive-1.0.145.bazel | 89 - cargo/remote/BUILD.serde_json-1.0.85.bazel | 105 - cargo/remote/BUILD.serde_repr-0.1.9.bazel | 61 - cargo/remote/BUILD.serde_tuple-0.5.0.bazel | 60 - .../BUILD.serde_tuple_macros-0.5.0.bazel | 57 - .../remote/BUILD.serde_urlencoded-0.7.1.bazel | 62 - cargo/remote/BUILD.servo_arc-0.1.1.bazel | 56 - cargo/remote/BUILD.sha1-0.6.1.bazel | 55 - cargo/remote/BUILD.sha1_smol-1.0.0.bazel | 54 - .../BUILD.signal-hook-registry-1.4.0.bazel | 57 - cargo/remote/BUILD.siphasher-0.3.10.bazel | 56 - cargo/remote/BUILD.slab-0.4.7.bazel | 93 - cargo/remote/BUILD.slog-2.7.0.bazel | 98 - cargo/remote/BUILD.slog-async-2.7.0.bazel | 90 - cargo/remote/BUILD.slog-envlogger-2.2.0.bazel | 71 - cargo/remote/BUILD.slog-scope-4.4.0.bazel | 59 - cargo/remote/BUILD.slog-stdlog-4.1.1.bazel | 58 - cargo/remote/BUILD.slog-term-2.9.0.bazel | 73 - cargo/remote/BUILD.smallvec-1.9.0.bazel | 58 - cargo/remote/BUILD.snafu-0.7.2.bazel | 134 - cargo/remote/BUILD.snafu-derive-0.7.2.bazel | 60 - cargo/remote/BUILD.snowflake-1.3.0.bazel | 55 - cargo/remote/BUILD.socket2-0.4.7.bazel | 78 - cargo/remote/BUILD.spin-0.5.2.bazel | 56 - .../BUILD.stable_deref_trait-1.2.0.bazel | 57 - cargo/remote/BUILD.string_cache-0.8.4.bazel | 67 - .../BUILD.string_cache_codegen-0.5.2.bazel | 58 - cargo/remote/BUILD.strum-0.24.1.bazel | 61 - cargo/remote/BUILD.strum_macros-0.24.3.bazel | 61 - cargo/remote/BUILD.subtle-2.4.1.bazel | 56 - cargo/remote/BUILD.syn-1.0.100.bazel | 169 - cargo/remote/BUILD.take_mut-0.2.2.bazel | 54 - .../remote/BUILD.target-lexicon-0.12.4.bazel | 90 - cargo/remote/BUILD.tempfile-3.3.0.bazel | 88 - cargo/remote/BUILD.tendril-0.4.3.bazel | 59 - cargo/remote/BUILD.term-0.7.0.bazel | 71 - cargo/remote/BUILD.termcolor-1.1.3.bazel | 64 - cargo/remote/BUILD.thin-slice-0.1.1.bazel | 54 - cargo/remote/BUILD.thiserror-1.0.35.bazel | 113 - .../remote/BUILD.thiserror-impl-1.0.35.bazel | 57 - cargo/remote/BUILD.thread_local-1.1.4.bazel | 57 - cargo/remote/BUILD.time-0.1.44.bazel | 65 - cargo/remote/BUILD.time-0.3.14.bazel | 84 - cargo/remote/BUILD.time-macros-0.2.4.bazel | 54 - cargo/remote/BUILD.tinystr-0.3.4.bazel | 64 - cargo/remote/BUILD.tinyvec-1.6.0.bazel | 66 - cargo/remote/BUILD.tinyvec_macros-0.1.0.bazel | 54 - cargo/remote/BUILD.tokio-1.21.1.bazel | 443 --- .../remote/BUILD.tokio-io-timeout-1.1.1.bazel | 56 - cargo/remote/BUILD.tokio-macros-1.8.0.bazel | 57 - .../remote/BUILD.tokio-native-tls-0.3.0.bazel | 66 - cargo/remote/BUILD.tokio-rustls-0.22.0.bazel | 63 - cargo/remote/BUILD.tokio-socks-0.5.1.bazel | 72 - cargo/remote/BUILD.tokio-util-0.7.4.bazel | 104 - cargo/remote/BUILD.toml-0.5.9.bazel | 64 - cargo/remote/BUILD.tower-service-0.3.2.bazel | 54 - cargo/remote/BUILD.tracing-0.1.36.bazel | 114 - cargo/remote/BUILD.tracing-core-0.1.29.bazel | 63 - cargo/remote/BUILD.try-lock-0.2.3.bazel | 54 - cargo/remote/BUILD.type-map-0.4.0.bazel | 55 - cargo/remote/BUILD.typenum-1.15.0.bazel | 86 - .../BUILD.unic-char-property-0.9.0.bazel | 61 - .../remote/BUILD.unic-char-range-0.9.0.bazel | 61 - cargo/remote/BUILD.unic-common-0.9.0.bazel | 55 - cargo/remote/BUILD.unic-langid-0.9.0.bazel | 59 - .../remote/BUILD.unic-langid-impl-0.9.0.bazel | 117 - .../BUILD.unic-langid-macros-0.9.0.bazel | 60 - .../BUILD.unic-langid-macros-impl-0.9.0.bazel | 60 - .../BUILD.unic-ucd-category-0.9.0.bazel | 65 - .../remote/BUILD.unic-ucd-version-0.9.0.bazel | 58 - cargo/remote/BUILD.unicase-2.6.0.bazel | 85 - cargo/remote/BUILD.unicode-bidi-0.3.8.bazel | 57 - cargo/remote/BUILD.unicode-ident-1.0.4.bazel | 60 - .../BUILD.unicode-normalization-0.1.22.bazel | 59 - .../BUILD.unicode-segmentation-1.10.0.bazel | 60 - cargo/remote/BUILD.unicode-width-0.1.10.bazel | 55 - cargo/remote/BUILD.unindent-0.1.10.bazel | 54 - cargo/remote/BUILD.untrusted-0.7.1.bazel | 56 - cargo/remote/BUILD.url-2.3.1.bazel | 68 - cargo/remote/BUILD.utf-8-0.7.6.bazel | 67 - cargo/remote/BUILD.utf8-decode-1.0.1.bazel | 58 - cargo/remote/BUILD.utime-0.3.1.bazel | 79 - cargo/remote/BUILD.vcpkg-0.2.15.bazel | 54 - cargo/remote/BUILD.version_check-0.9.4.bazel | 54 - cargo/remote/BUILD.walkdir-2.3.2.bazel | 66 - cargo/remote/BUILD.want-0.3.0.bazel | 58 - ...D.wasi-0.10.0+wasi-snapshot-preview1.bazel | 56 - ...D.wasi-0.11.0+wasi-snapshot-preview1.bazel | 56 - ...LD.wasi-0.9.0+wasi-snapshot-preview1.bazel | 56 - cargo/remote/BUILD.wasm-bindgen-0.2.83.bazel | 114 - .../BUILD.wasm-bindgen-backend-0.2.83.bazel | 62 - .../BUILD.wasm-bindgen-futures-0.4.33.bazel | 59 - .../BUILD.wasm-bindgen-macro-0.2.83.bazel | 59 - ...LD.wasm-bindgen-macro-support-0.2.83.bazel | 60 - .../BUILD.wasm-bindgen-shared-0.2.83.bazel | 85 - cargo/remote/BUILD.web-sys-0.3.60.bazel | 75 - cargo/remote/BUILD.webpki-0.21.4.bazel | 64 - cargo/remote/BUILD.webpki-roots-0.21.1.bazel | 81 - cargo/remote/BUILD.which-4.3.0.bazel | 68 - cargo/remote/BUILD.winapi-0.3.9.bazel | 154 - ...ILD.winapi-i686-pc-windows-gnu-0.4.0.bazel | 84 - cargo/remote/BUILD.winapi-util-0.1.5.bazel | 64 - ...D.winapi-x86_64-pc-windows-gnu-0.4.0.bazel | 84 - cargo/remote/BUILD.windows-sys-0.36.1.bazel | 83 - .../BUILD.windows_aarch64_msvc-0.36.1.bazel | 84 - .../BUILD.windows_i686_gnu-0.36.1.bazel | 84 - .../BUILD.windows_i686_msvc-0.36.1.bazel | 84 - .../BUILD.windows_x86_64_gnu-0.36.1.bazel | 84 - .../BUILD.windows_x86_64_msvc-0.36.1.bazel | 84 - cargo/remote/BUILD.winreg-0.7.0.bazel | 65 - cargo/remote/BUILD.zip-0.6.2.bazel | 89 - .../remote/BUILD.zstd-0.11.2+zstd.1.5.2.bazel | 70 - .../BUILD.zstd-safe-5.0.2+zstd.1.5.2.bazel | 97 - .../BUILD.zstd-sys-2.0.1+zstd.1.5.2.bazel | 95 - cargo/update-licenses.sh | 3 + cargo/update.py | 174 - defs.bzl | 72 - docs/BUILD.bazel | 4 - docs/build.md | 36 + docs/contributing.md | 4 +- docs/development.md | 263 +- docs/docker/README.md | 46 +- docs/editing.md | 40 +- docs/linux.md | 87 +- docs/mac.md | 55 +- docs/new-platform.md | 121 - docs/ninja.md | 14 + docs/protobuf.md | 28 +- docs/syncserver.md | 30 +- docs/windows.md | 95 +- ftl/BUILD.bazel | 69 - ftl/Cargo.toml | 17 + ftl/core-repo | 1 + ftl/duplicate-string.py | 14 +- ftl/extract-strings.py | 8 +- ftl/format.py | 2 - ftl/qt-repo | 1 + ftl/sync.py | 164 - ftl/sync.rs | 118 + ftl/transform-string.py | 3 +- late_deps.bzl | 8 - ninja | 15 + package.json | 27 +- platforms/BUILD.bazel | 41 - platforms/README.md | 2 - proto/BUILD.bazel | 32 - proto/README.md | 3 + proto/clang_format.bzl | 85 - proto/format.py | 42 - proto/protobuf.bzl | 75 - pylib/BUILD.bazel | 91 - pylib/anki/BUILD.bazel | 133 - .../{_backend/__init__.py => _backend.py} | 18 +- pylib/anki/_backend/BUILD.bazel | 77 - pylib/anki/_backend/fluent.py | 1 - pylib/anki/_backend/generated.py | 1 - pylib/anki/_backend/python_lib.bzl | 38 - pylib/anki/_legacy.py | 5 +- .../{_backend/rsbridge.pyi => _rsbridge.pyi} | 0 pylib/anki/_vendor/BUILD.bazel | 18 - pylib/anki/_vendor/__init__.py | 0 pylib/anki/backend_pb2.pyi | 1 - pylib/anki/buildinfo.py | 21 - pylib/anki/card_rendering_pb2.pyi | 1 - pylib/anki/cards_pb2.pyi | 1 - pylib/anki/collection_pb2.pyi | 1 - pylib/anki/config_pb2.pyi | 1 - pylib/anki/deckconfig_pb2.pyi | 1 - pylib/anki/decks_pb2.pyi | 1 - pylib/anki/generic_pb2.pyi | 1 - pylib/anki/hooks_gen.py | 1 - pylib/anki/i18n_pb2.pyi | 1 - pylib/anki/import_export_pb2.pyi | 1 - pylib/anki/lang.py | 2 +- pylib/anki/links_pb2.pyi | 1 - pylib/anki/media_pb2.pyi | 1 - pylib/anki/notes_pb2.pyi | 1 - pylib/anki/notetypes_pb2.pyi | 1 - pylib/anki/scheduler_pb2.pyi | 1 - pylib/anki/search_pb2.pyi | 1 - pylib/anki/stats_pb2.pyi | 1 - pylib/anki/sync_pb2.pyi | 1 - pylib/anki/tags_pb2.pyi | 1 - pylib/anki/utils.py | 2 +- pylib/anki/wheel_description.txt | 1 - pylib/mypy.ini | 43 - pylib/orjson.bzl | 9 - pylib/protobuf.bzl | 50 - pylib/rsbridge/BUILD.bazel | 54 - pylib/rsbridge/Cargo.toml | 15 +- pylib/rsbridge/build.rs | 21 +- pylib/rsbridge/cargo/BUILD.bazel | 625 --- pylib/rsbridge/lib.rs | 19 +- pylib/tests/run_format.py | 65 - pylib/tests/run_mypy.py | 44 - pylib/tests/run_pylint.py | 30 - pylib/tests/run_pytest.py | 18 - pylib/tests/shared.py | 24 +- pylib/tests/test_collection.py | 3 +- pylib/tests/test_exporting.py | 7 +- pylib/tests/test_importing.py | 7 +- pylib/tests/test_schedv2.py | 9 +- pylib/tools/BUILD.bazel | 64 - pylib/tools/__init__.py | 0 pylib/tools/diff-sched.py | 39 - pylib/{anki/_backend => tools}/genbackend.py | 38 +- pylib/tools/genbuildinfo.py | 20 + pylib/{anki/_backend => tools}/genfluent.py | 18 +- pylib/tools/hookslib.py | 4 +- pylib/tools/protoc-gen-mypy.py | 9 - pylib/tools/protoc_wrapper.py | 36 - pylib/tools/rewrite_tr.py | 45 - pyrightconfig.json | 3 - python/BUILD.bazel | 48 - python/README.md | 12 +- python/binary.bzl | 15 - pylib/anki/__init__.py => python/mkempty.py | 4 + python/pyqt/BUILD.bazel | 0 python/pyqt/README.md | 10 - python/pyqt/defs.bzl | 44 - python/pyqt/install.py | 87 - python/python.bzl | 104 - python/requirements.anki.in | 8 + python/requirements.aqt.in | 10 + python/requirements.base.in | 2 + python/requirements.base.txt | 48 + python/requirements.bundle.in | 7 + python/requirements.bundle.txt | 304 ++ python/requirements.dev.in | 24 + python/requirements.dev.txt | 625 +++ python/requirements.in | 39 - ...requirements.in => requirements.qt5_14.in} | 0 ...quirements.txt => requirements.qt5_14.txt} | 0 ...requirements.in => requirements.qt5_15.in} | 0 ...quirements.txt => requirements.qt5_15.txt} | 0 .../6/requirements.in => requirements.qt6.in} | 0 .../requirements.txt => requirements.qt6.txt} | 13 +- python/requirements.txt | 662 ---- python/requirements.win.in | 1 + python/requirements.win.txt | 16 + python/stubs/BUILD.bazel | 42 - python/stubs/README.md | 2 - python/stubs/extendsitepkgs.py | 26 - python/stubs/gatherstubs.py | 32 - python/stubs/stubs.bzl | 20 - python/update.py | 36 - python/update_python_deps.sh | 23 + python/write_wheel.py | 206 + qt/.isort.cfg | 12 +- qt/.pylintrc | 27 - qt/BUILD.bazel | 196 - qt/aqt/BUILD.bazel | 151 - qt/aqt/_macos_helper.py | 3 +- qt/aqt/browser/browser.py | 2 +- qt/aqt/clayout.py | 4 +- qt/aqt/colors.py | 5 +- qt/aqt/customstudy.py | 2 +- qt/aqt/data/BUILD.bazel | 9 - qt/aqt/data/lib/BUILD.bazel | 18 - qt/aqt/data/qt/BUILD.bazel | 27 - qt/aqt/data/qt/icons/BUILD.bazel | 136 - qt/aqt/data/qt/icons/color_svg.bzl | 30 - qt/aqt/data/web/.prettierrc | 1 - qt/aqt/data/web/BUILD.bazel | 10 - qt/aqt/data/web/css/BUILD.bazel | 54 - qt/aqt/data/web/css/deckbrowser.scss | 2 +- qt/aqt/data/web/css/overview.scss | 2 +- qt/aqt/data/web/css/reviewer-bottom.scss | 2 +- qt/aqt/data/web/css/toolbar.scss | 2 +- qt/aqt/data/web/imgs/BUILD.bazel | 9 - qt/aqt/data/web/js/BUILD.bazel | 80 - qt/aqt/data/web/js/compile_ts.bzl | 19 - qt/aqt/data/web/js/tsconfig.json | 1 + qt/aqt/data/web/js/vendor/BUILD.bazel | 34 - qt/aqt/data/web/js/vendor/mathjax/BUILD.bazel | 3 - qt/aqt/data/web/pages/BUILD.bazel | 31 - qt/aqt/deckconf.py | 2 +- qt/aqt/filtered_deck.py | 2 +- qt/aqt/forms/BUILD.bazel | 32 - qt/aqt/forms/__init__.py | 88 +- qt/aqt/forms/about.py | 5 +- qt/aqt/forms/about_qt6.py | 1 - qt/aqt/forms/addcards.py | 5 +- qt/aqt/forms/addcards_qt6.py | 1 - qt/aqt/forms/addfield.py | 5 +- qt/aqt/forms/addfield_qt6.py | 1 - qt/aqt/forms/addmodel.py | 5 +- qt/aqt/forms/addmodel_qt6.py | 1 - qt/aqt/forms/addonconf.py | 5 +- qt/aqt/forms/addonconf_qt6.py | 1 - qt/aqt/forms/addons.py | 5 +- qt/aqt/forms/addons_qt6.py | 1 - qt/aqt/forms/browser.py | 5 +- qt/aqt/forms/browser_qt6.py | 1 - qt/aqt/forms/browserdisp.py | 5 +- qt/aqt/forms/browserdisp_qt6.py | 1 - qt/aqt/forms/browseropts.py | 5 +- qt/aqt/forms/browseropts_qt6.py | 1 - qt/aqt/forms/build_ui_qt5.py | 38 - qt/aqt/forms/build_ui_qt6.py | 39 - qt/aqt/forms/changemap.py | 5 +- qt/aqt/forms/changemap_qt6.py | 1 - qt/aqt/forms/changemodel.py | 5 +- qt/aqt/forms/changemodel_qt6.py | 1 - qt/aqt/forms/clayout_top.py | 5 +- qt/aqt/forms/clayout_top_qt6.py | 1 - qt/aqt/forms/compile.bzl | 27 - qt/aqt/forms/customstudy.py | 5 +- qt/aqt/forms/customstudy_qt6.py | 1 - qt/aqt/forms/dconf.py | 5 +- qt/aqt/forms/dconf_qt6.py | 1 - qt/aqt/forms/debug.py | 5 +- qt/aqt/forms/debug_qt6.py | 1 - qt/aqt/forms/editaddon.py | 5 +- qt/aqt/forms/editaddon_qt6.py | 1 - qt/aqt/forms/editcurrent.py | 5 +- qt/aqt/forms/editcurrent_qt6.py | 1 - qt/aqt/forms/edithtml.py | 5 +- qt/aqt/forms/edithtml_qt6.py | 1 - qt/aqt/forms/emptycards.py | 5 +- qt/aqt/forms/emptycards_qt6.py | 1 - qt/aqt/forms/exporting.py | 5 +- qt/aqt/forms/exporting_qt6.py | 1 - qt/aqt/forms/fields.py | 5 +- qt/aqt/forms/fields_qt6.py | 1 - qt/aqt/forms/fields_web.py | 5 +- qt/aqt/forms/fields_web_qt6.py | 1 - qt/aqt/forms/filtered_deck.py | 5 +- qt/aqt/forms/filtered_deck_qt6.py | 1 - qt/aqt/forms/finddupes.py | 5 +- qt/aqt/forms/finddupes_qt6.py | 1 - qt/aqt/forms/findreplace.py | 5 +- qt/aqt/forms/findreplace_qt6.py | 1 - qt/aqt/forms/forget.py | 4 +- qt/aqt/forms/forget_qt6.py | 1 - qt/aqt/forms/getaddons.py | 5 +- qt/aqt/forms/getaddons_qt6.py | 1 - qt/aqt/forms/icons.qrc | 1 - qt/aqt/forms/importing.py | 5 +- qt/aqt/forms/importing_qt6.py | 1 - qt/aqt/forms/main.py | 5 +- qt/aqt/forms/main_qt6.py | 1 - qt/aqt/forms/modelopts.py | 5 +- qt/aqt/forms/modelopts_qt6.py | 1 - qt/aqt/forms/models.py | 5 +- qt/aqt/forms/models_qt6.py | 1 - qt/aqt/forms/preferences.py | 5 +- qt/aqt/forms/preferences_qt6.py | 1 - qt/aqt/forms/preview.py | 5 +- qt/aqt/forms/preview_qt6.py | 1 - qt/aqt/forms/profiles.py | 5 +- qt/aqt/forms/profiles_qt6.py | 1 - qt/aqt/forms/progress.py | 5 +- qt/aqt/forms/progress_qt6.py | 1 - qt/aqt/forms/reposition.py | 5 +- qt/aqt/forms/reposition_qt6.py | 1 - qt/aqt/forms/setgroup.py | 5 +- qt/aqt/forms/setgroup_qt6.py | 1 - qt/aqt/forms/setlang.py | 5 +- qt/aqt/forms/setlang_qt6.py | 1 - qt/aqt/forms/stats.py | 5 +- qt/aqt/forms/stats_qt6.py | 1 - qt/aqt/forms/studydeck.py | 5 +- qt/aqt/forms/studydeck_qt6.py | 1 - qt/aqt/forms/synclog.py | 5 +- qt/aqt/forms/synclog_qt6.py | 1 - qt/aqt/forms/taglimit.py | 5 +- qt/aqt/forms/taglimit_qt6.py | 1 - qt/aqt/forms/template.py | 5 +- qt/aqt/forms/template_qt6.py | 1 - qt/aqt/gui_hooks.py | 2 +- qt/aqt/hooks_gen.py | 1 - qt/aqt/importing.py | 3 +- qt/aqt/main.py | 2 +- qt/aqt/mediasrv.py | 23 +- qt/aqt/operations/deck.py | 2 +- qt/aqt/operations/notetype.py | 2 +- qt/aqt/operations/tag.py | 2 +- qt/aqt/pinnedmodules.py | 53 - qt/aqt/props.py | 11 + qt/aqt/qt/qt6.py | 2 +- qt/aqt/switch.py | 14 +- qt/aqt/utils.py | 35 +- qt/aqt/wheel_description.txt | 1 - qt/bazelfixes.py | 64 - qt/bundle/Cargo.lock | 156 +- qt/bundle/Cargo.toml | 16 +- qt/bundle/PyOxidizer | 1 + qt/bundle/build.py | 385 -- qt/bundle/build.rs | 48 +- qt/bundle/mac/Cargo.lock | 204 - qt/bundle/mac/Cargo.toml | 15 +- qt/bundle/mac/dmg/build.sh | 2 +- qt/bundle/mac/dmg/set-dmg-settings.scpt | Bin 1276 -> 4156 bytes qt/bundle/mac/finalize.py | 60 - qt/bundle/mac/notarize.py | 148 - qt/bundle/mac/src/codesign.rs | 40 + qt/bundle/mac/src/dmg.rs | 48 + qt/bundle/mac/src/main.rs | 238 +- qt/bundle/mac/src/notarize.rs | 96 + qt/bundle/pyoxidizer.bzl | 61 +- qt/bundle/win/Cargo.lock | 1497 ------- qt/bundle/win/Cargo.toml | 13 +- qt/bundle/win/anki.template.nsi | 6 +- qt/bundle/win/rustfmt.toml | 4 - qt/bundle/win/src/main.rs | 168 +- qt/dmypy.py | 44 - qt/mac/BUILD.bazel | 16 - qt/mac/helper_build.py | 7 +- qt/tests/run_format.py | 66 - qt/tests/run_mypy.py | 51 - qt/tests/run_pylint.py | 29 - qt/tests/run_pytest.py | 19 - qt/{aqt/data/qt => tools}/build_qrc.py | 4 - qt/{aqt/forms => tools}/build_ui.py | 36 +- qt/{aqt/data/qt/icons => tools}/color_svg.py | 13 +- qt/tools/extract_sass_vars.py | 13 +- qt/tools/genhooks_gui.py | 3 +- repos.bzl | 245 -- rslib/BUILD.bazel | 176 - rslib/Cargo.toml | 23 +- rslib/README.md | 2 - rslib/build/main.rs | 15 +- rslib/build/protobuf.rs | 34 +- rslib/cargo/BUILD.bazel | 625 --- rslib/empty.rs | 1 - rslib/i18n/BUILD.bazel | 106 - rslib/i18n/Cargo.toml | 7 +- rslib/i18n/build/gather.rs | 82 +- rslib/i18n/build/main.rs | 12 +- rslib/i18n/build/write_json.rs | 12 - rslib/i18n/cargo/BUILD.bazel | 625 --- rslib/i18n_helpers/BUILD.bazel | 60 - rslib/i18n_helpers/Cargo.toml | 1 + rslib/i18n_helpers/cargo/BUILD.bazel | 625 --- rslib/linkchecker/BUILD.bazel | 42 - rslib/linkchecker/Cargo.toml | 21 +- rslib/linkchecker/cargo/BUILD.bazel | 625 --- rslib/linkchecker/tests/links.rs | 6 +- rslib/rustfmt.bzl | 85 - rslib/rustfmt.toml | 4 - rslib/src/card/undo.rs | 2 +- rslib/src/card_rendering/mod.rs | 1 - rslib/src/card_rendering/writer.rs | 2 +- rslib/src/config/mod.rs | 5 +- rslib/src/deckconfig/schema11.rs | 2 +- rslib/src/decks/schema11.rs | 11 +- rslib/src/decks/undo.rs | 2 +- rslib/src/import_export/package/apkg/tests.rs | 2 +- rslib/src/io.rs | 2 +- rslib/src/media/database.rs | 6 +- rslib/src/storage/mod.rs | 8 +- rslib/src/storage/sqlite.rs | 12 +- rslib/src/sync/mod.rs | 3 +- rslib/src/sync/server.rs | 2 +- rslib/src/template.rs | 13 +- rslib/src/timestamp.rs | 2 +- rslib/src/version.rs | 15 +- run | 6 +- run.bat | 7 +- rust-toolchain.toml | 3 + sass/BUILD.bazel | 111 - sass/bootstrap-forms.scss | 2 +- sass/bootstrap-tooltip.scss | 2 +- sass/bootstrap/BUILD.bazel | 22 - tools/BUILD.bazel | 12 - tools/bazel | 21 - tools/build | 20 +- tools/build.bat | 17 +- tools/buildinfo.py | 31 - tools/bundle | 37 - tools/bundle.bat | 33 - tools/cargo-env | 24 - tools/cargo-env.bat | 7 - tools/cleanup_js.py | 32 - tools/copyright_headers.py | 69 +- tools/dmypy | 6 + tools/mypy | 6 - tools/mypy-watch | 11 - tools/ninja.bat | 5 + tools/node-env | 24 - tools/python | 3 - tools/python.bat | 6 - tools/run-qt5.14 | 17 +- tools/run-qt5.15 | 15 +- tools/run-qt5.15.bat | 11 +- tools/run.py | 10 + tools/runopt | 2 +- tools/runopt.bat | 7 - tools/status.sh | 3 - tools/svelte-check | 6 - tools/ts-run | 7 +- tools/workspace-hack/.gitattributes | 4 + tools/workspace-hack/Cargo.toml | 67 + tools/workspace-hack/build.rs | 2 + tools/workspace-hack/src/lib.rs | 1 + ts/BUILD.bazel | 45 - ts/bundle_svelte.mjs | 51 + ts/bundle_ts.mjs | 19 + ts/card-info/BUILD.bazel | 73 - ts/card-info/CardInfo.svelte | 5 +- ts/card-info/CardInfoPlaceholder.svelte | 2 +- ts/card-info/CardStats.svelte | 6 +- ts/card-info/Revlog.svelte | 6 +- ts/card-info/index.ts | 9 +- ts/change-notetype/Alert.svelte | 4 +- ts/change-notetype/BUILD.bazel | 87 - ts/change-notetype/ChangeNotetypePage.svelte | 7 +- ts/change-notetype/SaveButton.svelte | 5 +- ts/change-notetype/StickyHeader.svelte | 6 +- ts/change-notetype/change-notetype-base.scss | 10 +- ts/change-notetype/index.ts | 11 +- ts/change-notetype/lib.test.ts | 6 +- ts/change-notetype/lib.ts | 25 +- ts/compile_sass.bzl | 30 - ts/components/BUILD.bazel | 52 - ts/components/DropdownItem.svelte | 2 +- ts/components/DynamicallySlottable.svelte | 6 +- ts/components/HorizontalResizer.svelte | 7 +- ts/components/Pane.svelte | 3 +- ts/components/PaneContent.svelte | 2 +- ts/components/Shortcut.svelte | 5 +- ts/components/VerticalResizer.svelte | 6 +- ts/components/WithFloating.svelte | 6 +- ts/components/WithOverlay.svelte | 10 +- ts/congrats/BUILD.bazel | 68 - ts/congrats/CongratsPage.svelte | 7 +- ts/congrats/congrats-base.scss | 2 +- ts/congrats/index.ts | 9 +- ts/congrats/lib.ts | 6 +- ts/congrats/tsconfig.json | 5 +- ts/copy.bzl | 73 - ts/deck-options/AdvancedOptions.svelte | 4 +- ts/deck-options/AudioOptions.svelte | 4 +- ts/deck-options/BUILD.bazel | 108 - ts/deck-options/BuryOptions.svelte | 4 +- ts/deck-options/ConfigSelector.svelte | 6 +- ts/deck-options/DailyLimits.svelte | 4 +- ts/deck-options/DisplayOrder.svelte | 6 +- ts/deck-options/HelpModal.svelte | 4 +- ts/deck-options/HelpSection.svelte | 4 +- ts/deck-options/LapseOptions.svelte | 4 +- ts/deck-options/NewOptions.svelte | 6 +- ts/deck-options/RevertButton.svelte | 4 +- ts/deck-options/SaveButton.svelte | 8 +- ts/deck-options/TimerOptions.svelte | 4 +- ts/deck-options/Warning.svelte | 4 +- ts/deck-options/deck-options-base.scss | 18 +- ts/deck-options/index.ts | 9 +- ts/deck-options/lib.test.ts | 7 +- ts/deck-options/lib.ts | 25 +- ts/deck-options/steps.ts | 2 +- ts/deck-options/strings.ts | 2 +- ts/deck-options/tsconfig.json | 2 +- ts/domlib/BUILD.bazel | 29 - ts/domlib/find-above.ts | 2 +- ts/domlib/move-nodes.ts | 14 +- ts/domlib/place-caret.ts | 2 +- ts/domlib/surround/build/format.ts | 3 +- ts/editable/BUILD.bazel | 71 - ts/editable/Mathjax.svelte | 4 +- ts/editable/content-editable.ts | 13 +- ts/editable/frame-element.ts | 70 +- ts/editable/frame-handle.ts | 56 +- ts/editable/index.ts | 2 +- ts/editable/mathjax-element.ts | 15 +- ts/editor/BUILD.bazel | 116 - ts/editor/ClozeButtons.svelte | 8 +- ts/editor/CodeMirror.svelte | 6 +- ts/editor/DuplicateLink.svelte | 4 +- ts/editor/EditingArea.svelte | 3 +- ts/editor/EditorField.svelte | 9 +- ts/editor/FieldDescription.svelte | 52 + ts/editor/HandleLabel.svelte | 3 +- ts/editor/LabelContainer.svelte | 4 +- ts/editor/NoteCreator.svelte | 6 +- ts/editor/NoteEditor.svelte | 12 +- ts/editor/PlainTextBadge.svelte | 6 +- ts/editor/PreviewButton.svelte | 7 +- ts/editor/RichTextBadge.svelte | 6 +- ts/editor/StickyBadge.svelte | 8 +- ts/editor/base.ts | 8 +- ts/editor/decorated-elements.ts | 3 +- ts/editor/editor-base.scss | 6 +- ts/editor/editor-toolbar/BlockButtons.svelte | 8 +- ts/editor/editor-toolbar/BoldButton.svelte | 10 +- .../editor-toolbar/CommandIconButton.svelte | 3 +- .../HighlightColorButton.svelte | 10 +- ts/editor/editor-toolbar/ItalicButton.svelte | 10 +- ts/editor/editor-toolbar/LatexButton.svelte | 7 +- .../editor-toolbar/NotetypeButtons.svelte | 7 +- ts/editor/editor-toolbar/OptionsButton.svelte | 5 +- .../editor-toolbar/RemoveFormatButton.svelte | 10 +- .../RichTextClozeButtons.svelte | 3 +- .../editor-toolbar/SubscriptButton.svelte | 10 +- .../editor-toolbar/SuperscriptButton.svelte | 10 +- .../editor-toolbar/TemplateButtons.svelte | 14 +- .../editor-toolbar/TextColorButton.svelte | 12 +- .../editor-toolbar/UnderlineButton.svelte | 8 +- ts/editor/image-overlay/FloatButtons.svelte | 8 +- ts/editor/image-overlay/ImageOverlay.svelte | 10 +- ts/editor/image-overlay/SizeSelect.svelte | 6 +- ts/editor/index_browser.ts | 7 +- ts/editor/index_creator.ts | 7 +- ts/editor/index_reviewer.ts | 7 +- .../mathjax-overlay/MathjaxButtons.svelte | 4 +- .../mathjax-overlay/MathjaxEditor.svelte | 10 +- .../mathjax-overlay/MathjaxOverlay.svelte | 18 +- .../plain-text-input/PlainTextInput.svelte | 7 +- .../rich-text-input/RichTextInput.svelte | 13 +- .../rich-text-input/RichTextStyles.svelte | 3 +- ts/editor/surround.ts | 10 +- .../symbols-overlay/SymbolsOverlay.svelte | 20 +- ts/esbuild.bzl | 23 - ts/esbuild_jest.mjs | 23 + ts/eslint.bzl | 26 - ts/fields/BUILD.bazel | 73 - ts/fields/fields-base.scss | 10 +- ts/fields/index.ts | 4 +- ts/format.sh | 7 - ts/generate_page.bzl | 30 - ts/graphs/AddedGraph.svelte | 6 +- ts/graphs/BUILD.bazel | 77 - ts/graphs/ButtonsGraph.svelte | 8 +- ts/graphs/CalendarGraph.svelte | 6 +- ts/graphs/CardCounts.svelte | 6 +- ts/graphs/EaseGraph.svelte | 6 +- ts/graphs/FutureDue.svelte | 6 +- ts/graphs/GraphRangeRadios.svelte | 5 +- ts/graphs/GraphsPage.svelte | 4 +- ts/graphs/HourGraph.svelte | 8 +- ts/graphs/IntervalsGraph.svelte | 8 +- ts/graphs/NoDataOverlay.svelte | 3 +- ts/graphs/RangeBox.svelte | 4 +- ts/graphs/ReviewsGraph.svelte | 9 +- ts/graphs/TableData.svelte | 3 +- ts/graphs/TodayStats.svelte | 3 +- ts/graphs/WithGraphData.svelte | 4 +- ts/graphs/added.ts | 21 +- ts/graphs/buttons.ts | 60 +- ts/graphs/calendar.ts | 18 +- ts/graphs/card-counts.ts | 44 +- ts/graphs/ease.ts | 19 +- ts/graphs/future-due.ts | 30 +- ts/graphs/graph-helpers.ts | 5 +- ts/graphs/graphs-base.scss | 2 +- ts/graphs/histogram-graph.ts | 31 +- ts/graphs/hours.ts | 27 +- ts/graphs/index.ts | 6 +- ts/graphs/intervals.ts | 27 +- ts/graphs/reviews.ts | 53 +- ts/graphs/today.ts | 16 +- ts/graphs/tooltip.ts | 3 +- ts/html-filter/BUILD.bazel | 23 - ts/icons/BUILD.bazel | 9 - ts/import-csv/BUILD.bazel | 81 - ts/import-csv/DeckSelector.svelte | 5 +- ts/import-csv/DelimiterSelector.svelte | 5 +- ts/import-csv/DupeResolutionSelector.svelte | 5 +- ts/import-csv/FieldMapper.svelte | 5 +- ts/import-csv/HtmlSwitch.svelte | 3 +- ts/import-csv/ImportCsvPage.svelte | 18 +- ts/import-csv/NotetypeSelector.svelte | 5 +- ts/import-csv/Preview.svelte | 3 +- ts/import-csv/StickyFooter.svelte | 5 +- ts/import-csv/Tags.svelte | 4 +- ts/import-csv/import-csv-base.scss | 10 +- ts/import-csv/index.ts | 14 +- ts/import-csv/lib.ts | 9 +- ts/jest.bzl | 72 - ts/jest.config.js | 16 +- ts/lib/BUILD.bazel | 71 - ts/lib/cross-browser.ts | 5 + ts/lib/genfluent.py | 75 +- ts/lib/i18n/index.ts | 7 +- ts/lib/keys.ts | 49 +- ts/lib/platform.ts | 6 +- ts/lib/proto.ts | 2 +- ts/lib/shortcuts.ts | 4 +- ts/lib/time.ts | 4 +- ts/lib/tsconfig.json | 3 +- ts/licenses.json | 1404 +------ ts/mathjax/BUILD.bazel | 24 - ts/mathjax/tsconfig.json | 5 +- ts/patches/@bazel+typescript+4.6.2.patch | 22 - ts/patches/protobufjs+6.11.3.patch | 38 - ts/patches/protobufjs+7.1.2.patch | 29 + ts/prettier.bzl | 35 - ts/proto.bzl | 59 - ts/protobuf-no-long.js | 3 - ts/protobuf.bzl | 128 - ts/reviewer/BUILD.bazel | 48 - ts/reviewer/answering.ts | 4 +- ts/reviewer/index.ts | 43 +- ts/reviewer/reviewer.scss | 3 +- ts/reviewer/tsconfig.json | 7 +- ts/sql_format/BUILD.bazel | 18 - ts/sql_format/defs.bzl | 10 - ts/sql_format/sql_format.ts | 23 +- ts/sql_format/tsconfig.json | 14 - ts/svelte/BUILD.bazel | 25 - ts/svelte/README.md | 4 - ts/svelte/svelte.bzl | 112 - ts/svelte/svelte.ts | 309 -- ts/svelte/tsconfig.json | 13 - ts/sveltelib/BUILD.bazel | 20 - ts/sveltelib/action-list.ts | 2 +- ts/sveltelib/async.ts | 3 +- ts/sveltelib/asyncReactive.ts | 3 +- ts/sveltelib/closing-click.ts | 2 +- ts/sveltelib/closing-keyup.ts | 2 +- ts/sveltelib/dom-mirror.ts | 2 +- ts/sveltelib/dynamic-slotting.ts | 35 +- ts/sveltelib/event-store.ts | 12 +- ts/sveltelib/export-runtime.ts | 3 +- ts/sveltelib/handler-list.ts | 3 +- ts/sveltelib/input-handler.ts | 15 +- ts/sveltelib/lifecycle-hooks.ts | 5 +- ts/sveltelib/node-store.ts | 3 +- ts/sveltelib/portal.ts | 2 +- ts/sveltelib/position/index.ts | 0 ts/sveltelib/preferences.ts | 3 +- ts/sveltelib/resize-store.ts | 3 +- ts/sveltelib/shortcut.ts | 4 +- ts/sveltelib/theme.ts | 3 +- ts/sveltelib/types.ts | 0 ts/tag-editor/BUILD.bazel | 43 - ts/tag-editor/TagEditor.svelte | 6 +- ts/tag-editor/TagInput.svelte | 6 +- ts/tag-editor/TagWithTooltip.svelte | 4 +- ts/tag-editor/WithAutocomplete.svelte | 4 +- .../tag-options-button/TagAddButton.svelte | 6 +- .../TagsSelectedButton.svelte | 6 +- ts/transform_ts.mjs | 19 + ts/tsconfig.json | 39 +- ts/typescript.bzl | 47 - ts/update-licenses.sh | 8 - ts/update.sh | 7 - ts/vendor.bzl | 111 - ts/yarn.sh | 12 +- yarn.lock | 424 +- 1052 files changed, 10917 insertions(+), 47744 deletions(-) delete mode 100644 .bazelignore delete mode 100644 .bazelrc delete mode 100644 .bazelversion create mode 100644 .cargo/config.toml create mode 100644 .config/hakari.toml create mode 100644 .config/nextest.toml rename ts/.eslintrc.js => .eslintrc.js (91%) create mode 100644 .gitmodules rename pylib/.isort.cfg => .isort.cfg (50%) rename qt/mypy.ini => .mypy.ini (69%) rename pylib/.pylintrc => .pylintrc (73%) rename cargo/remote/BUILD.bazel => .rustfmt-empty.toml (100%) rename qt/bundle/rustfmt.toml => .rustfmt.toml (77%) delete mode 100644 .user.bazelrc create mode 100644 .version delete mode 100644 BUILD.bazel delete mode 100644 WORKSPACE create mode 100644 build/archives/Cargo.toml create mode 100644 build/archives/src/main.rs create mode 100644 build/configure/Cargo.toml create mode 100644 build/configure/src/aqt.rs create mode 100644 build/configure/src/bundle.rs create mode 100644 build/configure/src/main.rs create mode 100644 build/configure/src/platform.rs create mode 100644 build/configure/src/proto.rs create mode 100644 build/configure/src/pylib.rs create mode 100644 build/configure/src/python.rs create mode 100644 build/configure/src/rust.rs create mode 100644 build/configure/src/web.rs create mode 100644 build/ninja_gen/Cargo.toml create mode 100644 build/ninja_gen/src/action.rs create mode 100644 build/ninja_gen/src/archives.rs create mode 100644 build/ninja_gen/src/build.rs create mode 100644 build/ninja_gen/src/cargo.rs create mode 100644 build/ninja_gen/src/command.rs create mode 100644 build/ninja_gen/src/configure.rs create mode 100644 build/ninja_gen/src/copy.rs create mode 100644 build/ninja_gen/src/git.rs create mode 100644 build/ninja_gen/src/hash.rs create mode 100644 build/ninja_gen/src/input.rs create mode 100644 build/ninja_gen/src/lib.rs create mode 100644 build/ninja_gen/src/node.rs create mode 100644 build/ninja_gen/src/protobuf.rs create mode 100644 build/ninja_gen/src/python.rs create mode 100644 build/ninja_gen/src/render.rs create mode 100644 build/ninja_gen/src/rsync.rs create mode 100644 build/ninja_gen/src/sass.rs create mode 100644 build/runner/Cargo.toml create mode 100644 build/runner/build.rs create mode 100644 build/runner/src/build.rs create mode 100644 build/runner/src/bundle/artifacts.rs create mode 100644 build/runner/src/bundle/binary.rs create mode 100644 build/runner/src/bundle/folder.rs create mode 100644 build/runner/src/bundle/mod.rs create mode 100644 build/runner/src/main.rs create mode 100644 build/runner/src/paths.rs create mode 100644 build/runner/src/pyenv.rs create mode 100644 build/runner/src/rsync.rs create mode 100644 build/runner/src/run.rs create mode 100644 build/runner/src/yarn.rs delete mode 100644 cargo/BUILD.bazel delete mode 100644 cargo/BUILD.reqwest.native.bazel delete mode 100644 cargo/BUILD.reqwest.rustls.bazel delete mode 100644 cargo/BUILD.term-0.7.0.bazel delete mode 100644 cargo/crates.bzl delete mode 100644 cargo/remote/BUILD.addr2line-0.17.0.bazel delete mode 100644 cargo/remote/BUILD.adler-1.0.2.bazel delete mode 100644 cargo/remote/BUILD.ahash-0.7.6.bazel delete mode 100644 cargo/remote/BUILD.aho-corasick-0.7.19.bazel delete mode 100644 cargo/remote/BUILD.ammonia-3.2.1.bazel delete mode 100644 cargo/remote/BUILD.android_system_properties-0.1.5.bazel delete mode 100644 cargo/remote/BUILD.anyhow-1.0.65.bazel delete mode 100644 cargo/remote/BUILD.arc-swap-1.5.1.bazel delete mode 100644 cargo/remote/BUILD.arrayref-0.3.6.bazel delete mode 100644 cargo/remote/BUILD.arrayvec-0.4.12.bazel delete mode 100644 cargo/remote/BUILD.arrayvec-0.7.2.bazel delete mode 100644 cargo/remote/BUILD.async-trait-0.1.57.bazel delete mode 100644 cargo/remote/BUILD.atty-0.2.14.bazel delete mode 100644 cargo/remote/BUILD.autocfg-1.1.0.bazel delete mode 100644 cargo/remote/BUILD.backtrace-0.3.66.bazel delete mode 100644 cargo/remote/BUILD.base64-0.13.0.bazel delete mode 100644 cargo/remote/BUILD.bitflags-1.3.2.bazel delete mode 100644 cargo/remote/BUILD.blake3-1.3.1.bazel delete mode 100644 cargo/remote/BUILD.block-buffer-0.10.3.bazel delete mode 100644 cargo/remote/BUILD.bstr-0.2.17.bazel delete mode 100644 cargo/remote/BUILD.bumpalo-3.11.0.bazel delete mode 100644 cargo/remote/BUILD.byteorder-1.4.3.bazel delete mode 100644 cargo/remote/BUILD.bytes-1.2.1.bazel delete mode 100644 cargo/remote/BUILD.cc-1.0.73.bazel delete mode 100644 cargo/remote/BUILD.cfg-if-1.0.0.bazel delete mode 100644 cargo/remote/BUILD.chrono-0.4.22.bazel delete mode 100644 cargo/remote/BUILD.coarsetime-0.1.22.bazel delete mode 100644 cargo/remote/BUILD.codespan-0.11.1.bazel delete mode 100644 cargo/remote/BUILD.codespan-reporting-0.11.1.bazel delete mode 100644 cargo/remote/BUILD.constant_time_eq-0.1.5.bazel delete mode 100644 cargo/remote/BUILD.convert_case-0.4.0.bazel delete mode 100644 cargo/remote/BUILD.convert_case-0.6.0.bazel delete mode 100644 cargo/remote/BUILD.core-foundation-0.9.3.bazel delete mode 100644 cargo/remote/BUILD.core-foundation-sys-0.8.3.bazel delete mode 100644 cargo/remote/BUILD.crc32fast-1.3.2.bazel delete mode 100644 cargo/remote/BUILD.crossbeam-channel-0.5.6.bazel delete mode 100644 cargo/remote/BUILD.crossbeam-utils-0.8.11.bazel delete mode 100644 cargo/remote/BUILD.crypto-common-0.1.6.bazel delete mode 100644 cargo/remote/BUILD.cssparser-0.27.2.bazel delete mode 100644 cargo/remote/BUILD.cssparser-macros-0.6.0.bazel delete mode 100644 cargo/remote/BUILD.csv-1.1.6.bazel delete mode 100644 cargo/remote/BUILD.csv-core-0.1.10.bazel delete mode 100644 cargo/remote/BUILD.derive_more-0.99.17.bazel delete mode 100644 cargo/remote/BUILD.digest-0.10.5.bazel delete mode 100644 cargo/remote/BUILD.dirs-next-2.0.0.bazel delete mode 100644 cargo/remote/BUILD.dirs-sys-next-0.1.2.bazel delete mode 100644 cargo/remote/BUILD.dissimilar-1.0.4.bazel delete mode 100644 cargo/remote/BUILD.doc-comment-0.3.3.bazel delete mode 100644 cargo/remote/BUILD.dtoa-0.4.8.bazel delete mode 100644 cargo/remote/BUILD.dtoa-short-0.3.3.bazel delete mode 100644 cargo/remote/BUILD.dunce-1.0.2.bazel delete mode 100644 cargo/remote/BUILD.either-1.8.0.bazel delete mode 100644 cargo/remote/BUILD.encoding_rs-0.8.31.bazel delete mode 100644 cargo/remote/BUILD.env_logger-0.9.1.bazel delete mode 100644 cargo/remote/BUILD.fallible-iterator-0.2.0.bazel delete mode 100644 cargo/remote/BUILD.fallible-streaming-iterator-0.1.9.bazel delete mode 100644 cargo/remote/BUILD.fastrand-1.8.0.bazel delete mode 100644 cargo/remote/BUILD.fixedbitset-0.4.2.bazel delete mode 100644 cargo/remote/BUILD.flate2-1.0.24.bazel delete mode 100644 cargo/remote/BUILD.fluent-0.16.0.bazel delete mode 100644 cargo/remote/BUILD.fluent-bundle-0.15.2.bazel delete mode 100644 cargo/remote/BUILD.fluent-langneg-0.13.0.bazel delete mode 100644 cargo/remote/BUILD.fluent-syntax-0.11.0.bazel delete mode 100644 cargo/remote/BUILD.fnv-1.0.7.bazel delete mode 100644 cargo/remote/BUILD.foreign-types-0.3.2.bazel delete mode 100644 cargo/remote/BUILD.foreign-types-shared-0.1.1.bazel delete mode 100644 cargo/remote/BUILD.form_urlencoded-1.1.0.bazel delete mode 100644 cargo/remote/BUILD.futf-0.1.5.bazel delete mode 100644 cargo/remote/BUILD.futures-0.3.24.bazel delete mode 100644 cargo/remote/BUILD.futures-channel-0.3.24.bazel delete mode 100644 cargo/remote/BUILD.futures-core-0.3.24.bazel delete mode 100644 cargo/remote/BUILD.futures-executor-0.3.24.bazel delete mode 100644 cargo/remote/BUILD.futures-io-0.3.24.bazel delete mode 100644 cargo/remote/BUILD.futures-macro-0.3.24.bazel delete mode 100644 cargo/remote/BUILD.futures-sink-0.3.24.bazel delete mode 100644 cargo/remote/BUILD.futures-task-0.3.24.bazel delete mode 100644 cargo/remote/BUILD.futures-util-0.3.24.bazel delete mode 100644 cargo/remote/BUILD.fxhash-0.2.1.bazel delete mode 100644 cargo/remote/BUILD.generic-array-0.14.6.bazel delete mode 100644 cargo/remote/BUILD.getopts-0.2.21.bazel delete mode 100644 cargo/remote/BUILD.getrandom-0.1.16.bazel delete mode 100644 cargo/remote/BUILD.getrandom-0.2.7.bazel delete mode 100644 cargo/remote/BUILD.gimli-0.26.2.bazel delete mode 100644 cargo/remote/BUILD.h2-0.3.14.bazel delete mode 100644 cargo/remote/BUILD.hashbrown-0.12.3.bazel delete mode 100644 cargo/remote/BUILD.hashlink-0.8.1.bazel delete mode 100644 cargo/remote/BUILD.heck-0.4.0.bazel delete mode 100644 cargo/remote/BUILD.hermit-abi-0.1.19.bazel delete mode 100644 cargo/remote/BUILD.hex-0.4.3.bazel delete mode 100644 cargo/remote/BUILD.html5ever-0.25.2.bazel delete mode 100644 cargo/remote/BUILD.html5ever-0.26.0.bazel delete mode 100644 cargo/remote/BUILD.htmlescape-0.3.1.bazel delete mode 100644 cargo/remote/BUILD.http-0.2.8.bazel delete mode 100644 cargo/remote/BUILD.http-body-0.4.5.bazel delete mode 100644 cargo/remote/BUILD.httparse-1.8.0.bazel delete mode 100644 cargo/remote/BUILD.httpdate-1.0.2.bazel delete mode 100644 cargo/remote/BUILD.humantime-2.1.0.bazel delete mode 100644 cargo/remote/BUILD.hyper-0.14.20.bazel delete mode 100644 cargo/remote/BUILD.hyper-rustls-0.22.1.bazel delete mode 100644 cargo/remote/BUILD.hyper-timeout-0.4.1.bazel delete mode 100644 cargo/remote/BUILD.hyper-tls-0.5.0.bazel delete mode 100644 cargo/remote/BUILD.iana-time-zone-0.1.50.bazel delete mode 100644 cargo/remote/BUILD.id_tree-1.8.0.bazel delete mode 100644 cargo/remote/BUILD.idna-0.3.0.bazel delete mode 100644 cargo/remote/BUILD.indexmap-1.9.1.bazel delete mode 100644 cargo/remote/BUILD.indoc-1.0.7.bazel delete mode 100644 cargo/remote/BUILD.inflections-1.1.1.bazel delete mode 100644 cargo/remote/BUILD.instant-0.1.12.bazel delete mode 100644 cargo/remote/BUILD.intl-memoizer-0.5.1.bazel delete mode 100644 cargo/remote/BUILD.intl_pluralrules-7.0.1.bazel delete mode 100644 cargo/remote/BUILD.ipnet-2.5.0.bazel delete mode 100644 cargo/remote/BUILD.itertools-0.10.5.bazel delete mode 100644 cargo/remote/BUILD.itoa-0.4.8.bazel delete mode 100644 cargo/remote/BUILD.itoa-1.0.3.bazel delete mode 100644 cargo/remote/BUILD.jobserver-0.1.25.bazel delete mode 100644 cargo/remote/BUILD.js-sys-0.3.60.bazel delete mode 100644 cargo/remote/BUILD.kuchiki-0.8.1.bazel delete mode 100644 cargo/remote/BUILD.lazy_static-1.4.0.bazel delete mode 100644 cargo/remote/BUILD.libc-0.2.133.bazel delete mode 100644 cargo/remote/BUILD.libsqlite3-sys-0.25.1.bazel delete mode 100644 cargo/remote/BUILD.linkcheck-0.4.1-alpha.0.bazel delete mode 100644 cargo/remote/BUILD.linkify-0.5.0.bazel delete mode 100644 cargo/remote/BUILD.lock_api-0.4.9.bazel delete mode 100644 cargo/remote/BUILD.log-0.4.17.bazel delete mode 100644 cargo/remote/BUILD.mac-0.1.1.bazel delete mode 100644 cargo/remote/BUILD.maplit-1.0.2.bazel delete mode 100644 cargo/remote/BUILD.markup5ever-0.10.1.bazel delete mode 100644 cargo/remote/BUILD.markup5ever-0.11.0.bazel delete mode 100644 cargo/remote/BUILD.matches-0.1.9.bazel delete mode 100644 cargo/remote/BUILD.memchr-2.5.0.bazel delete mode 100644 cargo/remote/BUILD.memoffset-0.6.5.bazel delete mode 100644 cargo/remote/BUILD.mime-0.3.16.bazel delete mode 100644 cargo/remote/BUILD.mime_guess-2.0.4.bazel delete mode 100644 cargo/remote/BUILD.minimal-lexical-0.2.1.bazel delete mode 100644 cargo/remote/BUILD.miniz_oxide-0.5.4.bazel delete mode 100644 cargo/remote/BUILD.mio-0.8.4.bazel delete mode 100644 cargo/remote/BUILD.multimap-0.8.3.bazel delete mode 100644 cargo/remote/BUILD.native-tls-0.2.10.bazel delete mode 100644 cargo/remote/BUILD.new_debug_unreachable-1.0.4.bazel delete mode 100644 cargo/remote/BUILD.nodrop-0.1.14.bazel delete mode 100644 cargo/remote/BUILD.nom-7.1.1.bazel delete mode 100644 cargo/remote/BUILD.num-format-0.4.0.bazel delete mode 100644 cargo/remote/BUILD.num-integer-0.1.45.bazel delete mode 100644 cargo/remote/BUILD.num-traits-0.2.15.bazel delete mode 100644 cargo/remote/BUILD.num_cpus-1.13.1.bazel delete mode 100644 cargo/remote/BUILD.num_enum-0.5.7.bazel delete mode 100644 cargo/remote/BUILD.num_enum_derive-0.5.7.bazel delete mode 100644 cargo/remote/BUILD.num_threads-0.1.6.bazel delete mode 100644 cargo/remote/BUILD.object-0.29.0.bazel delete mode 100644 cargo/remote/BUILD.once_cell-1.15.0.bazel delete mode 100644 cargo/remote/BUILD.openssl-0.10.41.bazel delete mode 100644 cargo/remote/BUILD.openssl-macros-0.1.0.bazel delete mode 100644 cargo/remote/BUILD.openssl-probe-0.1.5.bazel delete mode 100644 cargo/remote/BUILD.openssl-sys-0.9.75.bazel delete mode 100644 cargo/remote/BUILD.parking_lot-0.12.1.bazel delete mode 100644 cargo/remote/BUILD.parking_lot_core-0.9.3.bazel delete mode 100644 cargo/remote/BUILD.pct-str-1.1.0.bazel delete mode 100644 cargo/remote/BUILD.percent-encoding-2.2.0.bazel delete mode 100644 cargo/remote/BUILD.petgraph-0.6.2.bazel delete mode 100644 cargo/remote/BUILD.phf-0.10.1.bazel delete mode 100644 cargo/remote/BUILD.phf-0.11.1.bazel delete mode 100644 cargo/remote/BUILD.phf-0.8.0.bazel delete mode 100644 cargo/remote/BUILD.phf_codegen-0.10.0.bazel delete mode 100644 cargo/remote/BUILD.phf_codegen-0.8.0.bazel delete mode 100644 cargo/remote/BUILD.phf_generator-0.10.0.bazel delete mode 100644 cargo/remote/BUILD.phf_generator-0.11.1.bazel delete mode 100644 cargo/remote/BUILD.phf_generator-0.8.0.bazel delete mode 100644 cargo/remote/BUILD.phf_macros-0.11.1.bazel delete mode 100644 cargo/remote/BUILD.phf_macros-0.8.0.bazel delete mode 100644 cargo/remote/BUILD.phf_shared-0.10.0.bazel delete mode 100644 cargo/remote/BUILD.phf_shared-0.11.1.bazel delete mode 100644 cargo/remote/BUILD.phf_shared-0.8.0.bazel delete mode 100644 cargo/remote/BUILD.pin-project-1.0.12.bazel delete mode 100644 cargo/remote/BUILD.pin-project-internal-1.0.12.bazel delete mode 100644 cargo/remote/BUILD.pin-project-lite-0.2.9.bazel delete mode 100644 cargo/remote/BUILD.pin-utils-0.1.0.bazel delete mode 100644 cargo/remote/BUILD.pkg-config-0.3.25.bazel delete mode 100644 cargo/remote/BUILD.ppv-lite86-0.2.16.bazel delete mode 100644 cargo/remote/BUILD.precomputed-hash-0.1.1.bazel delete mode 100644 cargo/remote/BUILD.proc-macro-crate-1.2.1.bazel delete mode 100644 cargo/remote/BUILD.proc-macro-hack-0.5.19.bazel delete mode 100644 cargo/remote/BUILD.proc-macro-nested-0.1.7.bazel delete mode 100644 cargo/remote/BUILD.proc-macro2-1.0.43.bazel delete mode 100644 cargo/remote/BUILD.prost-0.11.0.bazel delete mode 100644 cargo/remote/BUILD.prost-build-0.11.1.bazel delete mode 100644 cargo/remote/BUILD.prost-derive-0.11.0.bazel delete mode 100644 cargo/remote/BUILD.prost-types-0.11.1.bazel delete mode 100644 cargo/remote/BUILD.pulldown-cmark-0.8.0.bazel delete mode 100644 cargo/remote/BUILD.pulldown-cmark-0.9.2.bazel delete mode 100644 cargo/remote/BUILD.pyo3-0.17.1.bazel delete mode 100644 cargo/remote/BUILD.pyo3-build-config-0.17.1.bazel delete mode 100644 cargo/remote/BUILD.pyo3-ffi-0.17.1.bazel delete mode 100644 cargo/remote/BUILD.pyo3-macros-0.17.1.bazel delete mode 100644 cargo/remote/BUILD.pyo3-macros-backend-0.17.1.bazel delete mode 100644 cargo/remote/BUILD.quote-1.0.21.bazel delete mode 100644 cargo/remote/BUILD.rand-0.7.3.bazel delete mode 100644 cargo/remote/BUILD.rand-0.8.5.bazel delete mode 100644 cargo/remote/BUILD.rand_chacha-0.2.2.bazel delete mode 100644 cargo/remote/BUILD.rand_chacha-0.3.1.bazel delete mode 100644 cargo/remote/BUILD.rand_core-0.5.1.bazel delete mode 100644 cargo/remote/BUILD.rand_core-0.6.4.bazel delete mode 100644 cargo/remote/BUILD.rand_hc-0.2.0.bazel delete mode 100644 cargo/remote/BUILD.rand_pcg-0.2.1.bazel delete mode 100644 cargo/remote/BUILD.redox_syscall-0.2.16.bazel delete mode 100644 cargo/remote/BUILD.redox_users-0.4.3.bazel delete mode 100644 cargo/remote/BUILD.regex-1.6.0.bazel delete mode 100644 cargo/remote/BUILD.regex-automata-0.1.10.bazel delete mode 100644 cargo/remote/BUILD.regex-syntax-0.6.27.bazel delete mode 100644 cargo/remote/BUILD.remove_dir_all-0.5.3.bazel delete mode 100644 cargo/remote/BUILD.reqwest-0.11.3.bazel delete mode 100644 cargo/remote/BUILD.ring-0.16.20.bazel delete mode 100644 cargo/remote/BUILD.rusqlite-0.28.0.bazel delete mode 100644 cargo/remote/BUILD.rustc-demangle-0.1.21.bazel delete mode 100644 cargo/remote/BUILD.rustc-hash-1.1.0.bazel delete mode 100644 cargo/remote/BUILD.rustc_version-0.4.0.bazel delete mode 100644 cargo/remote/BUILD.rustls-0.19.1.bazel delete mode 100644 cargo/remote/BUILD.rustls-native-certs-0.5.0.bazel delete mode 100644 cargo/remote/BUILD.rustversion-1.0.9.bazel delete mode 100644 cargo/remote/BUILD.ryu-1.0.11.bazel delete mode 100644 cargo/remote/BUILD.same-file-1.0.6.bazel delete mode 100644 cargo/remote/BUILD.schannel-0.1.20.bazel delete mode 100644 cargo/remote/BUILD.scopeguard-1.1.0.bazel delete mode 100644 cargo/remote/BUILD.sct-0.6.1.bazel delete mode 100644 cargo/remote/BUILD.security-framework-2.7.0.bazel delete mode 100644 cargo/remote/BUILD.security-framework-sys-2.6.1.bazel delete mode 100644 cargo/remote/BUILD.selectors-0.22.0.bazel delete mode 100644 cargo/remote/BUILD.self_cell-0.10.2.bazel delete mode 100644 cargo/remote/BUILD.semver-1.0.14.bazel delete mode 100644 cargo/remote/BUILD.serde-1.0.145.bazel delete mode 100644 cargo/remote/BUILD.serde-aux-4.0.0.bazel delete mode 100644 cargo/remote/BUILD.serde_derive-1.0.145.bazel delete mode 100644 cargo/remote/BUILD.serde_json-1.0.85.bazel delete mode 100644 cargo/remote/BUILD.serde_repr-0.1.9.bazel delete mode 100644 cargo/remote/BUILD.serde_tuple-0.5.0.bazel delete mode 100644 cargo/remote/BUILD.serde_tuple_macros-0.5.0.bazel delete mode 100644 cargo/remote/BUILD.serde_urlencoded-0.7.1.bazel delete mode 100644 cargo/remote/BUILD.servo_arc-0.1.1.bazel delete mode 100644 cargo/remote/BUILD.sha1-0.6.1.bazel delete mode 100644 cargo/remote/BUILD.sha1_smol-1.0.0.bazel delete mode 100644 cargo/remote/BUILD.signal-hook-registry-1.4.0.bazel delete mode 100644 cargo/remote/BUILD.siphasher-0.3.10.bazel delete mode 100644 cargo/remote/BUILD.slab-0.4.7.bazel delete mode 100644 cargo/remote/BUILD.slog-2.7.0.bazel delete mode 100644 cargo/remote/BUILD.slog-async-2.7.0.bazel delete mode 100644 cargo/remote/BUILD.slog-envlogger-2.2.0.bazel delete mode 100644 cargo/remote/BUILD.slog-scope-4.4.0.bazel delete mode 100644 cargo/remote/BUILD.slog-stdlog-4.1.1.bazel delete mode 100644 cargo/remote/BUILD.slog-term-2.9.0.bazel delete mode 100644 cargo/remote/BUILD.smallvec-1.9.0.bazel delete mode 100644 cargo/remote/BUILD.snafu-0.7.2.bazel delete mode 100644 cargo/remote/BUILD.snafu-derive-0.7.2.bazel delete mode 100644 cargo/remote/BUILD.snowflake-1.3.0.bazel delete mode 100644 cargo/remote/BUILD.socket2-0.4.7.bazel delete mode 100644 cargo/remote/BUILD.spin-0.5.2.bazel delete mode 100644 cargo/remote/BUILD.stable_deref_trait-1.2.0.bazel delete mode 100644 cargo/remote/BUILD.string_cache-0.8.4.bazel delete mode 100644 cargo/remote/BUILD.string_cache_codegen-0.5.2.bazel delete mode 100644 cargo/remote/BUILD.strum-0.24.1.bazel delete mode 100644 cargo/remote/BUILD.strum_macros-0.24.3.bazel delete mode 100644 cargo/remote/BUILD.subtle-2.4.1.bazel delete mode 100644 cargo/remote/BUILD.syn-1.0.100.bazel delete mode 100644 cargo/remote/BUILD.take_mut-0.2.2.bazel delete mode 100644 cargo/remote/BUILD.target-lexicon-0.12.4.bazel delete mode 100644 cargo/remote/BUILD.tempfile-3.3.0.bazel delete mode 100644 cargo/remote/BUILD.tendril-0.4.3.bazel delete mode 100644 cargo/remote/BUILD.term-0.7.0.bazel delete mode 100644 cargo/remote/BUILD.termcolor-1.1.3.bazel delete mode 100644 cargo/remote/BUILD.thin-slice-0.1.1.bazel delete mode 100644 cargo/remote/BUILD.thiserror-1.0.35.bazel delete mode 100644 cargo/remote/BUILD.thiserror-impl-1.0.35.bazel delete mode 100644 cargo/remote/BUILD.thread_local-1.1.4.bazel delete mode 100644 cargo/remote/BUILD.time-0.1.44.bazel delete mode 100644 cargo/remote/BUILD.time-0.3.14.bazel delete mode 100644 cargo/remote/BUILD.time-macros-0.2.4.bazel delete mode 100644 cargo/remote/BUILD.tinystr-0.3.4.bazel delete mode 100644 cargo/remote/BUILD.tinyvec-1.6.0.bazel delete mode 100644 cargo/remote/BUILD.tinyvec_macros-0.1.0.bazel delete mode 100644 cargo/remote/BUILD.tokio-1.21.1.bazel delete mode 100644 cargo/remote/BUILD.tokio-io-timeout-1.1.1.bazel delete mode 100644 cargo/remote/BUILD.tokio-macros-1.8.0.bazel delete mode 100644 cargo/remote/BUILD.tokio-native-tls-0.3.0.bazel delete mode 100644 cargo/remote/BUILD.tokio-rustls-0.22.0.bazel delete mode 100644 cargo/remote/BUILD.tokio-socks-0.5.1.bazel delete mode 100644 cargo/remote/BUILD.tokio-util-0.7.4.bazel delete mode 100644 cargo/remote/BUILD.toml-0.5.9.bazel delete mode 100644 cargo/remote/BUILD.tower-service-0.3.2.bazel delete mode 100644 cargo/remote/BUILD.tracing-0.1.36.bazel delete mode 100644 cargo/remote/BUILD.tracing-core-0.1.29.bazel delete mode 100644 cargo/remote/BUILD.try-lock-0.2.3.bazel delete mode 100644 cargo/remote/BUILD.type-map-0.4.0.bazel delete mode 100644 cargo/remote/BUILD.typenum-1.15.0.bazel delete mode 100644 cargo/remote/BUILD.unic-char-property-0.9.0.bazel delete mode 100644 cargo/remote/BUILD.unic-char-range-0.9.0.bazel delete mode 100644 cargo/remote/BUILD.unic-common-0.9.0.bazel delete mode 100644 cargo/remote/BUILD.unic-langid-0.9.0.bazel delete mode 100644 cargo/remote/BUILD.unic-langid-impl-0.9.0.bazel delete mode 100644 cargo/remote/BUILD.unic-langid-macros-0.9.0.bazel delete mode 100644 cargo/remote/BUILD.unic-langid-macros-impl-0.9.0.bazel delete mode 100644 cargo/remote/BUILD.unic-ucd-category-0.9.0.bazel delete mode 100644 cargo/remote/BUILD.unic-ucd-version-0.9.0.bazel delete mode 100644 cargo/remote/BUILD.unicase-2.6.0.bazel delete mode 100644 cargo/remote/BUILD.unicode-bidi-0.3.8.bazel delete mode 100644 cargo/remote/BUILD.unicode-ident-1.0.4.bazel delete mode 100644 cargo/remote/BUILD.unicode-normalization-0.1.22.bazel delete mode 100644 cargo/remote/BUILD.unicode-segmentation-1.10.0.bazel delete mode 100644 cargo/remote/BUILD.unicode-width-0.1.10.bazel delete mode 100644 cargo/remote/BUILD.unindent-0.1.10.bazel delete mode 100644 cargo/remote/BUILD.untrusted-0.7.1.bazel delete mode 100644 cargo/remote/BUILD.url-2.3.1.bazel delete mode 100644 cargo/remote/BUILD.utf-8-0.7.6.bazel delete mode 100644 cargo/remote/BUILD.utf8-decode-1.0.1.bazel delete mode 100644 cargo/remote/BUILD.utime-0.3.1.bazel delete mode 100644 cargo/remote/BUILD.vcpkg-0.2.15.bazel delete mode 100644 cargo/remote/BUILD.version_check-0.9.4.bazel delete mode 100644 cargo/remote/BUILD.walkdir-2.3.2.bazel delete mode 100644 cargo/remote/BUILD.want-0.3.0.bazel delete mode 100644 cargo/remote/BUILD.wasi-0.10.0+wasi-snapshot-preview1.bazel delete mode 100644 cargo/remote/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel delete mode 100644 cargo/remote/BUILD.wasi-0.9.0+wasi-snapshot-preview1.bazel delete mode 100644 cargo/remote/BUILD.wasm-bindgen-0.2.83.bazel delete mode 100644 cargo/remote/BUILD.wasm-bindgen-backend-0.2.83.bazel delete mode 100644 cargo/remote/BUILD.wasm-bindgen-futures-0.4.33.bazel delete mode 100644 cargo/remote/BUILD.wasm-bindgen-macro-0.2.83.bazel delete mode 100644 cargo/remote/BUILD.wasm-bindgen-macro-support-0.2.83.bazel delete mode 100644 cargo/remote/BUILD.wasm-bindgen-shared-0.2.83.bazel delete mode 100644 cargo/remote/BUILD.web-sys-0.3.60.bazel delete mode 100644 cargo/remote/BUILD.webpki-0.21.4.bazel delete mode 100644 cargo/remote/BUILD.webpki-roots-0.21.1.bazel delete mode 100644 cargo/remote/BUILD.which-4.3.0.bazel delete mode 100644 cargo/remote/BUILD.winapi-0.3.9.bazel delete mode 100644 cargo/remote/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel delete mode 100644 cargo/remote/BUILD.winapi-util-0.1.5.bazel delete mode 100644 cargo/remote/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel delete mode 100644 cargo/remote/BUILD.windows-sys-0.36.1.bazel delete mode 100644 cargo/remote/BUILD.windows_aarch64_msvc-0.36.1.bazel delete mode 100644 cargo/remote/BUILD.windows_i686_gnu-0.36.1.bazel delete mode 100644 cargo/remote/BUILD.windows_i686_msvc-0.36.1.bazel delete mode 100644 cargo/remote/BUILD.windows_x86_64_gnu-0.36.1.bazel delete mode 100644 cargo/remote/BUILD.windows_x86_64_msvc-0.36.1.bazel delete mode 100644 cargo/remote/BUILD.winreg-0.7.0.bazel delete mode 100644 cargo/remote/BUILD.zip-0.6.2.bazel delete mode 100644 cargo/remote/BUILD.zstd-0.11.2+zstd.1.5.2.bazel delete mode 100644 cargo/remote/BUILD.zstd-safe-5.0.2+zstd.1.5.2.bazel delete mode 100644 cargo/remote/BUILD.zstd-sys-2.0.1+zstd.1.5.2.bazel create mode 100755 cargo/update-licenses.sh delete mode 100755 cargo/update.py delete mode 100644 defs.bzl delete mode 100644 docs/BUILD.bazel create mode 100644 docs/build.md delete mode 100644 docs/new-platform.md create mode 100644 docs/ninja.md delete mode 100644 ftl/BUILD.bazel create mode 100644 ftl/Cargo.toml create mode 160000 ftl/core-repo create mode 160000 ftl/qt-repo delete mode 100644 ftl/sync.py create mode 100644 ftl/sync.rs delete mode 100644 late_deps.bzl create mode 100755 ninja delete mode 100644 platforms/BUILD.bazel delete mode 100644 platforms/README.md delete mode 100644 proto/BUILD.bazel create mode 100644 proto/README.md delete mode 100644 proto/clang_format.bzl delete mode 100755 proto/format.py delete mode 100644 proto/protobuf.bzl delete mode 100644 pylib/BUILD.bazel delete mode 100644 pylib/anki/BUILD.bazel rename pylib/anki/{_backend/__init__.py => _backend.py} (94%) delete mode 100644 pylib/anki/_backend/BUILD.bazel delete mode 120000 pylib/anki/_backend/fluent.py delete mode 120000 pylib/anki/_backend/generated.py delete mode 100644 pylib/anki/_backend/python_lib.bzl rename pylib/anki/{_backend/rsbridge.pyi => _rsbridge.pyi} (100%) delete mode 100644 pylib/anki/_vendor/BUILD.bazel delete mode 100644 pylib/anki/_vendor/__init__.py delete mode 120000 pylib/anki/backend_pb2.pyi delete mode 100644 pylib/anki/buildinfo.py delete mode 120000 pylib/anki/card_rendering_pb2.pyi delete mode 120000 pylib/anki/cards_pb2.pyi delete mode 120000 pylib/anki/collection_pb2.pyi delete mode 120000 pylib/anki/config_pb2.pyi delete mode 120000 pylib/anki/deckconfig_pb2.pyi delete mode 120000 pylib/anki/decks_pb2.pyi delete mode 120000 pylib/anki/generic_pb2.pyi delete mode 120000 pylib/anki/hooks_gen.py delete mode 120000 pylib/anki/i18n_pb2.pyi delete mode 120000 pylib/anki/import_export_pb2.pyi delete mode 120000 pylib/anki/links_pb2.pyi delete mode 120000 pylib/anki/media_pb2.pyi delete mode 120000 pylib/anki/notes_pb2.pyi delete mode 120000 pylib/anki/notetypes_pb2.pyi delete mode 120000 pylib/anki/scheduler_pb2.pyi delete mode 120000 pylib/anki/search_pb2.pyi delete mode 120000 pylib/anki/stats_pb2.pyi delete mode 120000 pylib/anki/sync_pb2.pyi delete mode 120000 pylib/anki/tags_pb2.pyi delete mode 100644 pylib/anki/wheel_description.txt delete mode 100644 pylib/mypy.ini delete mode 100644 pylib/orjson.bzl delete mode 100644 pylib/protobuf.bzl delete mode 100644 pylib/rsbridge/BUILD.bazel delete mode 100644 pylib/rsbridge/cargo/BUILD.bazel delete mode 100644 pylib/tests/run_format.py delete mode 100644 pylib/tests/run_mypy.py delete mode 100644 pylib/tests/run_pylint.py delete mode 100644 pylib/tests/run_pytest.py delete mode 100644 pylib/tools/BUILD.bazel delete mode 100644 pylib/tools/__init__.py delete mode 100644 pylib/tools/diff-sched.py rename pylib/{anki/_backend => tools}/genbackend.py (97%) mode change 100755 => 100644 create mode 100644 pylib/tools/genbuildinfo.py rename pylib/{anki/_backend => tools}/genfluent.py (90%) delete mode 100755 pylib/tools/protoc-gen-mypy.py delete mode 100644 pylib/tools/protoc_wrapper.py delete mode 100644 pylib/tools/rewrite_tr.py delete mode 100644 pyrightconfig.json delete mode 100644 python/BUILD.bazel delete mode 100644 python/binary.bzl rename pylib/anki/__init__.py => python/mkempty.py (67%) delete mode 100644 python/pyqt/BUILD.bazel delete mode 100644 python/pyqt/README.md delete mode 100644 python/pyqt/defs.bzl delete mode 100644 python/pyqt/install.py delete mode 100644 python/python.bzl create mode 100644 python/requirements.anki.in create mode 100644 python/requirements.aqt.in create mode 100644 python/requirements.base.in create mode 100644 python/requirements.base.txt create mode 100644 python/requirements.bundle.in create mode 100644 python/requirements.bundle.txt create mode 100644 python/requirements.dev.in create mode 100644 python/requirements.dev.txt delete mode 100644 python/requirements.in rename python/{pyqt/5_14/requirements.in => requirements.qt5_14.in} (100%) rename python/{pyqt/5_14/requirements.txt => requirements.qt5_14.txt} (100%) rename python/{pyqt/5_15/requirements.in => requirements.qt5_15.in} (100%) rename python/{pyqt/5_15/requirements.txt => requirements.qt5_15.txt} (100%) rename python/{pyqt/6/requirements.in => requirements.qt6.in} (100%) rename python/{pyqt/6/requirements.txt => requirements.qt6.txt} (86%) delete mode 100644 python/requirements.txt create mode 100644 python/requirements.win.in create mode 100644 python/requirements.win.txt delete mode 100644 python/stubs/BUILD.bazel delete mode 100644 python/stubs/README.md delete mode 100644 python/stubs/extendsitepkgs.py delete mode 100644 python/stubs/gatherstubs.py delete mode 100644 python/stubs/stubs.bzl delete mode 100644 python/update.py create mode 100755 python/update_python_deps.sh create mode 100644 python/write_wheel.py delete mode 100644 qt/.pylintrc delete mode 100644 qt/BUILD.bazel delete mode 100644 qt/aqt/BUILD.bazel mode change 120000 => 100644 qt/aqt/colors.py delete mode 100644 qt/aqt/data/BUILD.bazel delete mode 100644 qt/aqt/data/lib/BUILD.bazel delete mode 100644 qt/aqt/data/qt/BUILD.bazel delete mode 100644 qt/aqt/data/qt/icons/BUILD.bazel delete mode 100644 qt/aqt/data/qt/icons/color_svg.bzl delete mode 120000 qt/aqt/data/web/.prettierrc delete mode 100644 qt/aqt/data/web/BUILD.bazel delete mode 100644 qt/aqt/data/web/css/BUILD.bazel delete mode 100644 qt/aqt/data/web/imgs/BUILD.bazel delete mode 100644 qt/aqt/data/web/js/BUILD.bazel delete mode 100644 qt/aqt/data/web/js/compile_ts.bzl delete mode 100644 qt/aqt/data/web/js/vendor/BUILD.bazel delete mode 100644 qt/aqt/data/web/js/vendor/mathjax/BUILD.bazel delete mode 100644 qt/aqt/data/web/pages/BUILD.bazel delete mode 100644 qt/aqt/forms/BUILD.bazel delete mode 120000 qt/aqt/forms/about_qt6.py delete mode 120000 qt/aqt/forms/addcards_qt6.py delete mode 120000 qt/aqt/forms/addfield_qt6.py delete mode 120000 qt/aqt/forms/addmodel_qt6.py delete mode 120000 qt/aqt/forms/addonconf_qt6.py delete mode 120000 qt/aqt/forms/addons_qt6.py delete mode 120000 qt/aqt/forms/browser_qt6.py delete mode 120000 qt/aqt/forms/browserdisp_qt6.py delete mode 120000 qt/aqt/forms/browseropts_qt6.py delete mode 100644 qt/aqt/forms/build_ui_qt5.py delete mode 100644 qt/aqt/forms/build_ui_qt6.py delete mode 120000 qt/aqt/forms/changemap_qt6.py delete mode 120000 qt/aqt/forms/changemodel_qt6.py delete mode 120000 qt/aqt/forms/clayout_top_qt6.py delete mode 100644 qt/aqt/forms/compile.bzl delete mode 120000 qt/aqt/forms/customstudy_qt6.py delete mode 120000 qt/aqt/forms/dconf_qt6.py delete mode 120000 qt/aqt/forms/debug_qt6.py delete mode 120000 qt/aqt/forms/editaddon_qt6.py delete mode 120000 qt/aqt/forms/editcurrent_qt6.py delete mode 120000 qt/aqt/forms/edithtml_qt6.py delete mode 120000 qt/aqt/forms/emptycards_qt6.py delete mode 120000 qt/aqt/forms/exporting_qt6.py delete mode 120000 qt/aqt/forms/fields_qt6.py delete mode 120000 qt/aqt/forms/fields_web_qt6.py delete mode 120000 qt/aqt/forms/filtered_deck_qt6.py delete mode 120000 qt/aqt/forms/finddupes_qt6.py delete mode 120000 qt/aqt/forms/findreplace_qt6.py delete mode 120000 qt/aqt/forms/forget_qt6.py delete mode 120000 qt/aqt/forms/getaddons_qt6.py delete mode 120000 qt/aqt/forms/icons.qrc delete mode 120000 qt/aqt/forms/importing_qt6.py delete mode 120000 qt/aqt/forms/main_qt6.py delete mode 120000 qt/aqt/forms/modelopts_qt6.py delete mode 120000 qt/aqt/forms/models_qt6.py delete mode 120000 qt/aqt/forms/preferences_qt6.py delete mode 120000 qt/aqt/forms/preview_qt6.py delete mode 120000 qt/aqt/forms/profiles_qt6.py delete mode 120000 qt/aqt/forms/progress_qt6.py delete mode 120000 qt/aqt/forms/reposition_qt6.py delete mode 120000 qt/aqt/forms/setgroup_qt6.py delete mode 120000 qt/aqt/forms/setlang_qt6.py delete mode 120000 qt/aqt/forms/stats_qt6.py delete mode 120000 qt/aqt/forms/studydeck_qt6.py delete mode 120000 qt/aqt/forms/synclog_qt6.py delete mode 120000 qt/aqt/forms/taglimit_qt6.py delete mode 120000 qt/aqt/forms/template_qt6.py delete mode 120000 qt/aqt/hooks_gen.py delete mode 100644 qt/aqt/pinnedmodules.py create mode 100644 qt/aqt/props.py delete mode 100644 qt/aqt/wheel_description.txt delete mode 100644 qt/bazelfixes.py create mode 160000 qt/bundle/PyOxidizer delete mode 100644 qt/bundle/build.py delete mode 100644 qt/bundle/mac/Cargo.lock delete mode 100644 qt/bundle/mac/finalize.py delete mode 100644 qt/bundle/mac/notarize.py create mode 100644 qt/bundle/mac/src/codesign.rs create mode 100644 qt/bundle/mac/src/dmg.rs create mode 100644 qt/bundle/mac/src/notarize.rs delete mode 100644 qt/bundle/win/Cargo.lock delete mode 100644 qt/bundle/win/rustfmt.toml delete mode 100755 qt/dmypy.py delete mode 100644 qt/mac/BUILD.bazel delete mode 100644 qt/tests/run_format.py delete mode 100644 qt/tests/run_mypy.py delete mode 100644 qt/tests/run_pylint.py delete mode 100644 qt/tests/run_pytest.py rename qt/{aqt/data/qt => tools}/build_qrc.py (80%) rename qt/{aqt/forms => tools}/build_ui.py (74%) rename qt/{aqt/data/qt/icons => tools}/color_svg.py (80%) delete mode 100644 repos.bzl delete mode 100644 rslib/BUILD.bazel delete mode 100644 rslib/cargo/BUILD.bazel delete mode 100644 rslib/empty.rs delete mode 100644 rslib/i18n/BUILD.bazel delete mode 100644 rslib/i18n/build/write_json.rs delete mode 100644 rslib/i18n/cargo/BUILD.bazel delete mode 100644 rslib/i18n_helpers/BUILD.bazel delete mode 100644 rslib/i18n_helpers/cargo/BUILD.bazel delete mode 100644 rslib/linkchecker/BUILD.bazel delete mode 100644 rslib/linkchecker/cargo/BUILD.bazel delete mode 100644 rslib/rustfmt.bzl delete mode 100644 rslib/rustfmt.toml create mode 100644 rust-toolchain.toml delete mode 100644 sass/BUILD.bazel delete mode 100644 sass/bootstrap/BUILD.bazel delete mode 100644 tools/BUILD.bazel delete mode 100755 tools/bazel delete mode 100644 tools/buildinfo.py delete mode 100755 tools/bundle delete mode 100755 tools/bundle.bat delete mode 100755 tools/cargo-env delete mode 100644 tools/cargo-env.bat delete mode 100644 tools/cleanup_js.py create mode 100755 tools/dmypy delete mode 100755 tools/mypy delete mode 100755 tools/mypy-watch create mode 100755 tools/ninja.bat delete mode 100755 tools/node-env delete mode 100755 tools/python delete mode 100755 tools/python.bat create mode 100644 tools/run.py delete mode 100755 tools/runopt.bat delete mode 100755 tools/status.sh delete mode 100755 tools/svelte-check create mode 100644 tools/workspace-hack/.gitattributes create mode 100644 tools/workspace-hack/Cargo.toml create mode 100644 tools/workspace-hack/build.rs create mode 100644 tools/workspace-hack/src/lib.rs delete mode 100644 ts/BUILD.bazel create mode 100644 ts/bundle_svelte.mjs create mode 100644 ts/bundle_ts.mjs delete mode 100644 ts/card-info/BUILD.bazel delete mode 100644 ts/change-notetype/BUILD.bazel delete mode 100644 ts/compile_sass.bzl delete mode 100644 ts/components/BUILD.bazel delete mode 100644 ts/congrats/BUILD.bazel delete mode 100644 ts/copy.bzl delete mode 100644 ts/deck-options/BUILD.bazel delete mode 100644 ts/domlib/BUILD.bazel delete mode 100644 ts/editable/BUILD.bazel delete mode 100644 ts/editor/BUILD.bazel create mode 100644 ts/editor/FieldDescription.svelte delete mode 100644 ts/esbuild.bzl create mode 100644 ts/esbuild_jest.mjs delete mode 100644 ts/eslint.bzl delete mode 100644 ts/fields/BUILD.bazel delete mode 100755 ts/format.sh delete mode 100644 ts/generate_page.bzl delete mode 100644 ts/graphs/BUILD.bazel delete mode 100644 ts/html-filter/BUILD.bazel delete mode 100644 ts/icons/BUILD.bazel delete mode 100644 ts/import-csv/BUILD.bazel delete mode 100644 ts/jest.bzl delete mode 100644 ts/lib/BUILD.bazel delete mode 100644 ts/mathjax/BUILD.bazel delete mode 100644 ts/patches/@bazel+typescript+4.6.2.patch delete mode 100644 ts/patches/protobufjs+6.11.3.patch create mode 100644 ts/patches/protobufjs+7.1.2.patch delete mode 100644 ts/prettier.bzl delete mode 100644 ts/proto.bzl delete mode 100644 ts/protobuf-no-long.js delete mode 100644 ts/protobuf.bzl delete mode 100644 ts/reviewer/BUILD.bazel delete mode 100644 ts/sql_format/BUILD.bazel delete mode 100644 ts/sql_format/defs.bzl delete mode 100644 ts/sql_format/tsconfig.json delete mode 100644 ts/svelte/BUILD.bazel delete mode 100644 ts/svelte/README.md delete mode 100644 ts/svelte/svelte.bzl delete mode 100644 ts/svelte/svelte.ts delete mode 100644 ts/svelte/tsconfig.json delete mode 100644 ts/sveltelib/BUILD.bazel delete mode 100644 ts/sveltelib/position/index.ts delete mode 100644 ts/sveltelib/types.ts delete mode 100644 ts/tag-editor/BUILD.bazel create mode 100644 ts/transform_ts.mjs delete mode 100644 ts/typescript.bzl delete mode 100755 ts/update-licenses.sh delete mode 100755 ts/update.sh delete mode 100644 ts/vendor.bzl diff --git a/.bazelignore b/.bazelignore deleted file mode 100644 index 1c30ea3ed..000000000 --- a/.bazelignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules -.bazel diff --git a/.bazelrc b/.bazelrc deleted file mode 100644 index ba35396fe..000000000 --- a/.bazelrc +++ /dev/null @@ -1,47 +0,0 @@ -common --enable_platform_specific_config -common --experimental_repository_cache_hardlinks - -# runfiles are off by default on Windows, and we need them -build --enable_runfiles - -# skip the slow zip step on Windows, as we have symlinks -build:windows --build_python_zip=false - -# record version/build hash -build --workspace_status_command='bash ./tools/status.sh' - -# support macOS 10.13+ -build:macos --action_env="MACOSX_DEPLOYMENT_TARGET=10.13" -build:macos --macos_minimum_os=10.13 - -# run clippy when compiling rust in test mode -test --aspects=@rules_rust//rust:defs.bzl%rust_clippy_aspect --output_groups=+clippy_checks - -# print output when test fails -test --test_output=errors - -# stop after one test failure -test --notest_keep_going - -# don't add empty __init__.py files -build --incompatible_default_to_explicit_init_py - -# custom output for CI -build:ci --show_timestamps --isatty=0 --color=yes --show_progress_rate_limit=5 - -# 'opt' config is an alias for building with optimizations -build:opt -c opt - -# the TypeScript workers on Windows choke when deps are changed while they're -# still running, so shut them down at the end of the build. -build:windows --worker_quit_after_build - -# place convenience symlinks inside a single folder for easier exclusion in IDEs -build --symlink_prefix=.bazel/ - -# if (auto-created) windows.bazelrc exists, import it -try-import %workspace%/windows.bazelrc - -# allow extra user customizations in a separate file -# (see .user.bazelrc for an example) -try-import %workspace%/user.bazelrc diff --git a/.bazelversion b/.bazelversion deleted file mode 100644 index ac14c3dfa..000000000 --- a/.bazelversion +++ /dev/null @@ -1 +0,0 @@ -5.1.1 diff --git a/.buildkite/linux/docker/Dockerfile.amd64 b/.buildkite/linux/docker/Dockerfile.amd64 index 2e745396d..9dc0020d0 100644 --- a/.buildkite/linux/docker/Dockerfile.amd64 +++ b/.buildkite/linux/docker/Dockerfile.amd64 @@ -44,14 +44,13 @@ RUN apt-get update && apt install --yes gnupg ca-certificates && \ portaudio19-dev \ python3-dev \ rsync \ + unzip \ zstd \ && rm -rf /var/lib/apt/lists/* - RUN curl -L https://github.com/bazelbuild/bazelisk/releases/download/v1.7.4/bazelisk-linux-amd64 \ -o /usr/local/bin/bazel \ && chmod +x /usr/local/bin/bazel - RUN ln -sf /usr/bin/python3 /usr/bin/python RUN mkdir -p /etc/buildkite-agent/hooks && chown -R user /etc/buildkite-agent @@ -59,6 +58,19 @@ RUN mkdir -p /etc/buildkite-agent/hooks && chown -R user /etc/buildkite-agent COPY buildkite.cfg /etc/buildkite-agent/buildkite-agent.cfg COPY environment /etc/buildkite-agent/hooks/environment +RUN curl -LO https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip \ + && unzip ninja-linux.zip \ + && chmod +x ninja \ + && mv ninja /usr/bin \ + && rm ninja-linux.zip + +RUN mkdir /state/rust && chown user /state/rust + USER user + +ENV CARGO_HOME=/state/rust/cargo +ENV RUSTUP_HOME=/state/rust/rustup +RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --no-modify-path --default-toolchain none + WORKDIR /code/buildkite ENTRYPOINT ["/usr/bin/buildkite-agent", "start"] diff --git a/.buildkite/linux/docker/Dockerfile.arm64 b/.buildkite/linux/docker/Dockerfile.arm64 index 2067c9a97..c13d50bb7 100644 --- a/.buildkite/linux/docker/Dockerfile.arm64 +++ b/.buildkite/linux/docker/Dockerfile.arm64 @@ -1,7 +1,7 @@ FROM debian:11-slim ARG DEBIAN_FRONTEND="noninteractive" -ENV PYTHON_SITE_PACKAGES=/usr/lib/python3/dist-packages/ +ENV PYTHONPATH=/usr/lib/python3/dist-packages RUN useradd -d /state -m -u 998 user @@ -46,13 +46,13 @@ RUN apt-get update && apt install --yes gnupg ca-certificates && \ python3-dev \ rsync \ # -- begin only required for arm64/debian11 + ninja-build \ clang-format \ python-is-python3 \ python3-pyqt5.qtwebengine \ # -- end only required for arm64/debian11 && rm -rf /var/lib/apt/lists/* - RUN curl -L https://github.com/bazelbuild/bazelisk/releases/download/v1.10.1/bazelisk-linux-arm64 \ -o /usr/local/bin/bazel \ && chmod +x /usr/local/bin/bazel @@ -64,6 +64,13 @@ RUN mkdir -p /etc/buildkite-agent/hooks && chown -R user /etc/buildkite-agent COPY buildkite.cfg /etc/buildkite-agent/buildkite-agent.cfg COPY environment /etc/buildkite-agent/hooks/environment +RUN mkdir /state/rust && chown user /state/rust + USER user + +ENV CARGO_HOME=/state/rust/cargo +ENV RUSTUP_HOME=/state/rust/rustup +RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --no-modify-path --default-toolchain none + WORKDIR /code/buildkite ENTRYPOINT ["/usr/bin/buildkite-agent", "start"] diff --git a/.buildkite/linux/docker/buildkite.cfg b/.buildkite/linux/docker/buildkite.cfg index 3b5345c46..1e503009b 100644 --- a/.buildkite/linux/docker/buildkite.cfg +++ b/.buildkite/linux/docker/buildkite.cfg @@ -4,3 +4,4 @@ build-path="/state/build" hooks-path="/etc/buildkite-agent/hooks" no-plugins=true no-local-hooks=true +no-git-submodules=true diff --git a/.buildkite/linux/entrypoint b/.buildkite/linux/entrypoint index bee05ae7e..926ea431b 100755 --- a/.buildkite/linux/entrypoint +++ b/.buildkite/linux/entrypoint @@ -6,19 +6,11 @@ set -e echo "--- Checking CONTRIBUTORS" .buildkite/linux/check_contributors -BAZEL="bazel --output_user_root=/state/bazel --output_base=/state/bazel/anki" -BUILDARGS="--config=ci --disk_cache=/state/bazel/disk --repository_cache=/state/bazel/repo" - echo "+++ Building and testing" +ln -sf out/node_modules . -# move existing node_modules into tree -test -e /state/node_modules && mv /state/node_modules . +export PATH="$PATH:/state/rust/cargo/bin" +export BUILD_ROOT=/state/build +export ONLINE_TESTS=1 -$BAZEL test $BUILDARGS ... //rslib/linkchecker - -echo "--- Running lints" -python tools/copyright_headers.py - -echo "--- Cleanup" -# if tests succeed, back up node_modules folder -mv node_modules /state/ +./ninja pylib/anki qt/aqt check diff --git a/.buildkite/linux/release-entrypoint b/.buildkite/linux/release-entrypoint index 496a1bd8e..a85877d93 100755 --- a/.buildkite/linux/release-entrypoint +++ b/.buildkite/linux/release-entrypoint @@ -2,17 +2,13 @@ set -e -# move existing node_modules into tree -test -e /state/node_modules && mv /state/node_modules . +export PATH="$PATH:/state/rust/cargo/bin" +export BUILD_ROOT=/state/build +export RELEASE=1 +ln -sf out/node_modules . if [ $(uname -m) = "aarch64" ]; then - ./tools/build + ./ninja wheels:anki else - ./tools/bundle + ./ninja bundle fi - -rm -rf /state/dist -mv .bazel/out/dist /state - -# if tests succeed, back up node_modules folder -mv node_modules /state/ diff --git a/.buildkite/mac/entrypoint b/.buildkite/mac/entrypoint index d0f05c149..4534cac36 100755 --- a/.buildkite/mac/entrypoint +++ b/.buildkite/mac/entrypoint @@ -4,18 +4,7 @@ set -e STATE=$(pwd)/../state/anki-ci mkdir -p $STATE -BAZEL="bazel --output_user_root=$STATE/bazel --output_base=$STATE/bazel/anki" -BUILDARGS="--config=ci --experimental_convenience_symlinks=ignore" echo "+++ Building and testing" - -# move existing node_modules into tree -test -e $STATE/node_modules && mv $STATE/node_modules . - -$BAZEL test $BUILDARGS ... - -echo "--- Building wheels" -$BAZEL build wheels - -# if tests succeed, back up node_modules folder -mv node_modules $STATE/ +ln -sf out/node_modules . +BUILD_ROOT=$STATE/build ./ninja pylib/anki qt/aqt wheels check diff --git a/.buildkite/windows/entrypoint.bat b/.buildkite/windows/entrypoint.bat index 99b0c03db..1b45b7455 100755 --- a/.buildkite/windows/entrypoint.bat +++ b/.buildkite/windows/entrypoint.bat @@ -1,22 +1,16 @@ -set BAZEL=\bazel\bazel.exe --output_user_root=\bazel\ankici --output_base=\bazel\ankici\base -set BUILDARGS=--config=ci +set PATH=c:\cargo\bin;%PATH% echo +++ Building and testing -if exist \bazel\node_modules ( - move \bazel\node_modules .\node_modules +if exist \buildkite\state\out ( + move \buildkite\state\out . +) +if exist \buildkite\state\node_modules ( + move \buildkite\state\node_modules . ) -call %BAZEL% test %BUILDARGS% ... -IF %ERRORLEVEL% NEQ 0 ( - echo checking ts build - call %BAZEL% build //ts/... || ( - echo ts build failed, cleaning up build products - call %BAZEL% run tools:cleanup_js - ) - - exit /B 1 -) +call tools\ninja build pylib/anki qt/aqt check || exit /b 1 echo --- Cleanup -move node_modules \bazel\node_modules +move out \buildkite\state\ +move node_modules \buildkite\state\ diff --git a/.cargo/config.toml b/.cargo/config.toml new file mode 100644 index 000000000..dd55c71a5 --- /dev/null +++ b/.cargo/config.toml @@ -0,0 +1,9 @@ +[env] +STRINGS_JSON = { value = "out/rslib/i18n/strings.json", relative = true } +# build script will append .exe if necessary +PROTOC = { value = "out/extracted/protoc/bin/protoc", relative = true } +PYO3_NO_PYTHON = "1" +MACOSX_DEPLOYMENT_TARGET = "10.13.4" + +[term] +color = "always" \ No newline at end of file diff --git a/.config/hakari.toml b/.config/hakari.toml new file mode 100644 index 000000000..79e96fad7 --- /dev/null +++ b/.config/hakari.toml @@ -0,0 +1,8 @@ +hakari-package = "workspace-hack" +dep-format-version = "2" +resolver = "2" + +[traversal-excludes] +third-party = [ + { name = "reqwest", git = "https://github.com/ankitects/reqwest.git", rev = "7591444614de02b658ddab125efba7b2bb4e2335" } +] \ No newline at end of file diff --git a/.config/nextest.toml b/.config/nextest.toml new file mode 100644 index 000000000..5f2409d02 --- /dev/null +++ b/.config/nextest.toml @@ -0,0 +1,2 @@ +[store] +dir = "out/tests/nextest" diff --git a/.dprint.json b/.dprint.json index 9cc61e4ff..ad6e0178e 100644 --- a/.dprint.json +++ b/.dprint.json @@ -14,7 +14,20 @@ "semi": true }, "includes": ["**/*.{ts,tsx,js,jsx,cjs,mjs,json,md,toml,svelte}"], - "excludes": ["**/node_modules", "**/*-lock.json", "**/*.{ts,json,md,svelte}", "qt/aqt/data/web/js/vendor/*.js"], + "excludes": [ + "**/node_modules", + "out/**", + "**/*-lock.json", + "**/*.{ts,toml,svelte}", + "qt/aqt/data/web/js/vendor/*.js", + "ftl/qt-repo", + "ftl/core-repo", + "ftl/usage", + "licenses.json", + ".dmypy.json", + "qt/bundle/PyOxidizer", + "target" + ], "plugins": [ "https://plugins.dprint.dev/typescript-0.77.0.wasm", "https://plugins.dprint.dev/json-0.16.0.wasm", diff --git a/ts/.eslintrc.js b/.eslintrc.js similarity index 91% rename from ts/.eslintrc.js rename to .eslintrc.js index 7bd2042cb..f857cde5e 100644 --- a/ts/.eslintrc.js +++ b/.eslintrc.js @@ -1,4 +1,5 @@ module.exports = { + root: true, extends: ["eslint:recommended", "plugin:compat/recommended"], parser: "@typescript-eslint/parser", plugins: [ @@ -21,6 +22,7 @@ module.exports = { "simple-import-sort/exports": "warn", "prefer-const": "warn", "no-nested-ternary": "warn", + "@typescript-eslint/consistent-type-imports": "error", }, overrides: [ { @@ -43,7 +45,7 @@ module.exports = { }, ], env: { browser: true }, - ignorePatterns: ["backend_proto.d.ts", "*.svelte.d.ts"], + ignorePatterns: ["backend_proto.d.ts", "*.svelte.d.ts", "vendor"], globals: { globalThis: false, NodeListOf: false, diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md index 2d0e000e0..05ba6c7d2 100644 --- a/.github/ISSUE_TEMPLATE/bug-report.md +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -6,17 +6,17 @@ labels: "" assignees: "" --- -- Have a question or feature suggestion? -- Problems building/running on your system? -- Not 100% sure you've found a bug? +- Have a question or feature suggestion? +- Problems building/running on your system? +- Not 100% sure you've found a bug? If so, please post on https://forums.ankiweb.net/ instead. This issue tracker is intended primarily to track development tasks, and it is easier to provide support over on the forums. Please make sure you read the following pages before you post there: -- https://faqs.ankiweb.net/when-problems-occur.html -- https://faqs.ankiweb.net/getting-help.html +- https://faqs.ankiweb.net/when-problems-occur.html +- https://faqs.ankiweb.net/getting-help.html If you post questions, suggestions, or vague bug reports here, please do not be offended if we close your ticket without replying. If in doubt, please post on diff --git a/.gitignore b/.gitignore index d9b0a7aef..0e9577c18 100644 --- a/.gitignore +++ b/.gitignore @@ -4,8 +4,9 @@ anki.prof target /user.bazelrc .dmypy.json -node_modules /.idea/ /.vscode/ /.bazel /windows.bazelrc +/out +node_modules diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..4b3f3728e --- /dev/null +++ b/.gitmodules @@ -0,0 +1,11 @@ +[submodule "ftl/core-repo"] + path = ftl/core-repo + url = https://github.com/ankitects/anki-core-i18n.git + shallow = true +[submodule "ftl/qt-repo"] + path = ftl/qt-repo + url = https://github.com/ankitects/anki-desktop-ftl.git + shallow = true +[submodule "qt/bundle/PyOxidizer"] + path = qt/bundle/PyOxidizer + url = https://github.com/ankitects/PyOxidizer.git diff --git a/pylib/.isort.cfg b/.isort.cfg similarity index 50% rename from pylib/.isort.cfg rename to .isort.cfg index 2c1fbb53b..bb5a3841f 100644 --- a/pylib/.isort.cfg +++ b/.isort.cfg @@ -1,10 +1,10 @@ [settings] -skip=aqt/forms,backend_pb2.py,backend_pb2.pyi,fluent_pb2.py,fluent_pb2.pyi,rsbackend_gen.py,generated.py,hooks_gen.py,genbackend.py -profile=black -multi_line_output=3 -include_trailing_comma=True -force_grid_wrap=0 -use_parentheses=True -line_length=88 ensure_newline_before_comments=true -known_first_party=tests,anki +force_grid_wrap=0 +include_trailing_comma=True +known_first_party=anki,aqt,tests +line_length=88 +multi_line_output=3 +profile=black +skip= +use_parentheses=True diff --git a/qt/mypy.ini b/.mypy.ini similarity index 69% rename from qt/mypy.ini rename to .mypy.ini index 53c847e43..c1576ef0e 100644 --- a/qt/mypy.ini +++ b/.mypy.ini @@ -1,25 +1,47 @@ [mypy] python_version = 3.9 +pretty = false no_strict_optional = true show_error_codes = true +check_untyped_defs = true disallow_untyped_decorators = True warn_redundant_casts = True warn_unused_configs = True -check_untyped_defs = true -disallow_untyped_defs = True strict_equality = true +namespace_packages = true +explicit_package_bases = true +mypy_path = + pylib, + out/pylib, + qt, + out/qt, + ftl, + pylib/tools, + python +exclude = (qt/bundle/PyOxidizer|pylib/anki/_vendor) +[mypy-anki.*] +disallow_untyped_defs = True +[mypy-anki.importing.*] +disallow_untyped_defs = False +[mypy-anki.exporting] +disallow_untyped_defs = False [mypy-aqt.operations.*] no_strict_optional = false - -[mypy-aqt.winpaths] -disallow_untyped_defs=false +[mypy-anki.scheduler.base] +no_strict_optional = false +[mypy-anki._backend.rsbridge] +ignore_missing_imports = True +[mypy-anki._vendor.stringcase] +disallow_untyped_defs = False +[mypy-stringcase] +ignore_missing_imports = True [mypy-aqt.mpv] disallow_untyped_defs=false ignore_errors=true +[mypy-aqt.winpaths] +disallow_untyped_defs=false -[mypy-pyaudio] -ignore_missing_imports = True [mypy-win32file] ignore_missing_imports = True [mypy-win32pipe] @@ -38,40 +60,24 @@ ignore_missing_imports = True ignore_missing_imports = True [mypy-bs4] ignore_missing_imports = True -[mypy-pythoncom] +[mypy-fluent.*] ignore_missing_imports = True -[mypy-win32com] -ignore_missing_imports = True -[mypy-send2trash] -ignore_missing_imports = True -[mypy-markdown] -ignore_missing_imports = True -[mypy-jsonschema.*] -ignore_missing_imports = True -[mypy-anki._rsbridge] -ignore_missing_imports = True -[mypy-PyQt5.sip] +[mypy-compare_locales.*] ignore_missing_imports = True [mypy-PyQt5.*] ignore_errors = True ignore_missing_imports = True -[mypy-win32com.client] +[mypy-send2trash] ignore_missing_imports = True -[mypy-darkdetect] +[mypy-win32com.*] +ignore_missing_imports = True +[mypy-jsonschema.*] ignore_missing_imports = True [mypy-socks] ignore_missing_imports = True -[mypy-stringcase] +[mypy-pythoncom] ignore_missing_imports = True -[mypy-certifi] +[mypy-snakeviz.*] ignore_missing_imports = True - -[mypy-aqt.forms.*] -disallow_untyped_defs = false - -[mypy-anki.*] -disallow_untyped_defs=false - -[mypy-PyQt6.*] -ignore_errors = True +[mypy-wheel.*] ignore_missing_imports = True diff --git a/pylib/.pylintrc b/.pylintrc similarity index 73% rename from pylib/.pylintrc rename to .pylintrc index cee6511ed..21918469b 100644 --- a/pylib/.pylintrc +++ b/.pylintrc @@ -1,7 +1,8 @@ [MASTER] ignore-patterns=.*_pb2.* persistent = no -extension-pkg-whitelist=orjson +extension-pkg-whitelist=orjson,PyQt6 +init-hook="import sys; sys.path.extend(['pylib/anki/_vendor', 'out/qt'])" [REPORTS] output-format=colorized @@ -32,6 +33,7 @@ disable= arguments-differ, arguments-renamed, consider-using-f-string, + invalid-name [BASIC] good-names = @@ -42,4 +44,4 @@ good-names = ip, [IMPORTS] -ignored-modules = anki.*_pb2, anki.sync_pb2 +ignored-modules = anki.*_pb2, anki.sync_pb2, win32file,pywintypes,socket,win32pipe,winrt,pyaudio,anki.scheduler_pb2 diff --git a/cargo/remote/BUILD.bazel b/.rustfmt-empty.toml similarity index 100% rename from cargo/remote/BUILD.bazel rename to .rustfmt-empty.toml diff --git a/qt/bundle/rustfmt.toml b/.rustfmt.toml similarity index 77% rename from qt/bundle/rustfmt.toml rename to .rustfmt.toml index 3c812a2b9..a19194a0b 100644 --- a/qt/bundle/rustfmt.toml +++ b/.rustfmt.toml @@ -2,3 +2,5 @@ # useful for manual invocation with 'cargo +nightly fmt' imports_granularity = "Crate" group_imports = "StdExternalCrate" +# imports_granularity = "Item" +# imports_layout = "Vertical" diff --git a/.user.bazelrc b/.user.bazelrc deleted file mode 100644 index cec87f54d..000000000 --- a/.user.bazelrc +++ /dev/null @@ -1,13 +0,0 @@ -# Copy the desired parts of this file into user.bazelrc in the repo dir -# if you'd like to customize the build. It will be ignored by git. - -## specify custom python path -# build --action_env="PYO3_PYTHON=/usr/local/bin/python3.9" - -## Cache build products for faster builds when switching between branches. -## Is not automatically pruned, so you need to manually remove it occasionally -## to free up disk space. -build --disk_cache=~/.cache/bazel/disk - -## keep Bazel server in memory for 2 days for faster builds -startup --max_idle_secs=172800 diff --git a/.version b/.version new file mode 100644 index 000000000..8b34a22cf --- /dev/null +++ b/.version @@ -0,0 +1 @@ +2.1.55 diff --git a/.vscode.dist/extensions.json b/.vscode.dist/extensions.json index a25760214..bb449cc57 100644 --- a/.vscode.dist/extensions.json +++ b/.vscode.dist/extensions.json @@ -1,9 +1,8 @@ { "recommendations": [ "dprint.dprint", - "esbenp.prettier-vscode", - "bazelbuild.vscode-bazel", "ms-python.python", + "ms-python.black-formatter", "rust-lang.rust-analyzer", "svelte.svelte-vscode", "zxh404.vscode-proto3", diff --git a/.vscode.dist/settings.json b/.vscode.dist/settings.json index 4562e9679..2ab001cf2 100644 --- a/.vscode.dist/settings.json +++ b/.vscode.dist/settings.json @@ -11,7 +11,13 @@ "**/node_modules/*/**": true, ".bazel/**": true }, - "python.analysis.extraPaths": ["./pylib"], + "python.analysis.extraPaths": [ + "./pylib", + "out/pylib", + "./pylib/anki/_vendor", + "out/qt", + "qt" + ], "python.formatting.provider": "black", "python.linting.mypyEnabled": false, "python.analysis.diagnosticSeverityOverrides": { @@ -25,7 +31,9 @@ "rust-analyzer.rustfmt.extraArgs": ["+nightly"], "search.exclude": { "**/node_modules": true, - ".bazel/**": true + ".bazel/**": true, + "qt/bundle/PyOxidizer": true }, - "rust-analyzer.cargo.buildScripts.enable": true + "rust-analyzer.cargo.buildScripts.enable": true, + "python.analysis.typeCheckingMode": "off" } diff --git a/BUILD.bazel b/BUILD.bazel deleted file mode 100644 index d6dc535ba..000000000 --- a/BUILD.bazel +++ /dev/null @@ -1,39 +0,0 @@ -load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar") - -config_setting( - name = "release", - values = { - "compilation_mode": "opt", - }, -) - -genrule( - name = "buildinfo", - srcs = ["//:defs.bzl"], - outs = ["buildinfo.txt"], - cmd = select({ - "release": "$(location //tools:buildinfo) $(location //:defs.bzl) bazel-out/stable-status.txt release > $@", - "//conditions:default": "$(location //tools:buildinfo) $(location //:defs.bzl) bazel-out/stable-status.txt devel > $@", - }), - stamp = 1, - tools = [ - "//tools:buildinfo", - ], - visibility = ["//visibility:public"], -) - -pkg_tar( - name = "wheels", - srcs = [ - "//pylib/anki:wheel", - "//qt/aqt:wheel", - ], - mode = "0644", - tags = ["manual"], -) - -exports_files([ - "defs.bzl", - "package.json", - ".prettierrc", -]) diff --git a/Cargo.lock b/Cargo.lock index 0b7724d99..413eb3bb2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17,6 +17,18 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "aes" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", + "opaque-debug", +] + [[package]] name = "ahash" version = "0.7.6" @@ -89,7 +101,6 @@ dependencies = [ "hex", "htmlescape", "id_tree", - "intl-memoizer", "itertools", "lazy_static", "nom", @@ -99,7 +110,6 @@ dependencies = [ "once_cell", "pct-str", "pin-project", - "proc-macro-nested", "prost", "prost-build", "pulldown-cmark 0.9.2", @@ -114,7 +124,7 @@ dependencies = [ "serde_json", "serde_repr", "serde_tuple", - "sha1", + "sha1 0.6.1", "slog", "slog-async", "slog-envlogger", @@ -124,13 +134,13 @@ dependencies = [ "tempfile", "tokio", "tokio-util", - "unic-langid", "unic-ucd-category", "unicase", "unicode-normalization", "utime", "which", - "zip", + "workspace-hack", + "zip 0.6.3", "zstd", ] @@ -148,6 +158,7 @@ dependencies = [ "serde", "serde_json", "unic-langid", + "workspace-hack", ] [[package]] @@ -159,24 +170,49 @@ dependencies = [ "regex", "serde_json", "walkdir", + "workspace-hack", ] -[[package]] -name = "anki_workspace" -version = "0.0.0" - [[package]] name = "anyhow" version = "1.0.65" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602" +[[package]] +name = "apple-bundles" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48681b45ff6789616b243c0758d6d97639951f937ccc0ea635363505d72cdec3" +dependencies = [ + "anyhow", + "plist", + "tugger-file-manifest", + "walkdir", +] + [[package]] name = "arc-swap" version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "983cd8b9d4b02a6dc6ffa557262eb5858a27a0038ffffe21a0f133eaa819a164" +[[package]] +name = "archives" +version = "0.0.0" +dependencies = [ + "camino", + "flate2", + "reqwest", + "sha2 0.10.6", + "tar", + "tokio", + "workspace-hack", + "xz2", + "zip 0.6.3", + "zstd", +] + [[package]] name = "arrayref" version = "0.3.6" @@ -247,6 +283,12 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[package]] +name = "base64ct" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" + [[package]] name = "bitflags" version = "1.3.2" @@ -264,7 +306,16 @@ dependencies = [ "cc", "cfg-if", "constant_time_eq", - "digest", + "digest 0.10.5", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array", ] [[package]] @@ -276,6 +327,22 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-modes" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cb03d1bed155d89dce0f845b7899b18a9a163e148fd004e1c28421a783e2d8e" +dependencies = [ + "block-padding", + "cipher", +] + +[[package]] +name = "block-padding" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" + [[package]] name = "bstr" version = "0.2.17" @@ -306,6 +373,33 @@ version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db" +[[package]] +name = "bzip2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "camino" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ad0e1e3e88dd237a156ab9f571021b8a158caa0ae44b1968a241efb5144c1e" + [[package]] name = "cast" version = "0.3.0" @@ -369,6 +463,15 @@ dependencies = [ "half", ] +[[package]] +name = "cipher" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" +dependencies = [ + "generic-array", +] + [[package]] name = "clap" version = "3.2.22" @@ -376,11 +479,39 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "86447ad904c7fb335a790c9d7fe3d0d971dc523b8ccd1561a520de9a85302750" dependencies = [ "bitflags", - "clap_lex", + "clap_lex 0.2.4", "indexmap", "textwrap", ] +[[package]] +name = "clap" +version = "4.0.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2148adefda54e14492fb9bddcc600b4344c5d1a3123bd666dcb939c6f0e0e57e" +dependencies = [ + "atty", + "bitflags", + "clap_derive", + "clap_lex 0.3.0", + "once_cell", + "strsim", + "termcolor", +] + +[[package]] +name = "clap_derive" +version = "4.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0177313f9f02afc995627906bbd8967e2be069f5261954222dac78290c2b9014" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "clap_lex" version = "0.2.4" @@ -390,6 +521,15 @@ dependencies = [ "os_str_bytes", ] +[[package]] +name = "clap_lex" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8" +dependencies = [ + "os_str_bytes", +] + [[package]] name = "coarsetime" version = "0.1.22" @@ -423,6 +563,14 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "configure" +version = "0.0.0" +dependencies = [ + "ninja_gen", + "workspace-hack", +] + [[package]] name = "constant_time_eq" version = "0.1.5" @@ -460,6 +608,15 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +[[package]] +name = "cpufeatures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +dependencies = [ + "libc", +] + [[package]] name = "crc32fast" version = "1.3.2" @@ -479,7 +636,7 @@ dependencies = [ "atty", "cast", "ciborium", - "clap", + "clap 3.2.22", "criterion-plot", "itertools", "lazy_static", @@ -560,6 +717,16 @@ dependencies = [ "typenum", ] +[[package]] +name = "crypto-mac" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" +dependencies = [ + "generic-array", + "subtle", +] + [[package]] name = "cssparser" version = "0.27.2" @@ -620,13 +787,33 @@ dependencies = [ "syn", ] +[[package]] +name = "des" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac41dd49fb554432020d52c875fc290e110113f864c6b1b525cd62c7e7747a5d" +dependencies = [ + "byteorder", + "cipher", + "opaque-debug", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + [[package]] name = "digest" version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" dependencies = [ - "block-buffer", + "block-buffer 0.10.3", "crypto-common", "subtle", ] @@ -679,6 +866,18 @@ dependencies = [ "dtoa", ] +[[package]] +name = "duct" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc6a0a59ed0888e0041cf708e66357b7ae1a82f1c67247e1f93b5e0818f7d8d" +dependencies = [ + "libc", + "once_cell", + "os_pipe", + "shared_child", +] + [[package]] name = "dunce" version = "1.0.2" @@ -734,6 +933,29 @@ dependencies = [ "instant", ] +[[package]] +name = "filetime" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b9663d381d07ae25dc88dbdf27df458faa83a9b25336bcac83d5e452b5fc9d3" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall", + "windows-sys 0.42.0", +] + +[[package]] +name = "find-winsdk" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8cbf17b871570c1f8612b763bac3e86290602bcf5dc3c5ce657e0e1e9071d9e" +dependencies = [ + "serde", + "serde_derive", + "winreg 0.5.1", +] + [[package]] name = "fixedbitset" version = "0.4.2" @@ -824,6 +1046,25 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "fs2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "ftl" +version = "0.0.0" +dependencies = [ + "camino", + "snafu", + "workspace-hack", +] + [[package]] name = "futf" version = "0.1.5" @@ -979,6 +1220,25 @@ version = "0.26.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +[[package]] +name = "glob" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" + +[[package]] +name = "globset" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a1e17342619edbc21a964c2afbeb6c820c6a2560032872f397bb97ea127bd0a" +dependencies = [ + "aho-corasick", + "bstr", + "fnv", + "log", + "regex", +] + [[package]] name = "h2" version = "0.3.14" @@ -1043,6 +1303,25 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" +[[package]] +name = "hmac" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" +dependencies = [ + "crypto-mac", + "digest 0.9.0", +] + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.5", +] + [[package]] name = "html5ever" version = "0.25.2" @@ -1308,6 +1587,16 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "junction" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be39922b087cecaba4e2d5592dedfc8bda5d4a5a1231f143337cca207950b61d" +dependencies = [ + "scopeguard", + "winapi", +] + [[package]] name = "kuchiki" version = "0.8.1" @@ -1343,6 +1632,15 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "line-wrap" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" +dependencies = [ + "safemem", +] + [[package]] name = "linkcheck" version = "0.4.1-alpha.0" @@ -1376,6 +1674,7 @@ dependencies = [ "reqwest", "strum", "tokio", + "workspace-hack", ] [[package]] @@ -1406,12 +1705,56 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "lzma-sys" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + [[package]] name = "mac" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" +[[package]] +name = "makeapp" +version = "0.0.0" +dependencies = [ + "anyhow", + "apple-bundles", + "camino", + "clap 4.0.26", + "glob", + "lazy_static", + "plist", + "serde", + "serde_json", + "tugger-file-manifest", + "walkdir", + "workspace-hack", +] + +[[package]] +name = "makeinstall" +version = "0.0.0" +dependencies = [ + "anyhow", + "camino", + "clap 4.0.26", + "glob", + "slog", + "slog-term", + "tugger-windows-codesign", + "walkdir", + "workspace-hack", +] + [[package]] name = "maplit" version = "1.0.2" @@ -1507,7 +1850,7 @@ dependencies = [ "libc", "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys", + "windows-sys 0.36.1", ] [[package]] @@ -1540,6 +1883,21 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" +[[package]] +name = "ninja_gen" +version = "0.0.0" +dependencies = [ + "camino", + "globset", + "itertools", + "lazy_static", + "maplit", + "num_cpus", + "walkdir", + "which", + "workspace-hack", +] + [[package]] name = "nodrop" version = "0.1.14" @@ -1587,9 +1945,9 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" +checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" dependencies = [ "hermit-abi", "libc", @@ -1646,6 +2004,12 @@ version = "11.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + [[package]] name = "openssl" version = "0.10.41" @@ -1691,12 +2055,38 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "os_pipe" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fb233f06c2307e1f5ce2ecad9f8121cffbbee2c95428f44ea85222e460d0d213" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "os_str_bytes" version = "6.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" +[[package]] +name = "p12" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10105b08ad3c4cd872ddf396860544f9dbc1800fed7d552f10aa5b585ac79e1d" +dependencies = [ + "block-modes", + "des", + "getrandom 0.2.7", + "hmac 0.11.0", + "lazy_static", + "rc2", + "sha-1", + "yasna", +] + [[package]] name = "parking_lot" version = "0.12.1" @@ -1717,7 +2107,30 @@ dependencies = [ "libc", "redox_syscall", "smallvec", - "windows-sys", + "windows-sys 0.36.1", +] + +[[package]] +name = "password-hash" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700" +dependencies = [ + "base64ct", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "pbkdf2" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" +dependencies = [ + "digest 0.10.5", + "hmac 0.12.1", + "password-hash", + "sha2 0.10.6", ] [[package]] @@ -1728,6 +2141,15 @@ dependencies = [ "utf8-decode", ] +[[package]] +name = "pem" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03c64931a1a212348ec4f3b4362585eca7159d0d09cbdf4a7f74f02173596fd4" +dependencies = [ + "base64", +] + [[package]] name = "percent-encoding" version = "2.2.0" @@ -1916,6 +2338,20 @@ version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae" +[[package]] +name = "plist" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd39bc6cdc9355ad1dc5eeedefee696bb35c34caf21768741e81826c0bbd7225" +dependencies = [ + "base64", + "indexmap", + "line-wrap", + "serde", + "time 0.3.14", + "xml-rs", +] + [[package]] name = "plotters" version = "0.3.4" @@ -1967,18 +2403,36 @@ dependencies = [ "toml", ] +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + [[package]] name = "proc-macro-hack" version = "0.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" -[[package]] -name = "proc-macro-nested" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" - [[package]] name = "proc-macro2" version = "1.0.43" @@ -2239,6 +2693,28 @@ dependencies = [ "num_cpus", ] +[[package]] +name = "rc2" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48f197c283075d1345c20d5ad172526a7837882cdc998b1fcd2b2f3cfff1cb94" +dependencies = [ + "cipher", + "opaque-debug", +] + +[[package]] +name = "rcgen" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5911d1403f4143c9d56a702069d593e8d0f3fab880a85e103604d0893ea31ba7" +dependencies = [ + "chrono", + "pem", + "ring", + "yasna", +] + [[package]] name = "redox_syscall" version = "0.2.16" @@ -2330,7 +2806,7 @@ dependencies = [ "wasm-bindgen-futures", "web-sys", "webpki-roots", - "winreg", + "winreg 0.7.0", ] [[package]] @@ -2354,6 +2830,18 @@ version = "0.0.0" dependencies = [ "anki", "pyo3", + "workspace-hack", +] + +[[package]] +name = "runner" +version = "0.0.0" +dependencies = [ + "camino", + "clap 4.0.26", + "junction", + "termcolor", + "workspace-hack", ] [[package]] @@ -2428,6 +2916,12 @@ version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +[[package]] +name = "safemem" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" + [[package]] name = "same-file" version = "1.0.6" @@ -2444,7 +2938,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2" dependencies = [ "lazy_static", - "windows-sys", + "windows-sys 0.36.1", ] [[package]] @@ -2520,9 +3014,9 @@ checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" [[package]] name = "serde" -version = "1.0.145" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b" +checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" dependencies = [ "serde_derive", ] @@ -2540,9 +3034,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.145" +version = "1.0.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c" +checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" dependencies = [ "proc-macro2", "quote", @@ -2551,9 +3045,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.85" +version = "1.0.88" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" +checksum = "8e8b3801309262e8184d9687fb697586833e939767aea0dda89f5a8e650e8bd7" dependencies = [ "itoa 1.0.3", "ryu", @@ -2614,6 +3108,19 @@ dependencies = [ "stable_deref_trait", ] +[[package]] +name = "sha-1" +version = "0.9.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + [[package]] name = "sha1" version = "0.6.1" @@ -2623,12 +3130,57 @@ dependencies = [ "sha1_smol", ] +[[package]] +name = "sha1" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.5", +] + [[package]] name = "sha1_smol" version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012" +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + +[[package]] +name = "sha2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.5", +] + +[[package]] +name = "shared_child" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6be9f7d5565b1483af3e72975e2dee33879b3b86bd48c0929fccf6585d79e65a" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "signal-hook-registry" version = "1.4.0" @@ -2729,9 +3281,9 @@ checksum = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1" [[package]] name = "snafu" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd726aec4ebad65756394ff89a9b9598793d4e30121cd71690244c1e497b3aee" +checksum = "a152ba99b054b22972ee794cf04e5ef572da1229e33b65f3c57abbff0525a454" dependencies = [ "backtrace", "doc-comment", @@ -2740,9 +3292,9 @@ dependencies = [ [[package]] name = "snafu-derive" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712529e9b0b014eabaa345b38e06032767e3dc393e8b017e853b1d7247094e74" +checksum = "d5e79cdebbabaebb06a9bdbaedc7f159b410461f63611d4d0e3fb0fab8fed850" dependencies = [ "heck", "proc-macro2", @@ -2804,6 +3356,12 @@ dependencies = [ "quote", ] +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + [[package]] name = "strum" version = "0.24.1" @@ -2849,6 +3407,17 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60" +[[package]] +name = "tar" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6" +dependencies = [ + "filetime", + "libc", + "xattr", +] + [[package]] name = "target-lexicon" version = "0.12.4" @@ -3003,9 +3572,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.21.1" +version = "1.21.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0020c875007ad96677dcc890298f4b942882c5d4eb7cc8f439fc3bf813dc9c95" +checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099" dependencies = [ "autocfg", "bytes", @@ -3013,7 +3582,6 @@ dependencies = [ "memchr", "mio", "num_cpus", - "once_cell", "parking_lot", "pin-project-lite", "signal-hook-registry", @@ -3130,6 +3698,64 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +[[package]] +name = "tugger-common" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a7438a6e6ed337853dfeb03e3eb463c25d60141186b65363a1dfa3ed8fa6bab" +dependencies = [ + "anyhow", + "fs2", + "glob", + "hex", + "once_cell", + "reqwest", + "sha2 0.9.9", + "slog", + "tempfile", + "url", + "zip 0.5.13", +] + +[[package]] +name = "tugger-file-manifest" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29e91ac69050080a0a9fd50af05da5baa8562347ca7b8909f8ed3adbc6ef026f" + +[[package]] +name = "tugger-windows" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "862f31d91b88b479a2671584a9772f81ec3d21b8314adc4fdf17619b12f8750c" +dependencies = [ + "anyhow", + "duct", + "find-winsdk", + "glob", + "once_cell", + "semver", + "tugger-common", + "winapi", +] + +[[package]] +name = "tugger-windows-codesign" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99fe75b7e13b3ba9d95001be2f5a0b5bd1246d38492f5658fd5e90c1006eed00" +dependencies = [ + "anyhow", + "chrono", + "duct", + "p12", + "rcgen", + "slog", + "tugger-common", + "tugger-windows", + "yasna", +] + [[package]] name = "type-map" version = "0.4.0" @@ -3514,43 +4140,110 @@ version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" dependencies = [ - "windows_aarch64_msvc", - "windows_i686_gnu", - "windows_i686_msvc", - "windows_x86_64_gnu", - "windows_x86_64_msvc", + "windows_aarch64_msvc 0.36.1", + "windows_i686_gnu 0.36.1", + "windows_i686_msvc 0.36.1", + "windows_x86_64_gnu 0.36.1", + "windows_x86_64_msvc 0.36.1", ] +[[package]] +name = "windows-sys" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc 0.42.0", + "windows_i686_gnu 0.42.0", + "windows_i686_msvc 0.42.0", + "windows_x86_64_gnu 0.42.0", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc 0.42.0", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" + [[package]] name = "windows_aarch64_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" +[[package]] +name = "windows_aarch64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" + [[package]] name = "windows_i686_gnu" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" +[[package]] +name = "windows_i686_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" + [[package]] name = "windows_i686_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" +[[package]] +name = "windows_i686_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" + [[package]] name = "windows_x86_64_gnu" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" +[[package]] +name = "windows_x86_64_gnu" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" + [[package]] name = "windows_x86_64_msvc" version = "0.36.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +[[package]] +name = "windows_x86_64_msvc" +version = "0.42.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5" + +[[package]] +name = "winreg" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a" +dependencies = [ + "serde", + "winapi", +] + [[package]] name = "winreg" version = "0.7.0" @@ -3561,16 +4254,110 @@ dependencies = [ ] [[package]] -name = "zip" -version = "0.6.2" +name = "workspace-hack" +version = "0.1.0" +dependencies = [ + "bstr", + "bytes", + "cc", + "chrono", + "crossbeam-utils", + "either", + "flate2", + "generic-array", + "getrandom 0.2.7", + "hashbrown", + "indexmap", + "log", + "nodrop", + "num-integer", + "num-traits", + "phf_shared 0.11.1", + "prost", + "rand 0.8.5", + "rand_core 0.6.4", + "regex", + "regex-syntax", + "scopeguard", + "serde", + "sha2 0.10.6", + "slog", + "snafu", + "syn", + "time 0.3.14", + "tokio", + "url", + "zip 0.6.3", + "zstd", + "zstd-safe", + "zstd-sys", +] + +[[package]] +name = "xattr" +version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf225bcf73bb52cbb496e70475c7bd7a3f769df699c0020f6c7bd9a96dcf0b8d" +checksum = "6d1526bbe5aaeb5eb06885f4d987bcdfa5e23187055de9b83fe00156a821fabc" +dependencies = [ + "libc", +] + +[[package]] +name = "xml-rs" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3" + +[[package]] +name = "xz2" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2" +dependencies = [ + "lzma-sys", +] + +[[package]] +name = "yasna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e262a29d0e61ccf2b6190d7050d4b237535fc76ce4c1210d9caa316f71dffa75" +dependencies = [ + "chrono", +] + +[[package]] +name = "zip" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815" dependencies = [ "byteorder", + "bzip2", + "crc32fast", + "flate2", + "thiserror", + "time 0.1.44", +] + +[[package]] +name = "zip" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "537ce7411d25e54e8ae21a7ce0b15840e7bfcff15b51d697ec3266cc76bdf080" +dependencies = [ + "aes", + "byteorder", + "bzip2", + "constant_time_eq", "crc32fast", "crossbeam-utils", "flate2", + "hmac 0.12.1", + "pbkdf2", + "sha1 0.10.5", "time 0.3.14", + "zstd", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index 2d4176712..00d038991 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,65 +1,51 @@ -[package] -name = "anki_workspace" +[workspace.package] version = "0.0.0" -authors = ["Ankitects Pty Ltd and contributors"] +authors = ["Ankitects Pty Ltd and contributors "] license = "AGPL-3.0-or-later" +rust-version = "1.64" +edition = "2021" [workspace] -members = ["rslib", "rslib/i18n", "rslib/i18n_helpers", "rslib/linkchecker", "pylib/rsbridge"] -exclude = ["qt/bundle"] - -[lib] -# dummy top level for tooling -name = "anki" -path = "rslib/empty.rs" - -[package.metadata.raze] -workspace_path = "//cargo" -package_aliases_dir = "cargo" -rust_rules_workspace_name = "rules_rust" - -# pull requests that add other targets (eg Arm Linux, FreeBSD) welcome - you'll -# need to update platforms/, BUILD.request.bazel and pylib/anki/BUILD.bazel as -# well. -targets = [ - "x86_64-apple-darwin", - "x86_64-apple-ios", - "x86_64-pc-windows-msvc", - "x86_64-unknown-linux-gnu", - "aarch64-apple-darwin", - "aarch64-apple-ios", - "aarch64-apple-ios-sim", - "aarch64-unknown-linux-gnu", +members = [ + "rslib", + "rslib/i18n", + "rslib/i18n_helpers", + "rslib/linkchecker", + "pylib/rsbridge", + "build/configure", + "build/ninja_gen", + "build/archives", + "build/runner", + "ftl", + "tools/workspace-hack", + "qt/bundle/win", + "qt/bundle/mac", ] -genmode = "Remote" -default_gen_buildrs = true - -[package.metadata.raze.crates.pyo3.'*'] -compile_data_attr = "glob([\"**/*.md\"])" - -[package.metadata.raze.crates.prost.'*'] -compile_data_attr = "glob([\"**/*.md\"])" - -[package.metadata.raze.crates.ring.'*'] -compile_data_attr = "glob([\"src/**/*.der\"])" - -[package.metadata.raze.crates.webpki.'*'] -compile_data_attr = "glob([\"src/**/*.der\"])" - -[package.metadata.raze.crates.unic-ucd-version.'*'] -compile_data_attr = "glob([\"**/*.rsv\"])" - -[package.metadata.raze.crates.unic-ucd-category.'*'] -compile_data_attr = "glob([\"**/*.rsv\"])" - -[package.metadata.raze.crates.bstr.'*'] -compile_data_attr = "glob([\"**/*.dfa\"])" - -[package.metadata.raze.crates.snafu.'*'] -compile_data_attr = "glob([\"**/*.md\"])" - -[package.metadata.raze.crates.pyo3-build-config.'*'] -buildrs_additional_environment_variables = { "PYO3_NO_PYTHON" = "1" } +exclude = ["qt/bundle"] +resolver = "2" [patch.crates-io] +# If updating rev, hakari.toml needs updating too. reqwest = { git = "https://github.com/ankitects/reqwest.git", rev = "7591444614de02b658ddab125efba7b2bb4e2335" } + +# Apply mild optimizations to our dependencies in dev mode, which among other things +# improves sha2 performance by about 21x. Opt 1 chosen due to +# https://doc.rust-lang.org/cargo/reference/profiles.html#overrides-and-generics. This +# applies to the dependencies of unit tests as well. +[profile.dev.package."*"] +opt-level = 1 +debug = 0 + +[profile.dev.package.anki_i18n] +opt-level = 1 +debug = 0 + +[profile.dev.package.runner] +opt-level = 1 + +# Debug info off by default, which speeds up incremental builds and produces a considerably +# smaller library. +[profile.dev.package.anki] +debug = 0 +[profile.dev.package.rsbridge] +debug = 0 diff --git a/WORKSPACE b/WORKSPACE deleted file mode 100644 index a6a9ab790..000000000 --- a/WORKSPACE +++ /dev/null @@ -1,18 +0,0 @@ -workspace( - name = "ankidesktop", - managed_directories = {"@npm": [ - "node_modules", - ]}, -) - -load(":repos.bzl", "register_repos") - -register_repos() - -load(":defs.bzl", "setup_deps") - -setup_deps() - -load(":late_deps.bzl", "setup_late_deps") - -setup_late_deps() diff --git a/build/archives/Cargo.toml b/build/archives/Cargo.toml new file mode 100644 index 000000000..831d9741a --- /dev/null +++ b/build/archives/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "archives" +version = "0.0.0" +authors = ["Ankitects Pty Ltd"] +edition = "2021" + +[dependencies] +camino = "1.1.1" +flate2 = "1.0.24" +sha2 = { version = "0.10.6" } +tar = "0.4.38" +tokio = { version = "1.21.2", features = ["macros", "rt-multi-thread"] } +workspace-hack = { version = "0.1", path = "../../tools/workspace-hack" } +xz2 = "0.1.7" +zip = "0.6.3" +zstd = "0.11.2" + +[features] +rustls = ["reqwest/rustls-tls", "reqwest/rustls-tls-native-roots"] +native-tls = ["reqwest/native-tls"] + +[dependencies.reqwest] +version = "0.11.3" +default-features = false diff --git a/build/archives/src/main.rs b/build/archives/src/main.rs new file mode 100644 index 000000000..aa838346e --- /dev/null +++ b/build/archives/src/main.rs @@ -0,0 +1,130 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{error::Error, fs, io::Read}; + +use camino::Utf8Path; +use sha2::Digest; + +type Result = std::result::Result>; + +#[tokio::main] +async fn main() -> Result<()> { + let args: Vec<_> = std::env::args().collect(); + + let action = args[1].as_str(); + match action { + "download" => { + let archive_url = &args[2]; + let checksum = &args[3]; + let output_path = &args[4]; + download_and_check(archive_url, checksum, output_path).await?; + } + "extract" => { + let archive_path = &args[2]; + let output_folder = &args[3]; + extract(archive_path, output_folder)?; + } + _ => panic!("unexpected action"), + } + + Ok(()) +} + +async fn download_and_check(archive_url: &str, checksum: &str, output_path: &str) -> Result<()> { + let response = reqwest::get(archive_url).await?.error_for_status()?; + let data = response.bytes().await?.to_vec(); + let mut digest = sha2::Sha256::new(); + digest.update(&data); + let result = digest.finalize(); + let actual_checksum = format!("{:x}", result); + if actual_checksum != checksum { + println!("expected {checksum}, got {actual_checksum}"); + std::process::exit(1); + } + fs::write(output_path, data)?; + + Ok(()) +} + +enum CompressionKind { + Zstd, + Gzip, + Lzma, + /// handled by archive + Internal, +} + +enum ArchiveKind { + Tar, + Zip, +} + +fn extract(archive_path: &str, output_folder: &str) -> Result<()> { + let archive_path = Utf8Path::new(archive_path); + let archive_filename = archive_path.file_name().unwrap(); + let mut components = archive_filename.rsplit('.'); + let last_component = components.next().unwrap(); + let (compression, archive_suffix) = match last_component { + "zst" | "zstd" => (CompressionKind::Zstd, components.next().unwrap()), + "gz" => (CompressionKind::Gzip, components.next().unwrap()), + "xz" => (CompressionKind::Lzma, components.next().unwrap()), + "tgz" => (CompressionKind::Gzip, last_component), + "zip" => (CompressionKind::Internal, last_component), + other => panic!("unexpected compression: {other}"), + }; + let archive = match archive_suffix { + "tar" | "tgz" => ArchiveKind::Tar, + "zip" => ArchiveKind::Zip, + other => panic!("unexpected archive kind: {other}"), + }; + + let reader = fs::File::open(archive_path)?; + let uncompressed_data = match compression { + CompressionKind::Zstd => zstd::decode_all(&reader)?, + CompressionKind::Gzip => { + let mut buf = Vec::new(); + let mut decoder = flate2::read::GzDecoder::new(&reader); + decoder.read_to_end(&mut buf)?; + buf + } + CompressionKind::Lzma => { + let mut buf = Vec::new(); + let mut decoder = xz2::read::XzDecoder::new(&reader); + decoder.read_to_end(&mut buf)?; + buf + } + CompressionKind::Internal => { + vec![] + } + }; + + let output_folder = Utf8Path::new(output_folder); + if output_folder.exists() { + fs::remove_dir_all(output_folder)?; + } + // extract into a temporary folder + let output_tmp = + output_folder.with_file_name(format!("{}.tmp", output_folder.file_name().unwrap())); + match archive { + ArchiveKind::Tar => { + let mut archive = tar::Archive::new(&uncompressed_data[..]); + archive.set_preserve_mtime(false); + archive.unpack(&output_tmp)?; + } + ArchiveKind::Zip => { + let mut archive = zip::ZipArchive::new(reader)?; + archive.extract(&output_tmp)?; + } + } + // if the output folder contains a single folder (eg foo-1.2), move it up a level + let mut entries: Vec<_> = output_tmp.read_dir_utf8()?.take(2).collect(); + let first_entry = entries.pop().unwrap()?; + if entries.is_empty() && first_entry.metadata()?.is_dir() { + fs::rename(first_entry.path(), output_folder)?; + fs::remove_dir_all(output_tmp)?; + } else { + fs::rename(output_tmp, output_folder)?; + } + Ok(()) +} diff --git a/build/configure/Cargo.toml b/build/configure/Cargo.toml new file mode 100644 index 000000000..324fccc36 --- /dev/null +++ b/build/configure/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "configure" + +version.workspace = true +authors.workspace = true +license.workspace = true +edition.workspace = true +rust-version.workspace = true + +[dependencies] +ninja_gen = { "path" = "../ninja_gen" } +workspace-hack = { version = "0.1", path = "../../tools/workspace-hack" } diff --git a/build/configure/src/aqt.rs b/build/configure/src/aqt.rs new file mode 100644 index 000000000..64a58eb90 --- /dev/null +++ b/build/configure/src/aqt.rs @@ -0,0 +1,362 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use ninja_gen::{ + action::BuildAction, + command::RunCommand, + copy::CopyFiles, + glob, hashmap, inputs, + node::{CompileSass, EsbuildScript, TypescriptCheck}, + python::{python_format, PythonTest}, + Build, Result, Utf8Path, Utf8PathBuf, +}; + +use crate::{ + anki_version, + python::BuildWheel, + web::{copy_mathjax, eslint}, +}; + +pub fn build_and_check_aqt(build: &mut Build) -> Result<()> { + build_forms(build)?; + build_generated_sources(build)?; + build_data_folder(build)?; + build_macos_helper(build)?; + build_wheel(build)?; + check_python(build)?; + Ok(()) +} + +fn build_forms(build: &mut Build) -> Result<()> { + let ui_files = glob!["qt/aqt/forms/*.ui"]; + let outdir = Utf8PathBuf::from("qt/_aqt/forms"); + let mut py_files = vec![]; + for path in ui_files.resolve() { + let outpath = outdir.join(path.file_name().unwrap()).into_string(); + py_files.push(outpath.replace(".ui", "_qt5.py")); + py_files.push(outpath.replace(".ui", "_qt6.py")); + } + build.add( + "qt/aqt:forms", + RunCommand { + command: ":pyenv:bin", + args: "$script $first_form", + inputs: hashmap! { + "script" => inputs!["qt/tools/build_ui.py"], + "" => inputs![ui_files], + }, + outputs: hashmap! { + "first_form" => vec![py_files[0].as_str()], + "" => py_files.iter().skip(1).map(|s| s.as_str()).collect(), + }, + }, + ) +} + +/// For legacy reasons, we can not easily separate sources and generated files +/// up with a PEP420 namespace, as aqt/__init__.py exports a bunch of things. +/// To allow code to run/typecheck without having to merge source and generated +/// files into a separate folder, the generated files are exported as a separate +/// _aqt module. +fn build_generated_sources(build: &mut Build) -> Result<()> { + build.add( + "qt/aqt:hooks.py", + RunCommand { + command: ":pyenv:bin", + args: "$script $out", + inputs: hashmap! { + "script" => inputs!["qt/tools/genhooks_gui.py"], + "" => inputs!["pylib/anki/_vendor/stringcase.py", "pylib/tools/hookslib.py"] + }, + outputs: hashmap! { + "out" => vec!["qt/_aqt/hooks.py"] + }, + }, + )?; + build.add( + "qt/aqt:sass_vars", + RunCommand { + command: ":pyenv:bin", + args: "$script $root_scss $out", + inputs: hashmap! { + "script" => inputs!["qt/tools/extract_sass_vars.py"], + "root_scss" => inputs![":css:_root-vars"], + }, + outputs: hashmap! { + "out" => vec![ + "qt/_aqt/colors.py", + "qt/_aqt/props.py" + ] + }, + }, + )?; + Ok(()) +} + +fn build_data_folder(build: &mut Build) -> Result<()> { + build_css(build)?; + build_imgs(build)?; + build_js(build)?; + build_pages(build)?; + build_icons(build)?; + Ok(()) +} + +fn build_css(build: &mut Build) -> Result<()> { + let scss_files = build.expand_inputs(inputs![glob!["qt/aqt/data/web/css/*.scss"]]); + let out_dir = Utf8Path::new("qt/_aqt/data/web/css"); + for scss in scss_files { + let stem = Utf8Path::new(&scss).file_stem().unwrap(); + let mut out_path = out_dir.join(stem); + out_path.set_extension("css"); + + build.add( + "qt/aqt:data/web/css", + CompileSass { + input: scss.into(), + output: out_path.as_str(), + deps: inputs![":sass"], + load_paths: vec![".", "node_modules"], + }, + )?; + } + let other_ts_css = build.inputs_with_suffix( + inputs![ + ":ts:editor", + ":ts:pages:editable", + ":ts:reviewer:reviewer.css" + ], + ".css", + ); + build.add( + "qt/aqt:data/web/css", + CopyFiles { + inputs: other_ts_css.into(), + output_folder: "qt/_aqt/data/web/css", + }, + ) +} + +fn build_imgs(build: &mut Build) -> Result<()> { + build.add( + "qt/aqt:data/web/imgs", + CopyFiles { + inputs: inputs![glob!["qt/aqt/data/web/imgs/*"]], + output_folder: "qt/_aqt/data/web/imgs", + }, + ) +} + +fn build_js(build: &mut Build) -> Result<()> { + for ts_file in &["deckbrowser", "webview", "toolbar", "reviewer-bottom"] { + build.add( + "qt/aqt:data/web/js", + EsbuildScript { + script: "ts/transform_ts.mjs".into(), + entrypoint: format!("qt/aqt/data/web/js/{ts_file}.ts").into(), + deps: inputs![], + output_stem: &format!("qt/_aqt/data/web/js/{ts_file}"), + extra_exts: &[], + }, + )?; + } + let files = inputs![glob!["qt/aqt/data/web/js/*"]]; + eslint(build, "aqt", "qt/aqt/data/web/js", files.clone())?; + build.add( + "check:typescript:aqt", + TypescriptCheck { + tsconfig: "qt/aqt/data/web/js/tsconfig.json".into(), + inputs: files, + }, + )?; + let files_from_ts = build.inputs_with_suffix( + inputs![":ts:editor", ":ts:reviewer:reviewer.js", ":ts:mathjax"], + ".js", + ); + build.add( + "qt/aqt:data/web/js", + CopyFiles { + inputs: files_from_ts.into(), + output_folder: "qt/_aqt/data/web/js", + }, + )?; + build_vendor_js(build) +} + +fn build_vendor_js(build: &mut Build) -> Result<()> { + build.add("qt/aqt:data/web/js/vendor:mathjax", copy_mathjax())?; + build.add( + "qt/aqt:data/web/js/vendor", + CopyFiles { + inputs: inputs![ + ":node_modules:jquery", + ":node_modules:jquery-ui", + ":node_modules:css-browser-selector", + ":node_modules:bootstrap-dist" + ], + output_folder: "qt/_aqt/data/web/js/vendor", + }, + ) +} + +fn build_pages(build: &mut Build) -> Result<()> { + build.add( + "qt/aqt:data/web/pages", + CopyFiles { + inputs: inputs![":ts:pages"], + output_folder: "qt/_aqt/data/web/pages", + }, + )?; + Ok(()) +} + +fn build_icons(build: &mut Build) -> Result<()> { + build_themed_icons(build)?; + build.add( + "qt/aqt:data/qt/icons:mdi_unthemed", + CopyFiles { + inputs: inputs![":node_modules:mdi_unthemed"], + output_folder: "qt/_aqt/data/qt/icons", + }, + )?; + build.add( + "qt/aqt:data/qt/icons:from_src", + CopyFiles { + inputs: inputs![glob!["qt/aqt/data/qt/icons/*.{png,svg}"]], + output_folder: "qt/_aqt/data/qt/icons", + }, + )?; + build.add( + "qt/aqt:data/qt/icons", + RunCommand { + command: ":pyenv:bin", + args: "$script $out $in", + inputs: hashmap! { + "script" => inputs!["qt/tools/build_qrc.py"], + "in" => inputs![ + ":qt/aqt:data/qt/icons:mdi_unthemed", + ":qt/aqt:data/qt/icons:mdi_themed", + ":qt/aqt:data/qt/icons:from_src", + ] + }, + outputs: hashmap! { + "out" => vec!["qt/_aqt/data/qt/icons.qrc"] + }, + }, + )?; + Ok(()) +} + +fn build_themed_icons(build: &mut Build) -> Result<()> { + let themed_icons_with_extra = hashmap! { + "chevron-up" => &["FG_DISABLED"], + "chevron-down" => &["FG_DISABLED"], + "drag-vertical" => &["FG_SUBTLE"], + "drag-horizontal" => &["FG_SUBTLE"], + }; + for icon_path in build.expand_inputs(inputs![":node_modules:mdi_themed"]) { + let path = Utf8Path::new(&icon_path); + let stem = path.file_stem().unwrap(); + let mut colors = vec!["FG"]; + if let Some(&extra) = themed_icons_with_extra.get(stem) { + colors.extend(extra); + } + build.add( + "qt/aqt:data/qt/icons:mdi_themed", + BuildThemedIcon { + src_icon: path, + colors, + }, + )?; + } + Ok(()) +} + +struct BuildThemedIcon<'a> { + src_icon: &'a Utf8Path, + colors: Vec<&'a str>, +} + +impl BuildAction for BuildThemedIcon<'_> { + fn command(&self) -> &str { + "$pyenv_bin $script $in $colors $out" + } + + fn files(&mut self, build: &mut impl ninja_gen::build::FilesHandle) { + let stem = self.src_icon.file_stem().unwrap(); + // eg foo-light.svg, foo-dark.svg, foo-FG_SUBTLE-light.svg, foo-FG_SUBTLE-dark.svg + let outputs: Vec<_> = self + .colors + .iter() + .flat_map(|&color| { + let variant = if color == "FG" { + "".into() + } else { + format!("-{color}") + }; + [ + format!("qt/_aqt/data/qt/icons/{stem}{variant}-light.svg"), + format!("qt/_aqt/data/qt/icons/{stem}{variant}-dark.svg"), + ] + }) + .collect(); + + build.add_inputs("pyenv_bin", inputs![":pyenv:bin"]); + build.add_inputs("script", inputs!["qt/tools/color_svg.py"]); + build.add_inputs("in", inputs![self.src_icon.as_str()]); + build.add_inputs("", inputs![":qt/aqt:sass_vars"]); + build.add_variable("colors", self.colors.join(":")); + build.add_outputs("out", outputs); + } +} + +fn build_macos_helper(build: &mut Build) -> Result<()> { + if cfg!(target_os = "macos") { + build.add( + "qt/aqt:data/lib:libankihelper", + RunCommand { + command: ":pyenv:bin", + args: "$script $out $in", + inputs: hashmap! { + "script" => inputs!["qt/mac/helper_build.py"], + "in" => inputs![glob!["qt/mac/*.swift"]], + }, + outputs: hashmap! { + "out" => vec!["qt/_aqt/data/lib/libankihelper.dylib"], + }, + }, + )?; + } + Ok(()) +} + +fn build_wheel(build: &mut Build) -> Result<()> { + build.add( + "wheels:aqt", + BuildWheel { + name: "aqt", + version: anki_version(), + src_folder: "qt/aqt", + gen_folder: "$builddir/qt/_aqt", + platform: None, + deps: inputs![":qt/aqt", glob!("qt/aqt/**"), "python/requirements.aqt.in"], + }, + ) +} + +fn check_python(build: &mut Build) -> Result<()> { + python_format( + build, + "qt", + inputs![glob!("qt/**/*.py", "qt/bundle/PyOxidizer/**")], + )?; + + build.add( + "check:pytest:aqt", + PythonTest { + folder: "qt/tests", + python_path: &["pylib", "$builddir/pylib", "$builddir/qt"], + deps: inputs![":pylib/anki", ":qt/aqt", glob!["qt/tests/**"]], + }, + ) +} diff --git a/build/configure/src/bundle.rs b/build/configure/src/bundle.rs new file mode 100644 index 000000000..7b679b612 --- /dev/null +++ b/build/configure/src/bundle.rs @@ -0,0 +1,481 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use ninja_gen::{ + action::BuildAction, + archives::{download_and_extract, empty_manifest, with_exe, OnlineArchive}, + cargo::{CargoBuild, RustOutput}, + git::SyncSubmodule, + glob, + input::BuildInput, + inputs, + python::PythonEnvironment, + Build, Result, Utf8Path, +}; + +use crate::{ + anki_version, + platform::{overriden_python_target_platform, overriden_rust_target_triple}, +}; + +#[derive(Debug, PartialEq, Eq)] +enum DistKind { + Standard, + Alternate, +} + +impl DistKind { + fn folder_name(&self) -> &'static str { + match self { + DistKind::Standard => "std", + DistKind::Alternate => "alt", + } + } + + fn name(&self) -> &'static str { + match self { + DistKind::Standard => "standard", + DistKind::Alternate => "alternate", + } + } +} + +pub fn build_bundle(build: &mut Build, python_binary: &BuildInput) -> Result<()> { + // install into venv + setup_primary_venv(build, python_binary)?; + install_anki_wheels(build)?; + + // bundle venv into output binary + extra_files + build_pyoxidizer(build)?; + build_artifacts(build)?; + build_binary(build)?; + + // package up outputs with Qt/other deps + download_dist_folder_deps(build)?; + build_dist_folder(build, DistKind::Standard)?; + + // repeat for Qt5 + if !targetting_macos_arm() { + if !cfg!(target_os = "macos") { + setup_qt5_venv(build, python_binary)?; + } + build_dist_folder(build, DistKind::Alternate)?; + } + + build_packages(build)?; + + Ok(()) +} + +fn targetting_macos_arm() -> bool { + cfg!(all(target_os = "macos", target_arch = "aarch64")) + && overriden_python_target_platform().is_none() +} + +const WIN_AUDIO: OnlineArchive = OnlineArchive { + url: "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-02-09/audio-win-amd64.tar.gz", + sha256: "0815a601baba05e03bc36b568cdc2332b1cf4aa17125fc33c69de125f8dd687f", +}; + +const MAC_ARM_AUDIO: OnlineArchive = OnlineArchive { + url: "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-05-26/audio-mac-arm64.tar.gz", + sha256: "f6c4af9be59ae1c82a16f5c6307f13cbf31b49ad7b69ce1cb6e0e7b403cfdb8f", +}; + +const MAC_AMD_AUDIO: OnlineArchive = OnlineArchive { + url: "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-05-26/audio-mac-amd64.tar.gz", + sha256: "ecbb3c878805cdd58b1a0b8e3fd8c753b8ce3ad36c8b5904a79111f9db29ff42", +}; + +const MAC_ARM_QT6: OnlineArchive = OnlineArchive { + url: "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-10-10/pyqt6.4-mac-arm64.tar.gz", + sha256: "96f5b3e64f3eeebbb8c60f85d547bbe21a3e8dfbc1135286fcd37482c8c4d87b", +}; + +const MAC_AMD_QT6: OnlineArchive = OnlineArchive { + url: "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-10-10/pyqt6.4-mac-amd64.tar.gz", + sha256: "6da02be0ffbbbdb5db80c1c65d01bdbf0207c04378019fcf6109796adc97916e", +}; + +const MAC_AMD_QT5: OnlineArchive = OnlineArchive { + url: "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-02-09/pyqt5.14-mac-amd64.tar.gz", + sha256: "474951bed79ddb9570ee4c5a6079041772551ea77e77171d9e33d6f5e7877ec1", +}; + +const LINUX_QT_PLUGINS: OnlineArchive = OnlineArchive { + url: "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-02-09/qt-plugins-linux-amd64.tar.gz", + sha256: "cbfb41fb750ae19b381f8137bd307e1167fdc68420052977f6e1887537a131b0", +}; + +fn download_dist_folder_deps(build: &mut Build) -> Result<()> { + let mut bundle_deps = vec![":wheels"]; + if cfg!(windows) { + download_and_extract(build, "win_amd64_audio", WIN_AUDIO, empty_manifest())?; + bundle_deps.push(":extract:win_amd64_audio"); + } else if cfg!(target_os = "macos") { + if targetting_macos_arm() { + download_and_extract(build, "mac_arm_audio", MAC_ARM_AUDIO, empty_manifest())?; + download_and_extract(build, "mac_arm_qt6", MAC_ARM_QT6, empty_manifest())?; + bundle_deps.extend([":extract:mac_arm_audio", ":extract:mac_arm_qt6"]); + } else { + download_and_extract(build, "mac_amd_audio", MAC_AMD_AUDIO, empty_manifest())?; + download_and_extract(build, "mac_amd_qt6", MAC_AMD_QT6, empty_manifest())?; + download_and_extract(build, "mac_amd_qt5", MAC_AMD_QT5, empty_manifest())?; + bundle_deps.extend([ + ":extract:mac_amd_audio", + ":extract:mac_amd_qt6", + ":extract:mac_amd_qt5", + ]); + } + } else { + download_and_extract( + build, + "linux_qt_plugins", + LINUX_QT_PLUGINS, + empty_manifest(), + )?; + bundle_deps.extend([":extract:linux_qt_plugins"]); + } + build.add_inputs_to_group( + "bundle:deps", + inputs![bundle_deps + .iter() + .map(ToString::to_string) + .collect::>()], + ); + Ok(()) +} + +struct Venv { + label: &'static str, + path_without_builddir: &'static str, +} + +impl Venv { + fn label_as_target(&self, suffix: &str) -> String { + format!(":{}{suffix}", self.label) + } +} + +const PRIMARY_VENV: Venv = Venv { + label: "bundle:pyenv", + path_without_builddir: "bundle/pyenv", +}; + +/// Only used for copying Qt libs on Windows/Linux. +const QT5_VENV: Venv = Venv { + label: "bundle:pyenv-qt5", + path_without_builddir: "bundle/pyenv-qt5", +}; + +fn setup_primary_venv(build: &mut Build, python_binary: &BuildInput) -> Result<()> { + let mut qt6_reqs = inputs![ + "python/requirements.bundle.txt", + "python/requirements.qt6.txt", + ]; + if cfg!(windows) { + qt6_reqs = inputs![qt6_reqs, "python/requirements.win.txt"]; + } + build.add( + PRIMARY_VENV.label, + PythonEnvironment { + folder: PRIMARY_VENV.path_without_builddir, + base_requirements_txt: "python/requirements.base.txt".into(), + requirements_txt: qt6_reqs, + python_binary, + extra_binary_exports: &[], + }, + )?; + Ok(()) +} + +fn setup_qt5_venv(build: &mut Build, python_binary: &BuildInput) -> Result<()> { + let qt5_reqs = inputs![ + "python/requirements.base.txt", + if cfg!(target_os = "macos") { + "python/requirements.qt5_14.txt" + } else { + "python/requirements.qt5_15.txt" + } + ]; + build.add( + QT5_VENV.label, + PythonEnvironment { + folder: QT5_VENV.path_without_builddir, + base_requirements_txt: "python/requirements.base.txt".into(), + requirements_txt: qt5_reqs, + python_binary, + extra_binary_exports: &[], + }, + ) +} + +struct InstallAnkiWheels { + venv: Venv, +} + +impl BuildAction for InstallAnkiWheels { + fn command(&self) -> &str { + "$pip install --force-reinstall --no-deps $in" + } + + fn files(&mut self, build: &mut impl ninja_gen::build::FilesHandle) { + build.add_inputs("pip", inputs![self.venv.label_as_target(":pip")]); + build.add_inputs("in", inputs![":wheels"]); + build.add_output_stamp("bundle/wheels.stamp"); + } +} + +fn install_anki_wheels(build: &mut Build) -> Result<()> { + build.add( + "bundle:add_wheels:qt6", + InstallAnkiWheels { venv: PRIMARY_VENV }, + )?; + Ok(()) +} + +fn build_pyoxidizer(build: &mut Build) -> Result<()> { + build.add( + "bundle:pyoxidizer:repo", + SyncSubmodule { + path: "qt/bundle/PyOxidizer", + }, + )?; + build.add( + "bundle:pyoxidizer:bin", + CargoBuild { + inputs: inputs![":bundle:pyoxidizer:repo", glob!["qt/bundle/PyOxidizer/**"]], + // can't use ::Binary() here, as we're in a separate workspace + outputs: &[RustOutput::Data( + "bin", + &with_exe("bundle/rust/release/pyoxidizer"), + )], + target: None, + extra_args: &format!( + "--manifest-path={} --target-dir={} -p pyoxidizer", + "qt/bundle/PyOxidizer/Cargo.toml", "$builddir/bundle/rust" + ), + release_override: Some(true), + }, + )?; + Ok(()) +} + +struct BuildArtifacts {} + +impl BuildAction for BuildArtifacts { + fn command(&self) -> &str { + "$runner build-artifacts $bundle_root $pyoxidizer_bin" + } + + fn files(&mut self, build: &mut impl ninja_gen::build::FilesHandle) { + build.add_inputs("pyoxidizer_bin", inputs![":bundle:pyoxidizer:bin"]); + build.add_inputs("", inputs![PRIMARY_VENV.label_as_target("")]); + build.add_inputs("", inputs![":bundle:add_wheels:qt6", glob!["qt/bundle/**"]]); + build.add_variable("bundle_root", "$builddir/bundle"); + build.add_outputs_ext( + "pyo3_config", + vec!["bundle/artifacts/pyo3-build-config-file.txt"], + true, + ); + } + + fn check_output_timestamps(&self) -> bool { + true + } +} + +fn build_artifacts(build: &mut Build) -> Result<()> { + build.add("bundle:artifacts", BuildArtifacts {}) +} + +struct BuildBundle {} + +impl BuildAction for BuildBundle { + fn command(&self) -> &str { + "$runner build-bundle-binary" + } + + fn files(&mut self, build: &mut impl ninja_gen::build::FilesHandle) { + build.add_inputs("", inputs![":bundle:artifacts", glob!["qt/bundle/**"]]); + build.add_outputs( + "", + vec![RustOutput::Binary("anki").path( + Utf8Path::new("$builddir/bundle/rust"), + overriden_rust_target_triple(), + true, + )], + ); + } +} + +fn build_binary(build: &mut Build) -> Result<()> { + build.add("bundle:binary", BuildBundle {}) +} + +struct BuildDistFolder { + kind: DistKind, + deps: BuildInput, +} + +impl BuildAction for BuildDistFolder { + fn command(&self) -> &str { + "$runner build-dist-folder $kind $out_folder " + } + + fn files(&mut self, build: &mut impl ninja_gen::build::FilesHandle) { + build.add_inputs("", &self.deps); + build.add_variable("kind", self.kind.name()); + let folder = match self.kind { + DistKind::Standard => "bundle/std", + DistKind::Alternate => "bundle/alt", + }; + build.add_outputs("out_folder", vec![folder]); + build.add_outputs("stamp", vec![format!("{folder}.stamp")]); + } + + fn check_output_timestamps(&self) -> bool { + true + } +} + +fn build_dist_folder(build: &mut Build, kind: DistKind) -> Result<()> { + let mut deps = inputs![":bundle:deps", ":bundle:binary", glob!["qt/bundle/**"]]; + if kind == DistKind::Alternate && !cfg!(target_os = "macos") { + deps = inputs![deps, QT5_VENV.label_as_target("")]; + } + let group = match kind { + DistKind::Standard => "bundle:folder:std", + DistKind::Alternate => "bundle:folder:alt", + }; + build.add(group, BuildDistFolder { kind, deps }) +} + +fn build_packages(build: &mut Build) -> Result<()> { + if cfg!(windows) { + build_windows_installers(build) + } else if cfg!(target_os = "macos") { + build_mac_app(build, DistKind::Standard)?; + if !targetting_macos_arm() { + build_mac_app(build, DistKind::Alternate)?; + } + build_dmgs(build) + } else { + build_tarball(build, DistKind::Standard)?; + build_tarball(build, DistKind::Alternate) + } +} + +struct BuildTarball { + kind: DistKind, +} + +impl BuildAction for BuildTarball { + fn command(&self) -> &str { + "chmod -R a+r $folder && tar -I '$zstd' --transform $transform -cf $tarball -C $folder ." + } + + fn files(&mut self, build: &mut impl ninja_gen::build::FilesHandle) { + let input_folder_name = self.kind.folder_name(); + let input_folder_target = format!(":bundle:folder:{input_folder_name}"); + let input_folder_path = format!("$builddir/bundle/{input_folder_name}"); + + let version = anki_version(); + let qt = match self.kind { + DistKind::Standard => "qt6", + DistKind::Alternate => "qt5", + }; + let output_folder_base = format!("anki-{version}-linux-{qt}"); + let output_tarball = format!("bundle/package/{output_folder_base}.tar.zst"); + + build.add_inputs("", inputs![input_folder_target]); + build.add_variable("zstd", "zstd -c --long -T0 -18"); + build.add_variable("transform", format!("s%^.%{output_folder_base}%")); + build.add_variable("folder", input_folder_path); + build.add_outputs("tarball", vec![output_tarball]); + } +} + +fn build_tarball(build: &mut Build, kind: DistKind) -> Result<()> { + let name = kind.folder_name(); + build.add(format!("bundle:package:{name}"), BuildTarball { kind }) +} + +struct BuildWindowsInstallers {} + +impl BuildAction for BuildWindowsInstallers { + fn command(&self) -> &str { + "cargo run -p makeinstall --target-dir=out/rust -- $version $src_root $bundle_root $out" + } + + fn files(&mut self, build: &mut impl ninja_gen::build::FilesHandle) { + let version = anki_version(); + let outputs = ["qt6", "qt5"].iter().map(|qt| { + let output_base = format!("anki-{version}-windows-{qt}"); + format!("bundle/package/{output_base}.exe") + }); + + build.add_inputs("", inputs![":bundle:folder:std", ":bundle:folder:alt"]); + build.add_variable("version", version); + build.add_variable("bundle_root", "$builddir/bundle"); + build.add_outputs("out", outputs); + } +} + +fn build_windows_installers(build: &mut Build) -> Result<()> { + build.add("bundle:package", BuildWindowsInstallers {}) +} + +struct BuildMacApp { + kind: DistKind, +} + +impl BuildAction for BuildMacApp { + fn command(&self) -> &str { + "cargo run -p makeapp --target-dir=out/rust -- build-app $version $kind $stamp" + } + + fn files(&mut self, build: &mut impl ninja_gen::build::FilesHandle) { + let folder_name = self.kind.folder_name(); + build.add_inputs("", inputs![format!(":bundle:folder:{folder_name}")]); + build.add_variable("version", anki_version()); + build.add_variable("kind", self.kind.name()); + build.add_outputs("stamp", vec![format!("bundle/app/{folder_name}.stamp")]); + } +} + +fn build_mac_app(build: &mut Build, kind: DistKind) -> Result<()> { + build.add(format!("bundle:app:{}", kind.name()), BuildMacApp { kind }) +} + +struct BuildDmgs {} + +impl BuildAction for BuildDmgs { + fn command(&self) -> &str { + "cargo run -p makeapp --target-dir=out/rust -- build-dmgs $dmgs" + } + + fn files(&mut self, build: &mut impl ninja_gen::build::FilesHandle) { + let version = anki_version(); + let platform = if targetting_macos_arm() { + "apple" + } else { + "intel" + }; + let qt = if targetting_macos_arm() { + &["qt6"][..] + } else { + &["qt6", "qt5"] + }; + let dmgs = qt + .iter() + .map(|qt| format!("bundle/dmg/anki-{version}-mac-{platform}-{qt}.dmg")); + + build.add_inputs("", inputs![":bundle:app"]); + build.add_outputs("dmgs", dmgs); + } +} + +fn build_dmgs(build: &mut Build) -> Result<()> { + build.add("bundle:dmg", BuildDmgs {}) +} diff --git a/build/configure/src/main.rs b/build/configure/src/main.rs new file mode 100644 index 000000000..ef787e902 --- /dev/null +++ b/build/configure/src/main.rs @@ -0,0 +1,52 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +mod aqt; +mod bundle; +mod platform; +mod proto; +mod pylib; +mod python; +mod rust; +mod web; + +use aqt::build_and_check_aqt; +use bundle::build_bundle; +use ninja_gen::{Build, Result}; +use pylib::{build_pylib, check_pylib}; +use python::{check_copyright, check_python, setup_python, setup_venv}; +use rust::{build_rust, check_rust}; +use web::{build_and_check_web, check_sql}; + +use crate::proto::check_proto; + +fn anki_version() -> &'static str { + include_str!("../../../.version").trim() +} + +fn main() -> Result<()> { + let mut build = Build::new()?; + let build = &mut build; + + let python_binary = setup_python(build)?; + setup_venv(build, &python_binary)?; + + build_rust(build)?; + build_pylib(build)?; + build_and_check_web(build)?; + build_and_check_aqt(build)?; + build_bundle(build, &python_binary)?; + + check_rust(build)?; + check_pylib(build)?; + check_python(build)?; + check_proto(build)?; + check_sql(build)?; + check_copyright(build)?; + + build.trailing_text = "default pylib/anki qt/aqt\n".into(); + + build.write_build_file(); + + Ok(()) +} diff --git a/build/configure/src/platform.rs b/build/configure/src/platform.rs new file mode 100644 index 000000000..300d2f3cc --- /dev/null +++ b/build/configure/src/platform.rs @@ -0,0 +1,22 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::env; + +use ninja_gen::archives::Platform; + +/// Usually None to use the host architecture; can be overriden by setting MAC_X86 +/// to build for x86_64 on Apple Silicon +pub fn overriden_rust_target_triple() -> Option<&'static str> { + overriden_python_target_platform().map(|p| p.as_rust_triple()) +} + +/// Usually None to use the host architecture; can be overriden by setting MAC_X86 +/// to build for x86_64 on Apple Silicon +pub fn overriden_python_target_platform() -> Option { + if env::var("MAC_X86").is_ok() { + Some(Platform::MacX64) + } else { + None + } +} diff --git a/build/configure/src/proto.rs b/build/configure/src/proto.rs new file mode 100644 index 000000000..c72394253 --- /dev/null +++ b/build/configure/src/proto.rs @@ -0,0 +1,39 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use ninja_gen::{ + archives::{download_and_extract, with_exe}, + glob, hashmap, inputs, + protobuf::{protoc_archive, ClangFormat}, + Build, Result, +}; + +pub fn download_protoc(build: &mut Build) -> Result<()> { + download_and_extract( + build, + "protoc", + protoc_archive(build.host_platform), + hashmap! { + "bin" => [with_exe("bin/protoc")] + }, + )?; + Ok(()) +} + +pub fn check_proto(build: &mut Build) -> Result<()> { + build.add( + "check:format:proto", + ClangFormat { + inputs: inputs![glob!["proto/**/*.proto"]], + check_only: true, + }, + )?; + build.add( + "format:proto", + ClangFormat { + inputs: inputs![glob!["proto/**/*.proto"]], + check_only: false, + }, + )?; + Ok(()) +} diff --git a/build/configure/src/pylib.rs b/build/configure/src/pylib.rs new file mode 100644 index 000000000..731485678 --- /dev/null +++ b/build/configure/src/pylib.rs @@ -0,0 +1,131 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use ninja_gen::{ + action::BuildAction, + archives::Platform, + command::RunCommand, + copy::LinkFile, + glob, hashmap, inputs, + python::{python_format, PythonTest}, + Build, Result, +}; + +use crate::{ + platform::overriden_python_target_platform, + python::{BuildWheel, GenPythonProto}, +}; + +pub fn build_pylib(build: &mut Build) -> Result<()> { + // generated files + build.add( + "pylib/anki:proto", + GenPythonProto { + proto_files: inputs![glob!["proto/anki/*.proto"]], + }, + )?; + build.add( + "pylib/anki:_backend_generated.py", + RunCommand { + command: ":pyenv:bin", + args: "$script $out", + inputs: hashmap! { + "script" => inputs!["pylib/tools/genbackend.py"], + "" => inputs!["pylib/anki/_vendor/stringcase.py", ":pylib/anki:proto"] + }, + outputs: hashmap! { + "out" => vec!["pylib/anki/_backend_generated.py"] + }, + }, + )?; + build.add( + "pylib/anki:_fluent.py", + RunCommand { + command: ":pyenv:bin", + args: "$script $strings $out", + inputs: hashmap! { + "script" => inputs!["pylib/tools/genfluent.py"], + "strings" => inputs![":rslib/i18n:strings.json"], + "" => inputs!["pylib/anki/_vendor/stringcase.py"] + }, + outputs: hashmap! { + "out" => vec!["pylib/anki/_fluent.py"] + }, + }, + )?; + build.add( + "pylib/anki:hooks_gen.py", + RunCommand { + command: ":pyenv:bin", + args: "$script $out", + inputs: hashmap! { + "script" => inputs!["pylib/tools/genhooks.py"], + "" => inputs!["pylib/anki/_vendor/stringcase.py", "pylib/tools/hookslib.py"] + }, + outputs: hashmap! { + "out" => vec!["pylib/anki/hooks_gen.py"] + }, + }, + )?; + build.add( + "pylib/anki:_rsbridge", + LinkFile { + input: inputs![":pylib/rsbridge"], + output: &format!( + "pylib/anki/_rsbridge.{}", + match build.host_platform { + Platform::WindowsX64 => "pyd", + _ => "so", + } + ), + }, + )?; + build.add("pylib/anki:buildinfo.py", GenBuildInfo {})?; + + // wheel + build.add( + "wheels:anki", + BuildWheel { + name: "anki", + version: include_str!("../../../.version").trim(), + src_folder: "pylib/anki", + gen_folder: "$builddir/pylib/anki", + platform: overriden_python_target_platform().or(Some(build.host_platform)), + deps: inputs![ + ":pylib/anki", + glob!("pylib/anki/**"), + "python/requirements.anki.in" + ], + }, + )?; + Ok(()) +} + +pub fn check_pylib(build: &mut Build) -> Result<()> { + python_format(build, "pylib", inputs![glob!("pylib/**/*.py")])?; + + build.add( + "check:pytest:pylib", + PythonTest { + folder: "pylib/tests", + python_path: &["$builddir/pylib"], + deps: inputs![":pylib/anki", glob!["pylib/{anki,tests}/**"]], + }, + ) +} + +pub struct GenBuildInfo {} + +impl BuildAction for GenBuildInfo { + fn command(&self) -> &str { + "$pyenv_bin $script $version_file $buildhash_file $out" + } + + fn files(&mut self, build: &mut impl ninja_gen::build::FilesHandle) { + build.add_inputs("pyenv_bin", inputs![":pyenv:bin"]); + build.add_inputs("script", inputs!["pylib/tools/genbuildinfo.py"]); + build.add_inputs("version_file", inputs![".version"]); + build.add_inputs("buildhash_file", inputs!["$builddir/buildhash"]); + build.add_outputs("out", vec!["pylib/anki/buildinfo.py"]); + } +} diff --git a/build/configure/src/python.rs b/build/configure/src/python.rs new file mode 100644 index 000000000..d6efb0de5 --- /dev/null +++ b/build/configure/src/python.rs @@ -0,0 +1,334 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::env; + +use ninja_gen::{ + action::BuildAction, + archives::{download_and_extract, OnlineArchive, Platform}, + build::FilesHandle, + command::RunCommand, + glob, hashmap, + input::BuildInput, + inputs, + python::{python_format, PythonEnvironment, PythonLint, PythonTypecheck}, + rsync::RsyncFiles, + Build, Result, Utf8Path, +}; + +fn python_archive(platform: Platform) -> OnlineArchive { + match platform { + Platform::LinuxX64 => { + OnlineArchive { + url: "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15+20221106-x86_64_v2-unknown-linux-gnu-install_only.tar.gz", + sha256: "436c35bd809abdd028f386cc623ae020c77e6b544eaaca405098387c4daa444c", + } + } + Platform::LinuxArm => { + OnlineArchive { + url: "https://github.com/ankitects/python-build-standalone/releases/download/anki-2022-02-18/cpython-3.9.10-aarch64-unknown-linux-gnu-install_only-20220218T1329.tar.gz", + sha256: "39070f9b9492dce3085c8c98916940434bb65663e6665b2c87bef86025532c1a", + } + } + Platform::MacX64 => { + OnlineArchive { + url: "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-x86_64-apple-darwin-install_only-20211011T1926.tar.gz", + sha256: "43cb1a83919f49b1ce95e42f9c461d8a9fb00ff3957bebef9cffe61a5f362377", + } + } + Platform::MacArm => { + OnlineArchive { + url: "https://github.com/indygreg/python-build-standalone/releases/download/20221106/cpython-3.9.15+20221106-aarch64-apple-darwin-install_only.tar.gz", + sha256: "64dc7e1013481c9864152c3dd806c41144c79d5e9cd3140e185c6a5060bdc9ab", + } + } + Platform::WindowsX64 => { + OnlineArchive { + url: "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-x86_64-pc-windows-msvc-shared-install_only-20211011T1926.tar.gz", + sha256: "80370f232fd63d5cb3ff9418121acb87276228b0dafbeee3c57af143aca11f89", + } + } + } +} + +/// Returns the Python binary, which can be used to create venvs. +/// Downloads if missing. +pub fn setup_python(build: &mut Build) -> Result { + // if changing this, make sure you remove out/pyenv + let python_binary = match env::var("PYTHON_BINARY") { + Ok(path) => { + assert!( + Utf8Path::new(&path).is_absolute(), + "PYTHON_BINARY must be absolute" + ); + path.into() + } + Err(_) => { + download_and_extract( + build, + "python", + python_archive(build.host_platform), + hashmap! { "bin" => [ + if cfg!(windows) { "python.exe" } else { "bin/python3"} + ] }, + )?; + inputs![":extract:python:bin"] + } + }; + Ok(python_binary) +} + +pub fn setup_venv(build: &mut Build, python_binary: &BuildInput) -> Result<()> { + let requirements_txt = if cfg!(windows) { + inputs![ + "python/requirements.dev.txt", + "python/requirements.qt6.txt", + "python/requirements.win.txt", + ] + } else if cfg!(all(target_os = "linux", target_arch = "aarch64")) { + inputs!["python/requirements.dev.txt"] + } else { + inputs!["python/requirements.dev.txt", "python/requirements.qt6.txt",] + }; + build.add( + "pyenv", + PythonEnvironment { + folder: "pyenv", + base_requirements_txt: inputs!["python/requirements.base.txt"], + requirements_txt, + python_binary, + extra_binary_exports: &[ + "pip-compile", + "pip-sync", + "mypy", + "black", + "isort", + "pylint", + "pytest", + "protoc-gen-mypy", + ], + }, + )?; + + // optional venvs for testing with Qt5 + let mut reqs_qt5 = inputs!["python/requirements.bundle.txt"]; + if cfg!(windows) { + reqs_qt5 = inputs![reqs_qt5, "python/requirements.win.txt"]; + } + + build.add( + "pyenv-qt5.15", + PythonEnvironment { + folder: "pyenv-qt5.15", + base_requirements_txt: inputs!["python/requirements.base.txt"], + requirements_txt: inputs![&reqs_qt5, "python/requirements.qt5_15.txt"], + python_binary, + extra_binary_exports: &[], + }, + )?; + build.add( + "pyenv-qt5.14", + PythonEnvironment { + folder: "pyenv-qt5.14", + base_requirements_txt: inputs!["python/requirements.base.txt"], + requirements_txt: inputs![reqs_qt5, "python/requirements.qt5_14.txt"], + python_binary, + extra_binary_exports: &[], + }, + )?; + + Ok(()) +} + +pub struct GenPythonProto { + pub proto_files: BuildInput, +} + +impl BuildAction for GenPythonProto { + fn command(&self) -> &str { + "$protoc $ + --plugin=protoc-gen-mypy=$protoc-gen-mypy $ + --python_out=$builddir/pylib $ + --mypy_out=$builddir/pylib $ + -Iproto $in" + } + + fn files(&mut self, build: &mut impl ninja_gen::build::FilesHandle) { + let proto_inputs = build.expand_inputs(&self.proto_files); + let python_outputs: Vec<_> = proto_inputs + .iter() + .flat_map(|path| { + let path = path + .replace('\\', "/") + .replace("proto/", "pylib/") + .replace(".proto", "_pb2"); + [format!("{path}.py"), format!("{path}.pyi")] + }) + .collect(); + build.add_inputs("in", &self.proto_files); + build.add_inputs("protoc", inputs![":extract:protoc:bin"]); + build.add_inputs("protoc-gen-mypy", inputs![":pyenv:protoc-gen-mypy"]); + build.add_outputs("", python_outputs); + } +} + +pub struct BuildWheel { + pub name: &'static str, + pub version: &'static str, + pub src_folder: &'static str, + pub gen_folder: &'static str, + pub platform: Option, + pub deps: BuildInput, +} + +impl BuildAction for BuildWheel { + fn command(&self) -> &str { + "$pyenv_bin $script $src $gen $out" + } + + fn files(&mut self, build: &mut impl FilesHandle) { + build.add_inputs("pyenv_bin", inputs![":pyenv:bin"]); + build.add_inputs("script", inputs!["python/write_wheel.py"]); + build.add_inputs("", &self.deps); + build.add_variable("src", self.src_folder); + build.add_variable("gen", self.gen_folder); + + let tag = if let Some(platform) = self.platform { + let platform = match platform { + Platform::LinuxX64 => "manylinux_2_28_x86_64", + Platform::LinuxArm => "manylinux_2_31_aarch64", + Platform::MacX64 => "macosx_10_13_x86_64", + Platform::MacArm => "macosx_11_0_arm64", + Platform::WindowsX64 => "win_amd64", + }; + format!("cp39-abi3-{platform}") + } else { + "py3-none-any".into() + }; + let name = self.name; + let version = self.version; + let wheel_path = format!("wheels/{name}-{version}-{tag}.whl"); + build.add_outputs("out", vec![wheel_path]); + } +} + +pub fn check_python(build: &mut Build) -> Result<()> { + python_format(build, "ftl", inputs![glob!("ftl/**/*.py")])?; + python_format(build, "tools", inputs![glob!("tools/**/*.py")])?; + + build.add( + "check:mypy", + PythonTypecheck { + folders: &[ + "pylib", + "ts/lib", + "qt/aqt", + "qt/tools", + "out/pylib/anki", + "out/qt/_aqt", + "ftl", + "python", + "tools", + ], + deps: inputs![glob!["{pylib,ftl,qt}/**/*.{py,pyi}"], ":pylib/anki"], + }, + )?; + + add_pylint(build)?; + + Ok(()) +} + +fn add_pylint(build: &mut Build) -> Result<()> { + // pylint does not support PEP420 implicit namespaces split across import paths, + // so we need to merge our pylib sources and generated files before invoking it, and + // add a top-level __init__.py + build.add( + "pylint/anki", + RsyncFiles { + inputs: inputs![":pylib/anki"], + target_folder: "pylint/anki", + strip_prefix: "$builddir/pylib/anki", + // avoid copying our large rsbridge binary + extra_args: "--links", + }, + )?; + build.add( + "pylint/anki", + RsyncFiles { + inputs: inputs![glob!["pylib/anki/**"]], + target_folder: "pylint/anki", + strip_prefix: "pylib/anki", + extra_args: "", + }, + )?; + build.add( + "pylint/anki", + RunCommand { + command: ":pyenv:bin", + args: "$script $out", + inputs: hashmap! { "script" => inputs!["python/mkempty.py"] }, + outputs: hashmap! { "out" => vec!["pylint/anki/__init__.py"] }, + }, + )?; + build.add( + "check:pylint", + PythonLint { + folders: &[ + "$builddir/pylint/anki", + "qt/aqt", + "ftl", + "pylib/tools", + "tools", + "python", + ], + pylint_ini: inputs![".pylintrc"], + deps: inputs![ + ":pylint/anki", + glob!("{pylib/tools,ftl,qt,python,tools}/**/*.py") + ], + }, + )?; + + Ok(()) +} + +pub fn check_copyright(build: &mut Build) -> Result<()> { + let script = inputs!["tools/copyright_headers.py"]; + let files = inputs![glob![ + "{build,rslib,pylib,qt,ftl,python,sass,tools,ts}/**/*.{py,rs,ts,svelte,mjs}", + "qt/bundle/PyOxidizer/**" + ]]; + build.add( + "check:copyright", + RunCommand { + command: "$runner", + args: "run --stamp=$out $pyenv_bin $script check", + inputs: hashmap! { + "pyenv_bin" => inputs![":pyenv:bin"], + "script" => script.clone(), + "script" => script.clone(), + "" => files.clone(), + }, + outputs: hashmap! { + "out" => vec!["tests/copyright.check.marker"] + }, + }, + )?; + build.add( + "fix:copyright", + RunCommand { + command: "$runner", + args: "run --stamp=$out $pyenv_bin $script fix", + inputs: hashmap! { + "pyenv_bin" => inputs![":pyenv:bin"], + "script" => script, + "" => files, + }, + outputs: hashmap! { + "out" => vec!["tests/copyright.fix.marker"] + }, + }, + )?; + Ok(()) +} diff --git a/build/configure/src/rust.rs b/build/configure/src/rust.rs new file mode 100644 index 000000000..2523ce2b9 --- /dev/null +++ b/build/configure/src/rust.rs @@ -0,0 +1,134 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use ninja_gen::{ + cargo::{CargoBuild, CargoClippy, CargoFormat, CargoRun, CargoTest, RustOutput}, + git::SyncSubmodule, + glob, inputs, Build, Result, +}; + +use crate::{platform::overriden_rust_target_triple, proto::download_protoc}; + +pub fn build_rust(build: &mut Build) -> Result<()> { + prepare_translations(build)?; + download_protoc(build)?; + build_rsbridge(build) +} + +fn prepare_translations(build: &mut Build) -> Result<()> { + // ensure repos are checked out + build.add( + "ftl:repo:core", + SyncSubmodule { + path: "ftl/core-repo", + }, + )?; + build.add( + "ftl:repo:qt", + SyncSubmodule { + path: "ftl/qt-repo", + }, + )?; + // build anki_i18n and spit out strings.json + build.add( + "rslib/i18n", + CargoBuild { + inputs: inputs![ + glob!["rslib/i18n/**"], + glob!["ftl/{core,core-repo,qt,qt-repo}/**"], + ":ftl:repo", + ], + outputs: &[RustOutput::Data( + "strings.json", + "$builddir/rslib/i18n/strings.json", + )], + target: None, + extra_args: "-p anki_i18n", + release_override: None, + }, + )?; + + build.add( + "ftl:sync", + CargoRun { + binary_name: "ftl-sync", + cargo_args: "-p ftl", + bin_args: "", + deps: inputs![":ftl:repo", glob!["ftl/{core,core-repo,qt,qt-repo}/**"]], + }, + )?; + + Ok(()) +} + +fn build_rsbridge(build: &mut Build) -> Result<()> { + let features = if cfg!(target_os = "linux") { + "rustls" + } else { + "native-tls" + }; + build.add( + "pylib/rsbridge", + CargoBuild { + inputs: inputs![ + glob!["{pylib/rsbridge/**,rslib/**,proto/**}"], + ":extract:protoc:bin", + // declare a dependency on i18n so it gets built first, allowing + // things depending on strings.json to build faster, and ensuring + // changes to the ftl files trigger a rebuild + ":rslib/i18n", + // when env vars change the build hash gets updated + "$builddir/build.ninja", + // building on Windows requires python3.lib + if cfg!(windows) { + inputs![":extract:python"] + } else { + inputs![] + } + ], + outputs: &[RustOutput::DynamicLib("rsbridge")], + target: overriden_rust_target_triple(), + extra_args: &format!("-p rsbridge --features {features}"), + release_override: None, + }, + ) +} + +pub fn check_rust(build: &mut Build) -> Result<()> { + let inputs = inputs![ + glob!("{rslib/**,pylib/rsbridge/**,build/**,tools/workspace-hack/**}"), + "Cargo.lock", + "Cargo.toml", + "rust-toolchain.toml", + ]; + build.add( + "check:format:rust", + CargoFormat { + inputs: inputs.clone(), + check_only: true, + }, + )?; + build.add( + "format:rust", + CargoFormat { + inputs: inputs.clone(), + check_only: false, + }, + )?; + + let inputs = inputs![ + inputs, + // defer tests until build has completed; ensure re-run on changes + ":pylib/rsbridge" + ]; + + build.add( + "check:clippy", + CargoClippy { + inputs: inputs.clone(), + }, + )?; + build.add("check:rust_test", CargoTest { inputs })?; + + Ok(()) +} diff --git a/build/configure/src/web.rs b/build/configure/src/web.rs new file mode 100644 index 000000000..be53c8ed9 --- /dev/null +++ b/build/configure/src/web.rs @@ -0,0 +1,575 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +// use super::*; +use ninja_gen::{ + action::BuildAction, + command::RunCommand, + glob, hashmap, + input::BuildInput, + inputs, + node::{ + node_archive, CompileSass, DPrint, EsbuildScript, Eslint, GenTypescriptProto, JestTest, + SqlFormat, SvelteCheck, TypescriptCheck, + }, + rsync::RsyncFiles, + Build, Result, +}; + +pub fn build_and_check_web(build: &mut Build) -> Result<()> { + setup_node(build)?; + build_sass(build)?; + build_and_check_tslib(build)?; + declare_and_check_other_libraries(build)?; + build_and_check_pages(build)?; + build_and_check_editor(build)?; + build_and_check_reviewer(build)?; + build_and_check_mathjax(build)?; + check_web(build)?; + + Ok(()) +} + +fn setup_node(build: &mut Build) -> Result<()> { + ninja_gen::node::setup_node( + build, + node_archive(build.host_platform), + &[ + "dprint", + "svelte-check", + "eslint", + "sass", + "tsc", + "tsx", + "pbjs", + "pbts", + "jest", + ], + hashmap! { + "jquery" => vec![ + "jquery/dist/jquery.min.js".into() + ], + "jquery-ui" => vec![ + "jquery-ui-dist/jquery-ui.min.js".into() + ], + "css-browser-selector" => vec![ + "css-browser-selector/css_browser_selector.min.js".into(), + ], + "bootstrap-dist" => vec![ + "bootstrap/dist/js/bootstrap.bundle.min.js".into(), + ], + "mathjax" => MATHJAX_FILES.iter().map(|&v| v.into()).collect(), + "mdi_unthemed" => [ + // saved searches + "heart-outline.svg", + // today + "clock-outline.svg", + // state + "circle.svg", + "circle-outline.svg", + // flags + "flag-variant.svg", + "flag-variant-outline.svg", + "flag-variant-off-outline.svg", + // decks + "book-outline.svg", + "book-clock-outline.svg", + "book-cog-outline.svg", + // notetypes + "newspaper.svg", + // cardtype + "application-braces-outline.svg", + // fields + "form-textbox.svg", + // tags + "tag-outline.svg", + "tag-off-outline.svg", + ].iter().map(|file| format!("@mdi/svg/svg/{file}").into()).collect(), + "mdi_themed" => [ + // sidebar tools + "magnify.svg", + "selection-drag.svg", + // QComboBox arrows + "chevron-up.svg", + "chevron-down.svg", + // QHeaderView arrows + "menu-up.svg", + "menu-down.svg", + // drag handle + "drag-vertical.svg", + "drag-horizontal.svg", + // checkbox + "check.svg", + "minus-thick.svg", + // QRadioButton + "circle-medium.svg", + ].iter().map(|file| format!("@mdi/svg/svg/{file}").into()).collect(), + }, + )?; + Ok(()) +} + +fn build_and_check_tslib(build: &mut Build) -> Result<()> { + build.add( + "ts:lib:i18n", + RunCommand { + command: ":pyenv:bin", + args: "$script $strings $out", + inputs: hashmap! { + "script" => inputs!["ts/lib/genfluent.py"], + "strings" => inputs![":rslib/i18n:strings.json"], + "" => inputs!["pylib/anki/_vendor/stringcase.py"] + }, + outputs: hashmap! { + "out" => vec![ + "ts/lib/ftl.js", + "ts/lib/ftl.d.ts", + "ts/lib/i18n/modules.js", + "ts/lib/i18n/modules.d.ts" + ] + }, + }, + )?; + build.add( + "ts:lib:backend_proto.d.ts", + GenTypescriptProto { + protos: inputs![glob!["proto/anki/*.proto"]], + output_stem: "ts/lib/backend_proto", + }, + )?; + + let src_files = inputs![glob!["ts/lib/**"]]; + eslint(build, "lib", "ts/lib", inputs![":ts:lib", &src_files])?; + + build.add( + "check:jest:lib", + jest_test("ts/lib", inputs![":ts:lib", &src_files], true), + )?; + + build.add_inputs_to_group("ts:lib", src_files); + + Ok(()) +} + +fn jest_test(folder: &str, deps: BuildInput, jsdom: bool) -> impl BuildAction + '_ { + JestTest { + folder, + deps, + jest_rc: "ts/jest.config.js".into(), + jsdom, + } +} + +fn declare_and_check_other_libraries(build: &mut Build) -> Result<()> { + for (library, inputs) in [ + ("sveltelib", inputs![":ts:lib", glob!("ts/sveltelib/**")]), + ("domlib", inputs![":ts:lib", glob!("ts/domlib/**")]), + ( + "components", + inputs![":ts:lib", ":ts:sveltelib", glob!("ts/components/**")], + ), + ("html-filter", inputs![glob!("ts/html-filter/**")]), + ] { + let library_with_ts = format!("ts:{library}"); + let folder = library_with_ts.replace(':', "/"); + build.add_inputs_to_group(&library_with_ts, inputs.clone()); + eslint(build, library, &folder, inputs.clone())?; + + if matches!(library, "domlib" | "html-filter") { + build.add( + &format!("check:jest:{library}"), + jest_test(&folder, inputs, true), + )?; + } + } + + eslint( + build, + "sql_format", + "ts/sql_format", + inputs![glob!("ts/sql_format/**")], + )?; + + Ok(()) +} + +pub fn eslint(build: &mut Build, name: &str, folder: &str, deps: BuildInput) -> Result<()> { + let eslint_rc = inputs![".eslintrc.js"]; + build.add( + format!("check:eslint:{name}"), + Eslint { + folder, + inputs: deps.clone(), + eslint_rc: eslint_rc.clone(), + fix: false, + }, + )?; + build.add( + format!("fix:eslint:{name}"), + Eslint { + folder, + inputs: deps, + eslint_rc, + fix: true, + }, + )?; + Ok(()) +} + +fn build_and_check_pages(build: &mut Build) -> Result<()> { + build.add_inputs_to_group("ts:tag-editor", inputs![glob!["ts/tag-editor/**"]]); + + let mut build_page = |name: &str, html: bool, deps: BuildInput| -> Result<()> { + let group = format!("ts:pages:{name}"); + let deps = inputs![deps, glob!(format!("ts/{name}/**"))]; + let extra_exts = if html { &["css", "html"][..] } else { &["css"] }; + build.add( + &group, + EsbuildScript { + script: inputs!["ts/bundle_svelte.mjs"], + entrypoint: inputs![format!("ts/{name}/index.ts")], + output_stem: &format!("ts/{name}/{name}"), + deps: deps.clone(), + extra_exts, + }, + )?; + build.add( + format!("check:svelte:{name}"), + SvelteCheck { + tsconfig: inputs![format!("ts/{name}/tsconfig.json")], + inputs: deps.clone(), + }, + )?; + let folder = format!("ts/{name}"); + eslint(build, name, &folder, deps.clone())?; + if matches!(name, "deck-options" | "change-notetype") { + build.add( + &format!("check:jest:{name}"), + jest_test(&folder, deps, false), + )?; + } + + Ok(()) + }; + build_page( + "congrats", + true, + inputs![ + // + ":ts:lib", + ":ts:components", + ":sass", + ], + )?; + build_page( + "deck-options", + true, + inputs![ + // + ":ts:lib", + ":ts:components", + ":ts:sveltelib", + ":sass", + ], + )?; + build_page( + "graphs", + true, + inputs![ + // + ":ts:lib", + ":ts:components", + ":sass", + ], + )?; + build_page( + "card-info", + true, + inputs![ + // + ":ts:lib", + ":ts:components", + ":sass", + ], + )?; + build_page( + "change-notetype", + true, + inputs![ + // + ":ts:lib", + ":ts:components", + ":ts:sveltelib", + ":sass", + ], + )?; + build_page( + "import-csv", + true, + inputs![ + // + ":ts:lib", + ":ts:components", + ":ts:sveltelib", + ":ts:tag-editor", + ":sass" + ], + )?; + // we use the generated .css file separately + build_page( + "editable", + false, + inputs![ + // + ":ts:lib", + ":ts:components", + ":ts:domlib", + ":ts:sveltelib", + ":sass" + ], + )?; + + Ok(()) +} + +fn build_and_check_editor(build: &mut Build) -> Result<()> { + let editor_deps = inputs![ + // + ":ts:lib", + ":ts:components", + ":ts:domlib", + ":ts:sveltelib", + ":ts:tag-editor", + ":ts:html-filter", + ":sass", + glob!("ts/{editable,editor}/**") + ]; + + let mut build_editor_page = |name: &str, entrypoint: &str| -> Result<()> { + let stem = format!("ts/editor/{name}"); + build.add( + "ts:editor", + EsbuildScript { + script: inputs!["ts/bundle_svelte.mjs"], + entrypoint: inputs![format!("ts/editor/{entrypoint}.ts")], + output_stem: &stem, + deps: editor_deps.clone(), + extra_exts: &["css"], + }, + ) + }; + + build_editor_page("browser_editor", "index_browser")?; + build_editor_page("reviewer_editor", "index_reviewer")?; + build_editor_page("note_creator", "index_creator")?; + + let group = "ts/editor"; + build.add( + "check:svelte:editor", + SvelteCheck { + tsconfig: inputs![format!("{group}/tsconfig.json")], + inputs: editor_deps.clone(), + }, + )?; + eslint(build, "editor", group, editor_deps)?; + Ok(()) +} + +fn build_and_check_reviewer(build: &mut Build) -> Result<()> { + let reviewer_deps = inputs![":ts:lib", glob!("ts/reviewer/**")]; + build.add( + "ts:reviewer:reviewer.js", + EsbuildScript { + script: inputs!["ts/bundle_ts.mjs"], + entrypoint: "ts/reviewer/index_wrapper.ts".into(), + output_stem: "ts/reviewer/reviewer", + deps: reviewer_deps.clone(), + extra_exts: &[], + }, + )?; + build.add( + "ts:reviewer:reviewer.css", + CompileSass { + input: inputs!["ts/reviewer/reviewer.scss"], + output: "ts/reviewer/reviewer.css", + deps: ":sass".into(), + load_paths: vec!["."], + }, + )?; + build.add( + "ts:reviewer:reviewer_extras_bundle.js", + EsbuildScript { + script: inputs!["ts/bundle_ts.mjs"], + entrypoint: "ts/reviewer/reviewer_extras.ts".into(), + output_stem: "ts/reviewer/reviewer_extras_bundle", + deps: reviewer_deps.clone(), + extra_exts: &[], + }, + )?; + + build.add( + "check:typescript:reviewer", + TypescriptCheck { + tsconfig: inputs!["ts/reviewer/tsconfig.json"], + inputs: reviewer_deps.clone(), + }, + )?; + eslint(build, "reviewer", "ts/reviewer", reviewer_deps) +} + +fn check_web(build: &mut Build) -> Result<()> { + let dprint_files = inputs![glob!["**/*.{ts,mjs,js,md,json,toml}", "target/**"]]; + build.add( + "check:format:dprint", + DPrint { + inputs: dprint_files.clone(), + check_only: true, + }, + )?; + build.add( + "format:dprint", + DPrint { + inputs: dprint_files, + check_only: false, + }, + )?; + + Ok(()) +} + +pub fn check_sql(build: &mut Build) -> Result<()> { + build.add( + "check:format:sql", + SqlFormat { + inputs: inputs![glob!["**/*.sql"]], + check_only: true, + }, + )?; + build.add( + "format:sql", + SqlFormat { + inputs: inputs![glob!["**/*.sql"]], + check_only: false, + }, + )?; + Ok(()) +} + +fn build_and_check_mathjax(build: &mut Build) -> Result<()> { + let files = inputs![glob!["ts/mathjax/*"]]; + build.add( + "ts:mathjax", + EsbuildScript { + script: "ts/transform_ts.mjs".into(), + entrypoint: "ts/mathjax/index.ts".into(), + deps: files.clone(), + output_stem: "ts/mathjax/mathjax", + extra_exts: &[], + }, + )?; + eslint(build, "mathjax", "ts/mathjax", files.clone())?; + build.add( + "check:typescript:mathjax", + TypescriptCheck { + tsconfig: "ts/mathjax/tsconfig.json".into(), + inputs: files, + }, + ) +} + +pub const MATHJAX_FILES: &[&str] = &[ + "mathjax/es5/a11y/assistive-mml.js", + "mathjax/es5/a11y/complexity.js", + "mathjax/es5/a11y/explorer.js", + "mathjax/es5/a11y/semantic-enrich.js", + "mathjax/es5/input/tex/extensions/action.js", + "mathjax/es5/input/tex/extensions/all-packages.js", + "mathjax/es5/input/tex/extensions/ams.js", + "mathjax/es5/input/tex/extensions/amscd.js", + "mathjax/es5/input/tex/extensions/autoload.js", + "mathjax/es5/input/tex/extensions/bbox.js", + "mathjax/es5/input/tex/extensions/boldsymbol.js", + "mathjax/es5/input/tex/extensions/braket.js", + "mathjax/es5/input/tex/extensions/bussproofs.js", + "mathjax/es5/input/tex/extensions/cancel.js", + "mathjax/es5/input/tex/extensions/centernot.js", + "mathjax/es5/input/tex/extensions/color.js", + "mathjax/es5/input/tex/extensions/colortbl.js", + "mathjax/es5/input/tex/extensions/colorv2.js", + "mathjax/es5/input/tex/extensions/configmacros.js", + "mathjax/es5/input/tex/extensions/enclose.js", + "mathjax/es5/input/tex/extensions/extpfeil.js", + "mathjax/es5/input/tex/extensions/gensymb.js", + "mathjax/es5/input/tex/extensions/html.js", + "mathjax/es5/input/tex/extensions/mathtools.js", + "mathjax/es5/input/tex/extensions/mhchem.js", + "mathjax/es5/input/tex/extensions/newcommand.js", + "mathjax/es5/input/tex/extensions/noerrors.js", + "mathjax/es5/input/tex/extensions/noundefined.js", + "mathjax/es5/input/tex/extensions/physics.js", + "mathjax/es5/input/tex/extensions/require.js", + "mathjax/es5/input/tex/extensions/setoptions.js", + "mathjax/es5/input/tex/extensions/tagformat.js", + "mathjax/es5/input/tex/extensions/textcomp.js", + "mathjax/es5/input/tex/extensions/textmacros.js", + "mathjax/es5/input/tex/extensions/unicode.js", + "mathjax/es5/input/tex/extensions/upgreek.js", + "mathjax/es5/input/tex/extensions/verb.js", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff", + "mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Zero.woff", + "mathjax/es5/tex-chtml.js", + // these change to '.json' in the latest mathjax + "mathjax/es5/sre/mathmaps/de.js", + "mathjax/es5/sre/mathmaps/en.js", + "mathjax/es5/sre/mathmaps/es.js", + "mathjax/es5/sre/mathmaps/fr.js", + "mathjax/es5/sre/mathmaps/hi.js", + "mathjax/es5/sre/mathmaps/it.js", + "mathjax/es5/sre/mathmaps/nemeth.js", +]; + +pub fn copy_mathjax() -> impl BuildAction { + RsyncFiles { + inputs: inputs![":node_modules:mathjax"], + target_folder: "qt/_aqt/data/web/js/vendor/mathjax", + strip_prefix: "$builddir/node_modules/mathjax/es5", + extra_args: "", + } +} + +fn build_sass(build: &mut Build) -> Result<()> { + build.add_inputs_to_group("sass", inputs![glob!("sass/**")]); + + build.add( + "css:_root-vars", + CompileSass { + input: inputs!["sass/_root-vars.scss"], + output: "sass/_root-vars.css", + deps: inputs![glob!["sass/*"]], + load_paths: vec![], + }, + )?; + + Ok(()) +} diff --git a/build/ninja_gen/Cargo.toml b/build/ninja_gen/Cargo.toml new file mode 100644 index 000000000..178357fee --- /dev/null +++ b/build/ninja_gen/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "ninja_gen" + +version.workspace = true +authors.workspace = true +license.workspace = true +edition.workspace = true +rust-version.workspace = true + +[dependencies] +camino = "1.1.1" +globset = "0.4.9" +itertools = "0.10.5" +lazy_static = "1.4.0" +maplit = "1.0.2" +num_cpus = "1.14.0" +walkdir = "2.3.2" +which = "4.3.0" +workspace-hack = { version = "0.1", path = "../../tools/workspace-hack" } diff --git a/build/ninja_gen/src/action.rs b/build/ninja_gen/src/action.rs new file mode 100644 index 000000000..0a04a16ba --- /dev/null +++ b/build/ninja_gen/src/action.rs @@ -0,0 +1,42 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use crate::{build::FilesHandle, Build, Result}; + +pub trait BuildAction { + /// Command line to invoke for each build statement. + fn command(&self) -> &str; + + /// Declare the input files and variables, and output files. + fn files(&mut self, build: &mut impl FilesHandle); + + /// If true, this action will not trigger a rebuild of dependent targets if the output + /// files are unchanged. This corresponds to Ninja's "restat" argument. + fn check_output_timestamps(&self) -> bool { + false + } + + /// True if this rule generates build.ninja + fn generator(&self) -> bool { + false + } + + /// Called on first action invocation; can be used to inject other build actions + /// to perform initial setup. + #[allow(unused_variables)] + fn on_first_instance(&self, build: &mut Build) -> Result<()> { + Ok(()) + } + + fn concurrency_pool(&self) -> Option<&'static str> { + None + } + + fn bypass_runner(&self) -> bool { + false + } + + fn name(&self) -> &'static str { + std::any::type_name::().split("::").last().unwrap() + } +} diff --git a/build/ninja_gen/src/archives.rs b/build/ninja_gen/src/archives.rs new file mode 100644 index 000000000..bbb3cc562 --- /dev/null +++ b/build/ninja_gen/src/archives.rs @@ -0,0 +1,200 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{borrow::Cow, collections::HashMap}; + +use camino::{Utf8Path, Utf8PathBuf}; + +use crate::{ + action::BuildAction, + cargo::{CargoBuild, RustOutput}, + glob, + input::BuildInput, + inputs, Build, Result, +}; + +#[derive(Clone, Copy, Debug)] +pub struct OnlineArchive { + pub url: &'static str, + pub sha256: &'static str, +} + +#[derive(Debug, PartialEq, Eq, Clone, Copy)] +pub enum Platform { + LinuxX64, + LinuxArm, + MacX64, + MacArm, + WindowsX64, +} + +impl Platform { + pub fn current() -> Self { + if cfg!(windows) { + Self::WindowsX64 + } else { + let os = std::env::consts::OS; + let arch = std::env::consts::ARCH; + match (os, arch) { + ("linux", "x86_64") => Self::LinuxX64, + ("linux", "aarch64") => Self::LinuxArm, + ("macos", "x86_64") => Self::MacX64, + ("macos", "aarch64") => Self::MacArm, + _ => panic!("unsupported os/arch {os} {arch} - PR welcome!"), + } + } + } + + pub fn tls_feature() -> &'static str { + match Self::current() { + // On Linux, wheels are not allowed to link to OpenSSL, and linking setup + // caused pain for AnkiDroid in the past. On other platforms, we stick to + // native libraries, for smaller binaries. + Platform::LinuxX64 | Platform::LinuxArm => "rustls", + _ => "native-tls", + } + } + + pub fn as_rust_triple(&self) -> &'static str { + match self { + Platform::MacX64 => "x86_64-apple-darwin", + _ => unimplemented!(), + } + } +} + +/// Append .exe to path if on Windows. +pub fn with_exe(path: &str) -> Cow { + if cfg!(windows) { + format!("{path}.exe").into() + } else { + path.into() + } +} + +struct DownloadArchive { + pub archive: OnlineArchive, +} + +impl BuildAction for DownloadArchive { + fn command(&self) -> &str { + "$archives_bin download $url $checksum $out" + } + + fn files(&mut self, build: &mut impl crate::build::FilesHandle) { + let (_, filename) = self.archive.url.rsplit_once('/').unwrap(); + let output_path = Utf8Path::new("download").join(filename); + + build.add_inputs("archives_bin", inputs![":build:archives"]); + build.add_variable("url", self.archive.url); + build.add_variable("checksum", self.archive.sha256); + build.add_outputs("out", &[output_path.into_string()]) + } + + fn on_first_instance(&self, build: &mut Build) -> Result<()> { + build_archive_tool(build) + } +} + +struct ExtractArchive<'a, I> { + pub archive_path: BuildInput, + /// The folder that the archive should be extracted into, relative to $builddir/extracted. + /// If the archive contains a single top-level folder, its contents will be extracted into the + /// provided folder, so that output like tool-1.2/ can be extracted into tool/. + pub extraction_folder_name: &'a str, + /// Files contained inside the archive, relative to the archive root, and excluding the top-level + /// folder if it is the sole top-level entry. Any files you wish to use as part of subsequent rules + /// must be declared here. + pub file_manifest: HashMap<&'static str, I>, +} + +impl ExtractArchive<'_, I> { + fn extraction_folder(&self) -> Utf8PathBuf { + Utf8Path::new("$builddir") + .join("extracted") + .join(self.extraction_folder_name) + } +} + +impl BuildAction for ExtractArchive<'_, I> +where + I: IntoIterator, + I::Item: AsRef, +{ + fn command(&self) -> &str { + "$archive_tool extract $in $extraction_folder" + } + + fn files(&mut self, build: &mut impl crate::build::FilesHandle) { + build.add_inputs("archive_tool", inputs![":build:archives"]); + build.add_inputs("in", inputs![self.archive_path.clone()]); + + let folder = self.extraction_folder(); + build.add_variable("extraction_folder", folder.to_string()); + for (subgroup, files) in self.file_manifest.drain() { + build.add_outputs_ext( + subgroup, + files + .into_iter() + .map(|f| folder.join(f.as_ref()).to_string()), + !subgroup.is_empty(), + ); + } + build.add_output_stamp(folder.with_extension("marker")); + } + + fn on_first_instance(&self, build: &mut Build) -> Result<()> { + build_archive_tool(build) + } + + fn name(&self) -> &'static str { + "extract" + } +} + +fn build_archive_tool(build: &mut Build) -> Result<()> { + build.once_only("build_archive_tool", |build| { + let features = Platform::tls_feature(); + build.add( + "build:archives", + CargoBuild { + inputs: inputs![glob!("build/archives/**/*")], + outputs: &[RustOutput::Binary("archives")], + target: None, + extra_args: &format!("-p archives --features {features}"), + release_override: Some(false), + }, + )?; + Ok(()) + }) +} + +/// See [DownloadArchive] and [ExtractArchive]. +pub fn download_and_extract( + build: &mut Build, + group_name: &str, + archive: OnlineArchive, + file_manifest: HashMap<&'static str, I>, +) -> Result<()> +where + I: IntoIterator, + I::Item: AsRef, +{ + let download_group = format!("download:{group_name}"); + build.add(&download_group, DownloadArchive { archive })?; + + let extract_group = format!("extract:{group_name}"); + build.add( + extract_group, + ExtractArchive { + archive_path: inputs![format!(":{download_group}")], + extraction_folder_name: group_name, + file_manifest, + }, + )?; + Ok(()) +} + +pub fn empty_manifest() -> HashMap<&'static str, &'static [&'static str]> { + Default::default() +} diff --git a/build/ninja_gen/src/build.rs b/build/ninja_gen/src/build.rs new file mode 100644 index 000000000..643a1e426 --- /dev/null +++ b/build/ninja_gen/src/build.rs @@ -0,0 +1,475 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{ + collections::{HashMap, HashSet}, + fmt::Write, +}; + +use camino::Utf8PathBuf; + +use crate::{ + action::BuildAction, + archives::Platform, + configure::ConfigureBuild, + input::{space_separated, BuildInput}, + Result, +}; + +#[derive(Debug)] +pub struct Build { + pub variables: HashMap<&'static str, String>, + pub buildroot: Utf8PathBuf, + pub release: bool, + pub pools: Vec<(&'static str, usize)>, + pub trailing_text: String, + pub host_platform: Platform, + + pub(crate) output_text: String, + action_names: HashSet<&'static str>, + pub(crate) groups: HashMap>, +} + +impl Build { + pub fn new() -> Result { + let buildroot = if cfg!(windows) { + Utf8PathBuf::from("out") + } else { + // on Unix systems we allow out to be a symlink to an external location + Utf8PathBuf::from("out").canonicalize_utf8()? + }; + + let mut build = Build { + buildroot, + release: std::env::var("RELEASE").is_ok(), + host_platform: Platform::current(), + variables: Default::default(), + pools: Default::default(), + trailing_text: Default::default(), + output_text: Default::default(), + action_names: Default::default(), + groups: Default::default(), + }; + + build.add("build:run_configure", ConfigureBuild {})?; + + Ok(build) + } + + pub fn variable(&mut self, name: &'static str, value: impl Into) { + self.variables.insert(name, value.into()); + } + + pub fn pool(&mut self, name: &'static str, size: usize) { + self.pools.push((name, size)); + } + + /// Evaluate the provided closure only once, using `key` to determine uniqueness. + /// This key should not match any build action name. + pub fn once_only( + &mut self, + key: &'static str, + block: impl FnOnce(&mut Build) -> Result<()>, + ) -> Result<()> { + if self.action_names.insert(key) { + block(self) + } else { + Ok(()) + } + } + + pub fn add(&mut self, group: impl AsRef, action: impl BuildAction) -> Result<()> { + let group = group.as_ref(); + let groups = split_groups(group); + let group = groups[0]; + let command = action.command(); + + let action_name = action.name(); + // first invocation? + let mut first_invocation = false; + self.once_only(action_name, |build| { + action.on_first_instance(build)?; + first_invocation = true; + Ok(()) + })?; + + let action_name = action_name.to_string(); + + // ensure separator is delivered to runner, not shell + let command = if cfg!(windows) || action.bypass_runner() { + command.into() + } else { + command.replace("&&", "\"&&\"") + }; + + let mut statement = + BuildStatement::from_build_action(group, action, &self.groups, self.release); + + if first_invocation { + let command = statement.prepare_command(command); + writeln!( + &mut self.output_text, + "\ +rule {action_name} + command = {command}", + ) + .unwrap(); + for (k, v) in &statement.rule_variables { + writeln!(&mut self.output_text, " {k} = {v}").unwrap(); + } + self.output_text.push('\n'); + } + + let (all_outputs, subgroups) = statement.render_into(&mut self.output_text); + for group in groups { + self.add_resolved_files_to_group(group, &all_outputs); + } + for (subgroup, outputs) in subgroups { + let group_with_subgroup = format!("{group}:{subgroup}"); + self.add_resolved_files_to_group(&group_with_subgroup, &outputs); + } + + Ok(()) + } + + /// Add one or more resolved files to a group. + pub fn add_resolved_files_to_group<'a>( + &mut self, + group: &str, + files: impl IntoIterator, + ) { + let buf = self.groups.entry(group.to_owned()).or_default(); + buf.extend(files.into_iter().map(ToString::to_string)); + } + + pub fn add_inputs_to_group(&mut self, group: &str, inputs: BuildInput) { + self.add_resolved_files_to_group(group, &self.expand_inputs(inputs)); + } + + /// Group names should not have a leading `:`. + pub fn add_group_to_group(&mut self, target_group: &str, additional_group: &str) { + let additional_files = self + .groups + .get(additional_group) + .unwrap_or_else(|| panic!("{additional_group} had no files")); + self.add_resolved_files_to_group(target_group, &additional_files.clone()) + } + + /// Outputs from a given build statement group. An error if no files have been registered yet. + pub fn group_outputs(&self, group_name: &'static str) -> &[String] { + self.groups + .get(group_name) + .unwrap_or_else(|| panic!("expected files in {group_name}")) + } + + /// Single output from a given build statement group. An error if no files have been registered yet, + /// or more than one file has been registered. + pub fn group_output(&self, group_name: &'static str) -> String { + let outputs = self.group_outputs(group_name); + assert_eq!(outputs.len(), 1); + outputs.first().unwrap().into() + } + + pub fn expand_inputs(&self, inputs: impl AsRef) -> Vec { + expand_inputs(inputs, &self.groups) + } + + /// Expand inputs, the return a filtered subset. + pub fn filter_inputs(&self, inputs: impl AsRef, func: F) -> Vec + where + F: FnMut(&String) -> bool, + { + self.expand_inputs(inputs) + .into_iter() + .filter(func) + .collect() + } + + pub fn inputs_with_suffix(&self, inputs: impl AsRef, ext: &str) -> Vec { + self.filter_inputs(inputs, |f| f.ends_with(ext)) + } +} + +fn split_groups(group: &str) -> Vec<&str> { + let mut rest = group; + let mut groups = vec![group]; + while let Some((head, _tail)) = rest.rsplit_once(':') { + groups.push(head); + rest = head; + } + groups +} + +struct BuildStatement<'a> { + /// Cache of outputs by already-evaluated build rules, allowing later rules to more easily consume + /// the outputs of previous rules. + existing_outputs: &'a HashMap>, + rule_name: &'static str, + // implicit refers to files that are not automatically assigned to $in and $out by Ninja, + implicit_inputs: Vec, + implicit_outputs: Vec, + explicit_inputs: Vec, + explicit_outputs: Vec, + output_subsets: Vec<(String, Vec)>, + variables: Vec<(String, String)>, + rule_variables: Vec<(String, String)>, + output_stamp: bool, + env_vars: Vec, + release: bool, + bypass_runner: bool, +} + +impl BuildStatement<'_> { + fn from_build_action<'a>( + group: &str, + mut action: impl BuildAction, + existing_outputs: &'a HashMap>, + release: bool, + ) -> BuildStatement<'a> { + let mut stmt = BuildStatement { + existing_outputs, + rule_name: action.name(), + implicit_inputs: Default::default(), + implicit_outputs: Default::default(), + explicit_inputs: Default::default(), + explicit_outputs: Default::default(), + variables: Default::default(), + rule_variables: Default::default(), + output_subsets: Default::default(), + output_stamp: false, + env_vars: Default::default(), + release, + bypass_runner: action.bypass_runner(), + }; + action.files(&mut stmt); + + if stmt.explicit_outputs.is_empty() && stmt.implicit_outputs.is_empty() { + panic!("{} must generate at least one output", action.name()); + } + stmt.variables.push(("description".into(), group.into())); + if action.check_output_timestamps() { + stmt.rule_variables.push(("restat".into(), "1".into())); + } + if action.generator() { + stmt.rule_variables.push(("generator".into(), "1".into())); + } + if let Some(pool) = action.concurrency_pool() { + stmt.rule_variables.push(("pool".into(), pool.into())); + } + + stmt + } + + /// Returns a list of all output files, which `Build` will add to `existing_outputs`, + /// and any subgroups. + fn render_into(mut self, buf: &mut String) -> (Vec, Vec<(String, Vec)>) { + let action_name = self.rule_name; + let inputs_str = to_ninja_target_string(&self.explicit_inputs, &self.implicit_inputs); + let outputs_str = to_ninja_target_string(&self.explicit_outputs, &self.implicit_outputs); + + writeln!(buf, "build {outputs_str}: {action_name} {inputs_str}").unwrap(); + for (key, value) in self.variables { + writeln!(buf, " {key} = {}", value).unwrap(); + } + writeln!(buf).unwrap(); + + let outputs_vec = { + self.implicit_outputs.extend(self.explicit_outputs); + self.implicit_outputs + }; + (outputs_vec, self.output_subsets) + } + + fn prepare_command(&mut self, command: String) -> String { + if self.bypass_runner { + return command; + } + if command.starts_with("$runner") { + self.implicit_inputs.push("$runner".into()); + return command; + } + let mut buf = String::from("$runner run "); + if self.output_stamp { + write!(&mut buf, "--stamp=$stamp ").unwrap(); + } + if !self.env_vars.is_empty() { + for var in &self.env_vars { + write!(&mut buf, "--env={var} ").unwrap(); + } + } + buf.push_str(&command); + buf + } +} + +fn expand_inputs( + input: impl AsRef, + existing_outputs: &HashMap>, +) -> Vec { + let mut vec = vec![]; + input.as_ref().add_to_vec(&mut vec, existing_outputs); + vec +} + +pub trait FilesHandle { + /// Add inputs to the build statement. Can be called multiple times with + /// different variables. This is a shortcut for calling .expand_inputs() + /// and then .add_inputs_vec() + /// - If the variable name is non-empty, a variable of the same name will be + /// created so the file list can be accessed in the command. By convention, + /// this is often `in`. + fn add_inputs(&mut self, variable: &'static str, inputs: impl AsRef); + fn add_inputs_vec(&mut self, variable: &'static str, inputs: Vec); + + /// Add a variable that can be referenced in the command. + fn add_variable(&mut self, name: impl Into, value: impl Into); + + fn expand_input(&self, input: &BuildInput) -> String; + fn expand_inputs(&self, inputs: impl AsRef) -> Vec; + + /// Like [FilesHandle::add_outputs_ext], without adding a subgroup. + fn add_outputs( + &mut self, + variable: &'static str, + outputs: impl IntoIterator>, + ) { + self.add_outputs_ext(variable, outputs, false); + } + + /// Add outputs to the build statement. Can be called multiple times with + /// different variables. + /// - Each output automatically has $builddir/ prefixed to it if it does not + /// already start with it. + /// - If the variable name is non-empty, a variable of the same name will be + /// created so the file list can be accessed in the command. By convention, + /// this is often `out`. + /// - If subgroup is true, the files are also placed in a subgroup. Eg + /// if a rule `foo` exists and subgroup `bar` is provided, the files are accessible + /// via `:foo:bar`. The variable name must not be empty, or called `out`. + fn add_outputs_ext( + &mut self, + variable: impl Into, + outputs: impl IntoIterator>, + subgroup: bool, + ); + + /// Save an output stamp if the command completes successfully. + fn add_output_stamp(&mut self, path: impl Into); + /// Set an env var for the duration of the provided command(s). + /// Note this is defined once for the rule, so if the value should change + /// for each command, `constant_value` should reference a `$variable` you have + /// defined. + fn add_env_var(&mut self, key: &str, constant_value: &str); + + fn release_build(&self) -> bool; +} + +impl FilesHandle for BuildStatement<'_> { + fn add_inputs(&mut self, variable: &'static str, inputs: impl AsRef) { + self.add_inputs_vec(variable, FilesHandle::expand_inputs(self, inputs)); + } + + fn add_inputs_vec(&mut self, variable: &'static str, inputs: Vec) { + match variable { + "in" => self.explicit_inputs.extend(inputs), + other_key => { + if !other_key.is_empty() { + self.add_variable(other_key, space_separated(&inputs)); + } + self.implicit_inputs.extend(inputs); + } + } + } + + fn add_variable(&mut self, key: impl Into, value: impl Into) { + self.variables.push((key.into(), value.into())); + } + + fn expand_input(&self, input: &BuildInput) -> String { + let mut vec = Vec::with_capacity(1); + input.add_to_vec(&mut vec, self.existing_outputs); + if vec.len() != 1 { + panic!("expected {input:?} to resolve to a single file; got ${vec:?}"); + } + vec.pop().unwrap() + } + + fn add_outputs_ext( + &mut self, + variable: impl Into, + outputs: impl IntoIterator>, + subgroup: bool, + ) { + let outputs = outputs.into_iter().map(|v| { + let v = v.as_ref(); + let v = if !v.starts_with("$builddir/") && !v.starts_with("$builddir\\") { + format!("$builddir/{}", v) + } else { + v.to_owned() + }; + if cfg!(windows) { + v.replace('/', "\\") + } else { + v + } + }); + let variable = variable.into(); + match variable.as_str() { + "out" => self.explicit_outputs.extend(outputs), + other_key => { + let outputs: Vec<_> = outputs.collect(); + if !other_key.is_empty() { + self.add_variable(other_key, space_separated(&outputs)); + } + if subgroup { + assert!(!other_key.is_empty()); + self.output_subsets + .push((other_key.to_owned(), outputs.to_owned())); + } + + self.implicit_outputs.extend(outputs); + } + } + } + + fn expand_inputs(&self, inputs: impl AsRef) -> Vec { + expand_inputs(inputs, self.existing_outputs) + } + + fn release_build(&self) -> bool { + self.release + } + + fn add_output_stamp(&mut self, path: impl Into) { + self.output_stamp = true; + self.add_outputs("stamp", vec![path.into()]); + } + + fn add_env_var(&mut self, key: &str, constant_value: &str) { + self.env_vars.push(format!("{key}={constant_value}")); + } +} + +fn to_ninja_target_string(explicit: &[String], implicit: &[String]) -> String { + let mut joined = space_separated(explicit); + if !implicit.is_empty() { + joined.push_str(" | "); + joined.push_str(&space_separated(implicit)); + } + joined +} + +#[cfg(test)] +mod test { + use super::*; + + #[test] + fn test_split_groups() { + assert_eq!(&split_groups("foo"), &["foo"]); + assert_eq!(&split_groups("foo:bar"), &["foo:bar", "foo"]); + assert_eq!( + &split_groups("foo:bar:baz"), + &["foo:bar:baz", "foo:bar", "foo"] + ); + } +} diff --git a/build/ninja_gen/src/cargo.rs b/build/ninja_gen/src/cargo.rs new file mode 100644 index 000000000..9419731ad --- /dev/null +++ b/build/ninja_gen/src/cargo.rs @@ -0,0 +1,236 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use camino::{Utf8Path, Utf8PathBuf}; + +use crate::{ + action::BuildAction, archives::with_exe, build::FilesHandle, input::BuildInput, inputs, Build, + Result, +}; + +#[derive(Debug, PartialEq, Eq)] +pub enum RustOutput<'a> { + Binary(&'a str), + StaticLib(&'a str), + DynamicLib(&'a str), + /// (group_name, fully qualified path) + Data(&'a str, &'a str), +} + +impl RustOutput<'_> { + pub fn name(&self) -> &str { + match self { + RustOutput::Binary(pkg) => pkg, + RustOutput::StaticLib(pkg) => pkg, + RustOutput::DynamicLib(pkg) => pkg, + RustOutput::Data(name, _) => name, + } + } + + pub fn path(&self, rust_base: &Utf8Path, target: Option<&str>, release: bool) -> String { + let filename = match *self { + RustOutput::Binary(package) => { + if cfg!(windows) { + format!("{package}.exe") + } else { + package.into() + } + } + RustOutput::StaticLib(package) => format!("lib{package}.a"), + RustOutput::DynamicLib(package) => { + if cfg!(windows) { + format!("{package}.dll") + } else if cfg!(target_os = "macos") { + format!("lib{package}.dylib") + } else { + format!("lib{package}.so") + } + } + RustOutput::Data(_, path) => return path.to_string(), + }; + let mut path: Utf8PathBuf = rust_base.into(); + if let Some(target) = target { + path = path.join(target); + } + path = path + .join(if release { "release" } else { "debug" }) + .join(filename); + path.to_string() + } +} + +#[derive(Debug, Default)] +pub struct CargoBuild<'a> { + pub inputs: BuildInput, + pub outputs: &'a [RustOutput<'a>], + pub target: Option<&'static str>, + pub extra_args: &'a str, + pub release_override: Option, +} + +impl BuildAction for CargoBuild<'_> { + fn command(&self) -> &str { + "cargo build $release_arg $target_arg $cargo_flags $extra_args" + } + + fn files(&mut self, build: &mut impl FilesHandle) { + let release_build = self + .release_override + .unwrap_or_else(|| build.release_build()); + let release_arg = if release_build { "--release" } else { "" }; + let target_arg = if let Some(target) = self.target { + format!("--target {target}") + } else { + "".into() + }; + + build.add_inputs("", &self.inputs); + build.add_inputs( + "", + inputs![".cargo/config.toml", "rust-toolchain.toml", "Cargo.lock"], + ); + build.add_variable("release_arg", release_arg); + build.add_variable("target_arg", target_arg); + build.add_variable("extra_args", self.extra_args); + + let output_root = Utf8Path::new("$builddir/rust"); + for output in self.outputs { + let name = output.name(); + let path = output.path(output_root, self.target, release_build); + build.add_outputs_ext(name, vec![path], true); + } + } + + fn check_output_timestamps(&self) -> bool { + true + } + + fn on_first_instance(&self, build: &mut Build) -> Result<()> { + setup_flags(build) + } +} + +fn setup_flags(build: &mut Build) -> Result<()> { + build.once_only("cargo_flags_and_pool", |build| { + build.variable("cargo_flags", "--locked"); + Ok(()) + }) +} + +pub struct CargoTest { + pub inputs: BuildInput, +} + +impl BuildAction for CargoTest { + fn command(&self) -> &str { + "cargo nextest run --color=always --failure-output=final --status-level=none $cargo_flags" + } + + fn files(&mut self, build: &mut impl FilesHandle) { + build.add_inputs("", &self.inputs); + build.add_inputs("", inputs![":cargo-nextest"]); + build.add_output_stamp("tests/cargo_test"); + } + + fn on_first_instance(&self, build: &mut Build) -> Result<()> { + build.add( + "cargo-nextest", + CargoInstall { + binary_name: "cargo-nextest", + args: "cargo-nextest --version 0.9.43", + }, + )?; + setup_flags(build) + } +} + +pub struct CargoClippy { + pub inputs: BuildInput, +} + +impl BuildAction for CargoClippy { + fn command(&self) -> &str { + "cargo clippy $cargo_flags --tests -- -Dclippy::dbg_macro -Dwarnings" + } + + fn files(&mut self, build: &mut impl FilesHandle) { + build.add_inputs( + "", + inputs![&self.inputs, "Cargo.lock", "rust-toolchain.toml"], + ); + build.add_output_stamp("tests/cargo_clippy"); + } + + fn on_first_instance(&self, build: &mut Build) -> Result<()> { + setup_flags(build) + } +} + +pub struct CargoFormat { + pub inputs: BuildInput, + pub check_only: bool, +} + +impl BuildAction for CargoFormat { + fn command(&self) -> &str { + // the empty config file prevents warnings about nightly features + "cargo fmt $mode -- --config-path=.rustfmt-empty.toml --color always" + } + + fn files(&mut self, build: &mut impl FilesHandle) { + build.add_inputs("", &self.inputs); + build.add_variable("mode", if self.check_only { "--check" } else { "" }); + build.add_output_stamp(format!( + "tests/cargo_format.{}", + if self.check_only { "check" } else { "fmt" } + )); + } + + fn on_first_instance(&self, build: &mut Build) -> Result<()> { + setup_flags(build) + } +} + +/// Use Cargo to download and build a Rust binary. If `binary_name` is `foo`, a `$foo` variable +/// will be defined with the path to the binary. +pub struct CargoInstall { + pub binary_name: &'static str, + /// eg 'foo --version 1.3' or '--git git://...' + pub args: &'static str, +} + +impl BuildAction for CargoInstall { + fn command(&self) -> &str { + "cargo install --color always $args --root $builddir" + } + + fn files(&mut self, build: &mut impl FilesHandle) { + build.add_variable("args", self.args); + build.add_outputs("", vec![with_exe(&format!("bin/{}", self.binary_name))]) + } + + fn check_output_timestamps(&self) -> bool { + true + } +} + +pub struct CargoRun { + pub binary_name: &'static str, + pub cargo_args: &'static str, + pub bin_args: &'static str, + pub deps: BuildInput, +} + +impl BuildAction for CargoRun { + fn command(&self) -> &str { + "cargo run --bin $binary $cargo_args -- $bin_args" + } + + fn files(&mut self, build: &mut impl FilesHandle) { + build.add_inputs("", &self.deps); + build.add_variable("binary", self.binary_name); + build.add_variable("cargo_args", self.cargo_args); + build.add_variable("bin_args", self.bin_args); + build.add_outputs("", vec!["phony"]); + } +} diff --git a/build/ninja_gen/src/command.rs b/build/ninja_gen/src/command.rs new file mode 100644 index 000000000..c26c97d56 --- /dev/null +++ b/build/ninja_gen/src/command.rs @@ -0,0 +1,56 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::collections::HashMap; + +use crate::{ + action::BuildAction, + input::{space_separated, BuildInput}, + inputs, +}; + +pub struct RunCommand<'a> { + // Will be automatically included as a dependency + pub command: &'static str, + // Arguments to the script, eg `$in $out` or `$in > $out`. + pub args: &'a str, + pub inputs: HashMap<&'static str, BuildInput>, + pub outputs: HashMap<&'static str, Vec<&'a str>>, +} + +impl BuildAction for RunCommand<'_> { + fn command(&self) -> &str { + "$cmd $args" + } + + fn files(&mut self, build: &mut impl crate::build::FilesHandle) { + // Because we've defined a generic rule instead of making one for a specific use case, + // we need to manually intepolate variables in the user-provided args. + let mut args = self.args.to_string(); + for (key, inputs) in &self.inputs { + let files = build.expand_inputs(inputs); + build.add_inputs("", inputs); + if !key.is_empty() { + args = args.replace(&format!("${key}"), &space_separated(files)); + } + } + for (key, outputs) in &self.outputs { + if !key.is_empty() { + let outputs = outputs.iter().map(|o| { + if !o.starts_with("$builddir/") { + format!("$builddir/{o}") + } else { + (*o).into() + } + }); + args = args.replace(&format!("${key}"), &space_separated(outputs)); + } + } + + build.add_inputs("cmd", inputs![self.command]); + build.add_variable("args", args); + for outputs in self.outputs.values() { + build.add_outputs("", outputs); + } + } +} diff --git a/build/ninja_gen/src/configure.rs b/build/ninja_gen/src/configure.rs new file mode 100644 index 000000000..155edb8ef --- /dev/null +++ b/build/ninja_gen/src/configure.rs @@ -0,0 +1,43 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use crate::{ + action::BuildAction, + build::FilesHandle, + cargo::{CargoBuild, RustOutput}, + glob, inputs, Build, Result, +}; + +pub struct ConfigureBuild {} + +impl BuildAction for ConfigureBuild { + fn command(&self) -> &str { + "$cmd && ninja -f $builddir/build.ninja -t cleandead" + } + + fn files(&mut self, build: &mut impl FilesHandle) { + build.add_inputs("cmd", inputs![":build:configure"]); + // reconfigure when env changes + build.add_inputs("", inputs!["$builddir/env"]); + build.add_outputs("", ["build.ninja"]) + } + + fn on_first_instance(&self, build: &mut Build) -> Result<()> { + build.add( + "build:configure", + CargoBuild { + inputs: inputs![glob!["build/**/*"]], + outputs: &[RustOutput::Binary("configure")], + target: None, + // we ensure runner is up to date, but don't declare it as output, + // as ninja will try to clean up stale outputs, and that fails on + // Windows. The ninja wrapper script should ensure the runner is up to + // date anyway, but advanced users can invoke ninja directly to save + // the ~80+ms it takes cargo to check that the runner is up to date. + extra_args: "-p configure -p runner", + release_override: Some(false), + }, + )?; + Ok(()) + } +} diff --git a/build/ninja_gen/src/copy.rs b/build/ninja_gen/src/copy.rs new file mode 100644 index 000000000..88fe9e476 --- /dev/null +++ b/build/ninja_gen/src/copy.rs @@ -0,0 +1,78 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use camino::Utf8Path; + +use crate::{action::BuildAction, input::BuildInput}; + +/// Copy the provided files into the specified destination folder. +/// Directory structure is not preserved - eg foo/bar.js is copied +/// into out/$output_folder/bar.js. +pub struct CopyFiles<'a> { + pub inputs: BuildInput, + /// The folder (relative to the build folder) that files should be copied into. + pub output_folder: &'a str, +} + +impl BuildAction for CopyFiles<'_> { + fn command(&self) -> &str { + // The -f is because we may need to overwrite read-only files copied from Bazel. + "cp -fr $in $builddir/$folder" + } + + fn files(&mut self, build: &mut impl crate::build::FilesHandle) { + let inputs = build.expand_inputs(&self.inputs); + let output_folder = Utf8Path::new(self.output_folder); + let outputs: Vec<_> = inputs + .iter() + .map(|f| output_folder.join(Utf8Path::new(f).file_name().unwrap())) + .collect(); + build.add_inputs("in", &self.inputs); + build.add_outputs("", outputs); + build.add_variable("folder", self.output_folder); + } +} + +/// Copy a single file to the provided output path, which should be relative to +/// the output folder. This can be used to create a copy with a different name. +pub struct CopyFile<'a> { + pub input: BuildInput, + pub output: &'a str, +} + +impl BuildAction for CopyFile<'_> { + fn command(&self) -> &str { + "cp $in $out" + } + + fn files(&mut self, build: &mut impl crate::build::FilesHandle) { + build.add_inputs("in", &self.input); + build.add_outputs("out", vec![self.output]); + } +} + +/// Create a symbolic link to the provided output path, which should be relative to +/// the output folder. This can be used to create a copy with a different name. +pub struct LinkFile<'a> { + pub input: BuildInput, + pub output: &'a str, +} + +impl BuildAction for LinkFile<'_> { + fn command(&self) -> &str { + if cfg!(windows) { + "cmd /c copy $in $out" + } else { + "ln -sf $in $out" + } + } + + fn files(&mut self, build: &mut impl crate::build::FilesHandle) { + build.add_inputs("in", &self.input); + build.add_outputs("out", vec![self.output]); + } + + fn check_output_timestamps(&self) -> bool { + true + } +} diff --git a/build/ninja_gen/src/git.rs b/build/ninja_gen/src/git.rs new file mode 100644 index 000000000..f00ef69e0 --- /dev/null +++ b/build/ninja_gen/src/git.rs @@ -0,0 +1,71 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use itertools::Itertools; + +use super::*; +use crate::{action::BuildAction, input::BuildInput}; + +pub struct SyncSubmodule { + pub path: &'static str, +} + +impl BuildAction for SyncSubmodule { + fn command(&self) -> &str { + "git submodule update --init $path" + } + + fn files(&mut self, build: &mut impl build::FilesHandle) { + if let Some(head) = locate_git_head() { + build.add_inputs("", head); + } else { + println!("Warning, .git/HEAD not found; submodules may be stale"); + } + build.add_variable("path", self.path); + build.add_output_stamp(format!("git/{}", self.path)); + } + + fn on_first_instance(&self, build: &mut Build) -> Result<()> { + build.pool("git", 1); + Ok(()) + } + + fn concurrency_pool(&self) -> Option<&'static str> { + Some("git") + } +} + +/// We check the mtime of .git/HEAD to detect when we should sync submodules. +/// If this repo is a submodule of another project, .git/HEAD will not exist, +/// and we fall back on .git/modules/*/HEAD in a parent folder instead. +fn locate_git_head() -> Option { + let standard_path = Utf8Path::new(".git/HEAD"); + if standard_path.exists() { + return Some(inputs![standard_path.to_string()]); + } + + let mut folder = Utf8Path::new(".").canonicalize_utf8().unwrap(); + loop { + let path = folder.join(".git").join("modules"); + if path.exists() { + let heads = path + .read_dir_utf8() + .unwrap() + .filter_map(|p| { + let head = p.unwrap().path().join("HEAD"); + if head.exists() { + Some(head.to_string()) + } else { + None + } + }) + .collect_vec(); + return Some(inputs![heads]); + } + if let Some(parent) = folder.parent() { + folder = parent.to_owned(); + } else { + return None; + } + } +} diff --git a/build/ninja_gen/src/hash.rs b/build/ninja_gen/src/hash.rs new file mode 100644 index 000000000..8e2f6a327 --- /dev/null +++ b/build/ninja_gen/src/hash.rs @@ -0,0 +1,13 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{ + collections::hash_map::DefaultHasher, + hash::{Hash, Hasher}, +}; + +pub fn simple_hash(hashable: impl Hash) -> u64 { + let mut hasher = DefaultHasher::new(); + hashable.hash(&mut hasher); + hasher.finish() +} diff --git a/build/ninja_gen/src/input.rs b/build/ninja_gen/src/input.rs new file mode 100644 index 000000000..06a35cc3f --- /dev/null +++ b/build/ninja_gen/src/input.rs @@ -0,0 +1,186 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{collections::HashMap, fmt::Display}; + +use camino::Utf8PathBuf; + +#[derive(Debug, Clone, Hash)] +pub enum BuildInput { + Single(String), + Multiple(Vec), + Glob(Glob), + Inputs(Vec), + Empty, +} + +impl AsRef for BuildInput { + fn as_ref(&self) -> &BuildInput { + self + } +} + +impl Default for BuildInput { + fn default() -> Self { + BuildInput::Empty + } +} + +impl From for BuildInput { + fn from(v: String) -> Self { + BuildInput::Single(v) + } +} + +impl From<&str> for BuildInput { + fn from(v: &str) -> Self { + BuildInput::Single(v.to_owned()) + } +} + +impl From> for BuildInput { + fn from(v: Vec) -> Self { + BuildInput::Multiple(v) + } +} + +impl From for BuildInput { + fn from(v: Glob) -> Self { + BuildInput::Glob(v) + } +} + +impl From<&BuildInput> for BuildInput { + fn from(v: &BuildInput) -> Self { + BuildInput::Inputs(vec![v.clone()]) + } +} + +impl From<&[BuildInput]> for BuildInput { + fn from(v: &[BuildInput]) -> Self { + BuildInput::Inputs(v.to_vec()) + } +} + +impl From> for BuildInput { + fn from(v: Vec) -> Self { + BuildInput::Inputs(v) + } +} + +impl From for BuildInput { + fn from(v: Utf8PathBuf) -> Self { + BuildInput::Single(v.into_string()) + } +} + +impl BuildInput { + pub fn add_to_vec( + &self, + vec: &mut Vec, + exisiting_outputs: &HashMap>, + ) { + let mut resolve_and_add = |value: &str| { + if let Some(stripped) = value.strip_prefix(':') { + let files = exisiting_outputs.get(stripped).unwrap_or_else(|| { + println!("{:?}", &exisiting_outputs); + panic!("input referenced {value}, but rule missing/not processed"); + }); + for file in files { + vec.push(file.into()) + } + } else { + vec.push(value.into()); + } + }; + + match self { + BuildInput::Single(s) => resolve_and_add(s), + BuildInput::Multiple(v) => { + for item in v { + resolve_and_add(item); + } + } + BuildInput::Glob(glob) => { + for path in glob.resolve() { + vec.push(path.into_string()); + } + } + BuildInput::Inputs(inputs) => { + for input in inputs { + input.add_to_vec(vec, exisiting_outputs) + } + } + BuildInput::Empty => {} + } + } +} + +#[derive(Debug, Clone, Hash)] +pub struct Glob { + pub include: String, + pub exclude: Option, +} + +lazy_static::lazy_static! { + static ref CACHED_FILES: Vec = cache_files(); +} + +/// Walking the source tree once instead of for each glob yields ~4x speed improvements. +fn cache_files() -> Vec { + walkdir::WalkDir::new(".") + // ensure the output order is predictable + .sort_by_file_name() + .into_iter() + .filter_entry(move |e| { + // don't walk into symlinks, or the top-level out/, or .git + !(e.path_is_symlink() + || (e.depth() == 1 && (e.file_name() == "out" || e.file_name() == ".git"))) + }) + .filter_map(move |e| { + let path = e.as_ref().unwrap().path().strip_prefix("./").unwrap(); + if !path.is_dir() { + Some(Utf8PathBuf::from_path_buf(path.to_owned()).unwrap()) + } else { + None + } + }) + .collect() +} + +impl Glob { + pub fn resolve(&self) -> impl Iterator { + let include = globset::GlobBuilder::new(&self.include) + .literal_separator(true) + .build() + .unwrap() + .compile_matcher(); + let exclude = self.exclude.as_ref().map(|glob| { + globset::GlobBuilder::new(glob) + .literal_separator(true) + .build() + .unwrap() + .compile_matcher() + }); + CACHED_FILES.iter().filter_map(move |path| { + if include.is_match(path) { + let excluded = exclude + .as_ref() + .map(|exclude| exclude.is_match(path)) + .unwrap_or_default(); + if !excluded { + return Some(path.to_owned()); + } + } + None + }) + } +} + +pub fn space_separated(iter: I) -> String +where + I: IntoIterator, + I::Item: Display, +{ + itertools::join(iter, " ") +} diff --git a/build/ninja_gen/src/lib.rs b/build/ninja_gen/src/lib.rs new file mode 100644 index 000000000..c673ea3e7 --- /dev/null +++ b/build/ninja_gen/src/lib.rs @@ -0,0 +1,52 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +pub mod action; +pub mod archives; +pub mod build; +pub mod cargo; +pub mod command; +pub mod configure; +pub mod copy; +pub mod git; +pub mod hash; +pub mod input; +pub mod node; +pub mod protobuf; +pub mod python; +pub mod render; +pub mod rsync; +pub mod sass; + +pub use build::Build; +pub use camino::{Utf8Path, Utf8PathBuf}; +pub use maplit::hashmap; +pub use which::which; + +pub type Result = std::result::Result>; + +#[macro_export] +macro_rules! inputs { + ($($param:expr),+ $(,)?) => { + $crate::input::BuildInput::from(vec![$($crate::input::BuildInput::from($param)),+]) + }; + () => { + $crate::input::BuildInput::Empty + }; +} + +#[macro_export] +macro_rules! glob { + ($include:expr) => { + $crate::input::Glob { + include: $include.into(), + exclude: None, + } + }; + ($include:expr, $exclude:expr) => { + $crate::input::Glob { + include: $include.into(), + exclude: Some($exclude.into()), + } + }; +} diff --git a/build/ninja_gen/src/node.rs b/build/ninja_gen/src/node.rs new file mode 100644 index 000000000..ff9070e78 --- /dev/null +++ b/build/ninja_gen/src/node.rs @@ -0,0 +1,337 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{borrow::Cow, collections::HashMap}; + +use super::*; +use crate::{ + action::BuildAction, + archives::{download_and_extract, OnlineArchive, Platform}, + hash::simple_hash, + input::{space_separated, BuildInput}, +}; + +pub fn node_archive(platform: Platform) -> OnlineArchive { + match platform { + Platform::LinuxX64 => OnlineArchive { + url: "https://nodejs.org/dist/v18.12.1/node-v18.12.1-linux-x64.tar.xz", + sha256: "4481a34bf32ddb9a9ff9540338539401320e8c3628af39929b4211ea3552a19e", + }, + Platform::LinuxArm => OnlineArchive { + url: "https://nodejs.org/dist/v18.12.1/node-v18.12.1-linux-arm64.tar.xz", + sha256: "3904869935b7ecc51130b4b86486d2356539a174d11c9181180cab649f32cd2a", + }, + Platform::MacX64 => OnlineArchive { + url: "https://nodejs.org/dist/v18.12.1/node-v18.12.1-darwin-x64.tar.xz", + sha256: "6c88d462550a024661e74e9377371d7e023321a652eafb3d14d58a866e6ac002", + }, + Platform::MacArm => OnlineArchive { + url: "https://nodejs.org/dist/v18.12.1/node-v18.12.1-darwin-arm64.tar.xz", + sha256: "17f2e25d207d36d6b0964845062160d9ed16207c08d09af33b9a2fd046c5896f", + }, + Platform::WindowsX64 => OnlineArchive { + url: "https://nodejs.org/dist/v18.12.1/node-v18.12.1-win-x64.zip", + sha256: "5478a5a2dce2803ae22327a9f8ae8494c1dec4a4beca5bbf897027380aecf4c7", + }, + } +} + +pub struct YarnSetup {} + +impl BuildAction for YarnSetup { + fn command(&self) -> &str { + if cfg!(windows) { + "corepack.cmd enable yarn" + } else { + "corepack enable yarn" + } + } + + fn files(&mut self, build: &mut impl build::FilesHandle) { + build.add_inputs("", inputs![":extract:node"]); + build.add_outputs_ext( + "bin", + vec![if cfg!(windows) { + "extracted/node/yarn.cmd" + } else { + "extracted/node/bin/yarn" + }], + true, + ); + } + + fn check_output_timestamps(&self) -> bool { + true + } +} +pub struct YarnInstall<'a> { + pub package_json_and_lock: BuildInput, + pub exports: HashMap<&'a str, Vec>>, +} + +impl BuildAction for YarnInstall<'_> { + fn command(&self) -> &str { + "$runner yarn $yarn $out" + } + + fn files(&mut self, build: &mut impl build::FilesHandle) { + build.add_inputs("", &self.package_json_and_lock); + build.add_inputs("yarn", inputs![":yarn:bin"]); + build.add_outputs("out", vec!["node_modules/.marker"]); + for (key, value) in &self.exports { + let outputs: Vec<_> = value.iter().map(|o| format!("node_modules/{o}")).collect(); + build.add_outputs_ext(*key, outputs, true); + } + } + + fn check_output_timestamps(&self) -> bool { + true + } +} + +fn with_cmd_ext(bin: &str) -> Cow { + if cfg!(windows) { + format!("{bin}.cmd").into() + } else { + bin.into() + } +} + +pub fn setup_node( + build: &mut Build, + archive: OnlineArchive, + binary_exports: &[&'static str], + mut data_exports: HashMap<&str, Vec>>, +) -> Result<()> { + download_and_extract( + build, + "node", + archive, + hashmap! { + "bin" => vec![if cfg!(windows) { "node.exe" } else { "bin/node" }], + "npm" => vec![if cfg!(windows) { "npm.cmd " } else { "bin/npm" }] + }, + )?; + build.add("yarn", YarnSetup {})?; + + for binary in binary_exports { + data_exports.insert( + *binary, + vec![format!(".bin/{}", with_cmd_ext(binary)).into()], + ); + } + build.add( + "node_modules", + YarnInstall { + package_json_and_lock: inputs!["yarn.lock", "package.json"], + exports: data_exports, + }, + )?; + Ok(()) +} + +pub struct EsbuildScript<'a> { + pub script: BuildInput, + pub entrypoint: BuildInput, + pub deps: BuildInput, + /// .js will be appended, and any extra extensions + pub output_stem: &'a str, + /// eg ['.css', '.html'] + pub extra_exts: &'a [&'a str], +} + +impl BuildAction for EsbuildScript<'_> { + fn command(&self) -> &str { + "$node_bin $script $entrypoint $out" + } + + fn files(&mut self, build: &mut impl build::FilesHandle) { + build.add_inputs("node_bin", inputs![":extract:node:bin"]); + build.add_inputs("script", &self.script); + build.add_inputs("entrypoint", &self.entrypoint); + build.add_inputs("", inputs!["yarn.lock", ":node_modules", &self.deps]); + let stem = self.output_stem; + let mut outs = vec![format!("{stem}.js")]; + outs.extend(self.extra_exts.iter().map(|ext| format!("{stem}.{ext}"))); + build.add_outputs("out", outs); + } +} + +pub struct DPrint { + pub inputs: BuildInput, + pub check_only: bool, +} + +impl BuildAction for DPrint { + fn command(&self) -> &str { + "$dprint $mode" + } + + fn files(&mut self, build: &mut impl build::FilesHandle) { + build.add_inputs("dprint", inputs![":node_modules:dprint"]); + build.add_inputs("", &self.inputs); + let mode = if self.check_only { "check" } else { "fmt" }; + build.add_variable("mode", mode); + build.add_output_stamp(format!("tests/dprint.{mode}")); + } +} + +pub struct SvelteCheck { + pub tsconfig: BuildInput, + pub inputs: BuildInput, +} + +impl BuildAction for SvelteCheck { + fn command(&self) -> &str { + "$svelte-check --tsconfig $tsconfig $ + --fail-on-warnings --threshold warning --use-new-transformation" + } + + fn files(&mut self, build: &mut impl build::FilesHandle) { + build.add_inputs("svelte-check", inputs![":node_modules:svelte-check"]); + build.add_inputs("tsconfig", &self.tsconfig); + build.add_inputs("", &self.inputs); + build.add_inputs("", inputs!["yarn.lock"]); + let hash = simple_hash(&self.tsconfig); + build.add_output_stamp(format!("tests/svelte-check.{hash}")); + } +} + +pub struct TypescriptCheck { + pub tsconfig: BuildInput, + pub inputs: BuildInput, +} + +impl BuildAction for TypescriptCheck { + fn command(&self) -> &str { + "$tsc --noEmit -p $tsconfig" + } + + fn files(&mut self, build: &mut impl build::FilesHandle) { + build.add_inputs("tsc", inputs![":node_modules:tsc"]); + build.add_inputs("tsconfig", &self.tsconfig); + build.add_inputs("", &self.inputs); + build.add_inputs("", inputs!["yarn.lock"]); + let hash = simple_hash(&self.tsconfig); + build.add_output_stamp(format!("tests/typescript.{hash}")); + } +} + +pub struct Eslint<'a> { + pub folder: &'a str, + pub inputs: BuildInput, + pub eslint_rc: BuildInput, + pub fix: bool, +} + +impl BuildAction for Eslint<'_> { + fn command(&self) -> &str { + "$eslint --max-warnings=0 -c $eslint_rc $fix $folder" + } + + fn files(&mut self, build: &mut impl build::FilesHandle) { + build.add_inputs("eslint", inputs![":node_modules:eslint"]); + build.add_inputs("eslint_rc", &self.eslint_rc); + build.add_inputs("in", &self.inputs); + build.add_inputs("", inputs!["yarn.lock"]); + build.add_variable("fix", if self.fix { "--fix" } else { "" }); + build.add_variable("folder", self.folder); + let hash = simple_hash(self.folder); + let kind = if self.fix { "fix" } else { "check" }; + build.add_output_stamp(format!("tests/eslint.{kind}.{hash}")); + } +} + +pub struct JestTest<'a> { + pub folder: &'a str, + pub deps: BuildInput, + pub jest_rc: BuildInput, + pub jsdom: bool, +} + +impl BuildAction for JestTest<'_> { + fn command(&self) -> &str { + "$jest --config $config $env $folder" + } + + fn files(&mut self, build: &mut impl build::FilesHandle) { + build.add_inputs("jest", inputs![":node_modules:jest"]); + build.add_inputs("", &self.deps); + build.add_inputs("config", &self.jest_rc); + build.add_variable("env", if self.jsdom { "--env=jsdom" } else { "" }); + build.add_variable("folder", self.folder); + let hash = simple_hash(self.folder); + build.add_output_stamp(format!("tests/jest.{hash}")); + } +} + +pub struct SqlFormat { + pub inputs: BuildInput, + pub check_only: bool, +} + +impl BuildAction for SqlFormat { + fn command(&self) -> &str { + "$tsx $sql_format $mode $in" + } + + fn files(&mut self, build: &mut impl build::FilesHandle) { + build.add_inputs("tsx", inputs![":node_modules:tsx"]); + build.add_inputs("sql_format", inputs!["ts/sql_format/sql_format.ts"]); + build.add_inputs("in", &self.inputs); + let mode = if self.check_only { "check" } else { "fix" }; + build.add_variable("mode", mode); + build.add_output_stamp(format!("tests/sql_format.{mode}")); + } +} + +pub struct GenTypescriptProto { + pub protos: BuildInput, + /// .js and .d.ts will be added to it + pub output_stem: &'static str, +} + +impl BuildAction for GenTypescriptProto { + fn command(&self) -> &str { + "$pbjs --target=static-module --wrap=default --force-number --force-message --out=$static $in && $ + $pbjs --target=json-module --wrap=default --force-number --force-message --out=$js $in && $ + $pbts --out=$dts $static && $ + rm $static" + } + + fn files(&mut self, build: &mut impl build::FilesHandle) { + build.add_inputs("pbjs", inputs![":node_modules:pbjs"]); + build.add_inputs("pbts", inputs![":node_modules:pbts"]); + build.add_inputs("in", &self.protos); + build.add_inputs("", inputs!["yarn.lock"]); + + let stem = self.output_stem; + build.add_variable("static", format!("$builddir/{stem}_static.js")); + build.add_outputs("js", vec![format!("{stem}.js")]); + build.add_outputs("dts", vec![format!("{stem}.d.ts")]); + } +} + +pub struct CompileSass<'a> { + pub input: BuildInput, + pub output: &'a str, + pub deps: BuildInput, + pub load_paths: Vec<&'a str>, +} + +impl BuildAction for CompileSass<'_> { + fn command(&self) -> &str { + "$sass -s compressed $args $in -- $out" + } + + fn files(&mut self, build: &mut impl build::FilesHandle) { + build.add_inputs("sass", inputs![":node_modules:sass"]); + build.add_inputs("in", &self.input); + build.add_inputs("", &self.deps); + + let args = space_separated(self.load_paths.iter().map(|path| format!("-I {path}"))); + build.add_variable("args", args); + + build.add_outputs("out", vec![self.output]); + } +} diff --git a/build/ninja_gen/src/protobuf.rs b/build/ninja_gen/src/protobuf.rs new file mode 100644 index 000000000..1b7496609 --- /dev/null +++ b/build/ninja_gen/src/protobuf.rs @@ -0,0 +1,104 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use maplit::hashmap; + +use crate::{ + action::BuildAction, + archives::{download_and_extract, with_exe, OnlineArchive, Platform}, + hash::simple_hash, + input::BuildInput, + inputs, +}; + +pub fn protoc_archive(platform: Platform) -> OnlineArchive { + match platform { + Platform::LinuxX64 => { + OnlineArchive { + url: "https://github.com/protocolbuffers/protobuf/releases/download/v21.8/protoc-21.8-linux-x86_64.zip", + sha256: "f90d0dd59065fef94374745627336d622702b67f0319f96cee894d41a974d47a", + } + } + Platform::LinuxArm => { + OnlineArchive { + url: "https://github.com/protocolbuffers/protobuf/releases/download/v21.8/protoc-21.8-linux-aarch_64.zip", + sha256: "f3d8eb5839d6186392d8c7b54fbeabbb6fcdd90618a500b77cb2e24faa245cad", + } + } + Platform::MacX64 | Platform::MacArm => { + OnlineArchive { + url: "https://github.com/protocolbuffers/protobuf/releases/download/v21.8/protoc-21.8-osx-universal_binary.zip", + sha256: "e3324d3bc2e9bc967a0bec2472e0ec73b26f952c7c87f2403197414f780c3c6c", + } + } + Platform::WindowsX64 => { + OnlineArchive { + url: "https://github.com/protocolbuffers/protobuf/releases/download/v21.8/protoc-21.8-win64.zip", + sha256: "3657053024faa439ff5f8c1dd2ee06bac0f9b9a3d660e99944f015a7451e87ec", + } + } + } +} + +fn clang_format_archive(platform: Platform) -> OnlineArchive { + match platform { + Platform::LinuxX64 => { + OnlineArchive { + url: "https://github.com/ankitects/clang-format-binaries/releases/download/anki-2021-01-09/clang-format_linux_x86_64.zip", + sha256: "64060bc4dbca30d0d96aab9344e2783008b16e1cae019a2532f1126ca5ec5449", + } + } + Platform::LinuxArm => { + // todo: replace with arm64 binary + OnlineArchive { + url: "https://github.com/ankitects/clang-format-binaries/releases/download/anki-2021-01-09/clang-format_linux_x86_64.zip", + sha256: "64060bc4dbca30d0d96aab9344e2783008b16e1cae019a2532f1126ca5ec5449", + } + } + Platform::MacX64 | Platform::MacArm => { + OnlineArchive { + url: "https://github.com/ankitects/clang-format-binaries/releases/download/anki-2021-01-09/clang-format_macos_x86_64.zip", + sha256: "238be68d9478163a945754f06a213483473044f5a004c4125d3d9d8d3556466e", + } + } + Platform::WindowsX64 => { + OnlineArchive { + url: "https://github.com/ankitects/clang-format-binaries/releases/download/anki-2021-01-09/clang-format_windows_x86_64.zip", + sha256: "7d9f6915e3f0fb72407830f0fc37141308d2e6915daba72987a52f309fbeaccc", + } + } + } +} +pub struct ClangFormat { + pub inputs: BuildInput, + pub check_only: bool, +} + +impl BuildAction for ClangFormat { + fn command(&self) -> &str { + "$clang-format --style=google $args $in" + } + fn files(&mut self, build: &mut impl crate::build::FilesHandle) { + build.add_inputs("clang-format", inputs![":extract:clang-format:bin"]); + build.add_inputs("in", &self.inputs); + let (args, mode) = if self.check_only { + ("--dry-run -ferror-limit=1 -Werror", "check") + } else { + ("-i", "fix") + }; + build.add_variable("args", args); + let hash = simple_hash(&self.inputs); + build.add_output_stamp(format!("tests/clang-format.{mode}.{hash}")); + } + fn on_first_instance(&self, build: &mut crate::Build) -> crate::Result<()> { + let binary = with_exe("clang-format"); + download_and_extract( + build, + "clang-format", + clang_format_archive(build.host_platform), + hashmap! { + "bin" => [binary] + }, + ) + } +} diff --git a/build/ninja_gen/src/python.rs b/build/ninja_gen/src/python.rs new file mode 100644 index 000000000..1aa6f3907 --- /dev/null +++ b/build/ninja_gen/src/python.rs @@ -0,0 +1,174 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use crate::{action::BuildAction, hash::simple_hash, input::BuildInput, inputs, Build, Result}; + +pub struct PythonEnvironment<'a> { + pub folder: &'static str, + pub base_requirements_txt: BuildInput, + pub requirements_txt: BuildInput, + pub python_binary: &'a BuildInput, + pub extra_binary_exports: &'static [&'static str], +} + +impl BuildAction for PythonEnvironment<'_> { + fn command(&self) -> &str { + "$runner pyenv $python_binary $builddir/$pyenv_folder $system_pkgs $base_requirements $requirements" + } + + fn files(&mut self, build: &mut impl crate::build::FilesHandle) { + let bin_path = |binary: &str| -> Vec { + let folder = self.folder; + let path = if cfg!(windows) { + format!("{folder}/scripts/{binary}.exe") + } else { + format!("{folder}/bin/{binary}") + }; + vec![path] + }; + + build.add_inputs("python_binary", self.python_binary); + build.add_inputs("base_requirements", &self.base_requirements_txt); + build.add_inputs("requirements", &self.requirements_txt); + build.add_variable("pyenv_folder", self.folder); + build.add_outputs_ext("bin", bin_path("python"), true); + build.add_outputs_ext("pip", bin_path("pip"), true); + for binary in self.extra_binary_exports { + build.add_outputs_ext(*binary, bin_path(binary), true); + } + } + + fn check_output_timestamps(&self) -> bool { + true + } +} + +pub struct PythonTypecheck { + pub folders: &'static [&'static str], + pub deps: BuildInput, +} + +impl BuildAction for PythonTypecheck { + fn command(&self) -> &str { + "$mypy $folders" + } + + fn files(&mut self, build: &mut impl crate::build::FilesHandle) { + build.add_inputs("", &self.deps); + build.add_inputs("mypy", inputs![":pyenv:mypy"]); + build.add_inputs("", inputs![".mypy.ini"]); + build.add_variable("folders", self.folders.join(" ")); + + let hash = simple_hash(self.folders); + build.add_output_stamp(format!("tests/python_typecheck.{hash}")); + } +} + +struct PythonFormat<'a> { + pub inputs: &'a BuildInput, + pub check_only: bool, + pub isort_ini: &'a BuildInput, +} + +impl BuildAction for PythonFormat<'_> { + fn command(&self) -> &str { + "$black -t py39 -q $check --color $in && $ + $isort --color --settings-path $isort_ini $check $in" + } + + fn files(&mut self, build: &mut impl crate::build::FilesHandle) { + build.add_inputs("in", self.inputs); + build.add_inputs("black", inputs![":pyenv:black"]); + build.add_inputs("isort", inputs![":pyenv:isort"]); + + let hash = simple_hash(self.inputs); + build.add_env_var("BLACK_CACHE_DIR", "out/python/black.cache.{hash}"); + build.add_inputs("isort_ini", self.isort_ini); + build.add_variable( + "check", + if self.check_only { + "--diff --check" + } else { + "" + }, + ); + + build.add_output_stamp(format!( + "tests/python_format.{}.{hash}", + if self.check_only { "check" } else { "fix" } + )); + } +} + +pub fn python_format(build: &mut Build, group: &str, inputs: BuildInput) -> Result<()> { + let isort_ini = &inputs![".isort.cfg"]; + build.add( + &format!("check:format:python:{group}"), + PythonFormat { + inputs: &inputs, + check_only: true, + isort_ini, + }, + )?; + + build.add( + &format!("format:python:{group}"), + PythonFormat { + inputs: &inputs, + check_only: false, + isort_ini, + }, + )?; + Ok(()) +} + +pub struct PythonLint { + pub folders: &'static [&'static str], + pub pylint_ini: BuildInput, + pub deps: BuildInput, +} + +impl BuildAction for PythonLint { + fn command(&self) -> &str { + "$pylint --rcfile $pylint_ini -sn -j $cpus $folders" + } + + fn files(&mut self, build: &mut impl crate::build::FilesHandle) { + build.add_inputs("", &self.deps); + build.add_inputs("pylint", inputs![":pyenv:pylint"]); + build.add_inputs("pylint_ini", &self.pylint_ini); + build.add_variable("folders", self.folders.join(" ")); + // On a 16 core system, values above 10 do not improve wall clock time, + // but waste extra cores that could be working on other tests. + build.add_variable("cpus", num_cpus::get().min(10).to_string()); + + let hash = simple_hash(&self.deps); + build.add_output_stamp(format!("tests/python_lint.{hash}")); + } +} + +pub struct PythonTest { + pub folder: &'static str, + pub python_path: &'static [&'static str], + pub deps: BuildInput, +} + +impl BuildAction for PythonTest { + fn command(&self) -> &str { + "$pytest -p no:cacheprovider $folder" + } + + fn files(&mut self, build: &mut impl crate::build::FilesHandle) { + build.add_inputs("", &self.deps); + build.add_inputs("pytest", inputs![":pyenv:pytest"]); + build.add_variable("folder", self.folder); + build.add_variable( + "pythonpath", + &self.python_path.join(if cfg!(windows) { ";" } else { ":" }), + ); + build.add_env_var("PYTHONPATH", "$pythonpath"); + build.add_env_var("ANKI_TEST_MODE", "1"); + let hash = simple_hash(self.folder); + build.add_output_stamp(format!("tests/python_pytest.{hash}")); + } +} diff --git a/build/ninja_gen/src/render.rs b/build/ninja_gen/src/render.rs new file mode 100644 index 000000000..eb7cda279 --- /dev/null +++ b/build/ninja_gen/src/render.rs @@ -0,0 +1,67 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{fmt::Write, fs::read_to_string}; + +use crate::{archives::with_exe, input::space_separated, Build}; + +impl Build { + pub fn render(&self) -> String { + let mut buf = String::new(); + + writeln!( + &mut buf, + "# This file is automatically generated by configure.rs. Any edits will be lost.\n" + ) + .unwrap(); + + writeln!(&mut buf, "builddir = {}", self.buildroot.as_str()).unwrap(); + writeln!( + &mut buf, + "runner = $builddir/rust/debug/{}", + with_exe("runner") + ) + .unwrap(); + + for (key, value) in &self.variables { + writeln!(&mut buf, "{} = {}", key, value).unwrap(); + } + buf.push('\n'); + + for (key, value) in &self.pools { + writeln!(&mut buf, "pool {}\n depth = {}", key, value).unwrap(); + } + buf.push('\n'); + + buf.push_str(&self.output_text); + + for (group, targets) in &self.groups { + let group = group.replace(':', "_"); + writeln!( + &mut buf, + "build {group}: phony {}", + space_separated(targets) + ) + .unwrap(); + buf.push('\n'); + } + + buf.push_str(&self.trailing_text); + + buf + } + + pub fn write_build_file(&self) { + let existing_contents = read_to_string("build.ninja").unwrap_or_default(); + let new_contents = self.render(); + if existing_contents != new_contents { + let folder = &self.buildroot; + if !folder.exists() { + std::fs::create_dir_all(folder).expect("create build dir"); + } + std::fs::write(folder.join("build.ninja"), new_contents).expect("write build.ninja"); + } + + // dbg!(&self.groups); + } +} diff --git a/build/ninja_gen/src/rsync.rs b/build/ninja_gen/src/rsync.rs new file mode 100644 index 000000000..ac575330e --- /dev/null +++ b/build/ninja_gen/src/rsync.rs @@ -0,0 +1,70 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use camino::Utf8Path; + +use crate::{ + action::BuildAction, + build::FilesHandle, + input::{space_separated, BuildInput}, +}; + +/// Rsync the provided inputs into `output_folder`, preserving directory structure, +/// eg foo/bar.js -> out/$target_folder/foo/bar.js. `strip_prefix` can be used to +/// remove a portion of the the path when copying. If the input files are from previous +/// build outputs, the prefix should begin with `$builddir/`. +pub struct RsyncFiles<'a> { + pub inputs: BuildInput, + pub target_folder: &'a str, + pub strip_prefix: &'static str, + pub extra_args: &'a str, +} + +impl BuildAction for RsyncFiles<'_> { + fn command(&self) -> &str { + "$runner rsync $extra_args --prefix $stripped_prefix --inputs $inputs_without_prefix --output-dir $builddir/$output_folder" + } + + fn files(&mut self, build: &mut impl FilesHandle) { + let inputs = build.expand_inputs(&self.inputs); + build.add_inputs_vec("", inputs.clone()); + let output_folder = Utf8Path::new(self.target_folder); + let (prefix, inputs_without_prefix) = if self.strip_prefix.is_empty() { + (".", inputs) + } else { + let stripped_inputs = inputs + .iter() + .map(|p| { + Utf8Path::new(p) + .strip_prefix(self.strip_prefix) + .unwrap_or_else(|_| { + panic!("expected {} to start with {}", p, self.strip_prefix) + }) + .to_string() + }) + .collect(); + (self.strip_prefix, stripped_inputs) + }; + build.add_variable( + "inputs_without_prefix", + space_separated(&inputs_without_prefix), + ); + build.add_variable("stripped_prefix", prefix); + build.add_variable("output_folder", self.target_folder); + if !self.extra_args.is_empty() { + build.add_variable( + "extra_args", + format!("--extra-args {}", self.extra_args.replace(' ', ",")), + ); + } + + let outputs = inputs_without_prefix + .iter() + .map(|p| output_folder.join(p).to_string()); + build.add_outputs("", outputs); + } + + fn check_output_timestamps(&self) -> bool { + true + } +} diff --git a/build/ninja_gen/src/sass.rs b/build/ninja_gen/src/sass.rs new file mode 100644 index 000000000..115ef8eaf --- /dev/null +++ b/build/ninja_gen/src/sass.rs @@ -0,0 +1,43 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use crate::{ + action::BuildAction, + cargo::CargoInstall, + input::{space_separated, BuildInput}, + inputs, Build, Result, +}; + +pub struct CompileSassWithGrass { + pub input: BuildInput, + pub output: &'static str, + pub deps: BuildInput, + pub load_paths: Vec<&'static str>, +} + +impl BuildAction for CompileSassWithGrass { + fn command(&self) -> &str { + "$grass $args -s compressed $in -- $out" + } + + fn files(&mut self, build: &mut impl crate::build::FilesHandle) { + let args = space_separated(self.load_paths.iter().map(|path| format!("-I {path}"))); + + build.add_inputs("grass", inputs![":grass"]); + build.add_inputs("in", &self.input); + build.add_inputs("", &self.deps); + build.add_variable("args", args); + build.add_outputs("out", vec![self.output]); + } + + fn on_first_instance(&self, build: &mut Build) -> Result<()> { + build.add( + "grass", + CargoInstall { + binary_name: "grass", + args: "grass --version 0.11.2", + }, + )?; + Ok(()) + } +} diff --git a/build/runner/Cargo.toml b/build/runner/Cargo.toml new file mode 100644 index 000000000..432b45d94 --- /dev/null +++ b/build/runner/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "runner" + +version.workspace = true +authors.workspace = true +license.workspace = true +edition.workspace = true +rust-version.workspace = true + +[dependencies] +camino = "1.1.1" +clap = { version = "4.0.25", features = ["derive"] } +junction = "0.2.0" +termcolor = "1.1.3" +workspace-hack = { version = "0.1", path = "../../tools/workspace-hack" } diff --git a/build/runner/build.rs b/build/runner/build.rs new file mode 100644 index 000000000..80910ec60 --- /dev/null +++ b/build/runner/build.rs @@ -0,0 +1,13 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +fn main() { + println!( + "cargo:rustc-env=TARGET={}", + if std::env::var("MAC_X86").is_ok() { + "x86_64-apple-darwin".into() + } else { + std::env::var("TARGET").unwrap() + } + ); +} diff --git a/build/runner/src/build.rs b/build/runner/src/build.rs new file mode 100644 index 000000000..c3320a39e --- /dev/null +++ b/build/runner/src/build.rs @@ -0,0 +1,173 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{env, fs, io::Write, process::Command}; + +use camino::Utf8Path; +use clap::Args; +use termcolor::{Color, ColorChoice, ColorSpec, StandardStream, WriteColor}; + +#[derive(Args)] +pub struct BuildArgs { + #[arg(trailing_var_arg = true)] + args: Vec, +} + +pub fn run_build(args: BuildArgs) { + let build_root = setup_build_root(); + + let path = if cfg!(windows) { + format!( + "out\\bin;out\\extracted\\node;{};\\msys64\\usr\\bin", + env::var("PATH").unwrap() + ) + } else { + format!( + "out/bin:out/extracted/node/bin:{}", + env::var("PATH").unwrap() + ) + }; + + maybe_update_env_file(build_root); + maybe_update_buildhash(build_root, &path); + + // Ensure build file is up to date + let build_file = build_root.join("build.ninja"); + if !build_file.exists() { + bootstrap_build(); + } else { + maybe_reconfigure_build(&build_file, &path); + } + + // automatically convert foo:bar references to foo_bar, as Ninja can not represent the former + let ninja_args = args.args.into_iter().map(|a| a.replace(':', "_")); + + let mut command = Command::new("ninja"); + command + .arg("-f") + .arg(&build_file) + .args(ninja_args) + .env("NINJA_STATUS", "[%f/%t; %r active; %es] ") + .env("PATH", path) + .env( + "MYPY_CACHE_DIR", + build_root.join("tests").join("mypy").into_string(), + ) + .env("PYTHONPYCACHEPREFIX", build_root.join("pycache")) + // commands will not show colors by default, as we do not provide a tty + .env("FORCE_COLOR", "1") + .env("MYPY_FORCE_COLOR", "1") + .env("TERM", "1") + // Prevents 'Warn: You must provide the URL of lib/mappings.wasm'. + // Updating svelte-check or its deps will likely remove the need for it. + .env("NODE_OPTIONS", "--no-experimental-fetch"); + + // run build + let status = command.status().expect("ninja not installed"); + let mut stdout = StandardStream::stdout(ColorChoice::Always); + if status.success() { + stdout + .set_color(ColorSpec::new().set_fg(Some(Color::Green)).set_bold(true)) + .unwrap(); + writeln!(&mut stdout, "\nBuild succeeded.").unwrap(); + stdout.reset().unwrap(); + } else { + stdout + .set_color(ColorSpec::new().set_fg(Some(Color::Red)).set_bold(true)) + .unwrap(); + writeln!(&mut stdout, "\nBuild failed.").unwrap(); + stdout.reset().unwrap(); + + // One cause of build failures is when a source file that was included in a glob is + // removed. Automatically reconfigure on next run so this situation resolves itself. + fs::remove_file(build_file).expect("build file removal"); + + std::process::exit(1); + } +} + +fn setup_build_root() -> &'static Utf8Path { + let build_root = Utf8Path::new("out"); + + #[cfg(unix)] + if let Ok(new_target) = env::var("BUILD_ROOT").map(camino::Utf8PathBuf::from) { + let create = if let Ok(existing_target) = build_root.read_link_utf8() { + if existing_target != new_target { + fs::remove_file(build_root).unwrap(); + true + } else { + false + } + } else { + true + }; + if create { + println!("Switching build root to {}", new_target); + std::os::unix::fs::symlink(new_target, build_root).unwrap(); + } + } + + fs::create_dir_all(build_root).unwrap(); + + build_root +} + +fn maybe_reconfigure_build(build_file: &Utf8Path, path: &str) { + let output = Command::new("ninja") + .arg("-f") + .arg(build_file) + .arg("build_run_configure") + .env("PATH", path) + .output() + .expect("ninja installed"); + if !output.status.success() { + // The existing build.ninja may be invalid if files have been renamed/removed; + // resort to a slower cargo invocation instead to regenerate it. + bootstrap_build(); + } +} + +fn bootstrap_build() { + let status = Command::new("cargo") + .args(["run", "-p", "configure"]) + .status(); + assert!(status.expect("ninja").success()); +} + +fn maybe_update_buildhash(build_root: &Utf8Path, path_env: &str) { + // only updated on release builds + let path = build_root.join("buildhash"); + if env::var("RELEASE").is_ok() || !path.exists() { + write_if_changed(&path, &get_buildhash(path_env)) + } +} + +fn get_buildhash(path: &str) -> String { + let output = Command::new("git") + .args(["rev-parse", "--short=8", "HEAD"]) + .env("PATH", path) + .output() + .expect("git"); + assert!(output.status.success(), "git failed"); + String::from_utf8(output.stdout).unwrap().trim().into() +} + +fn write_if_changed(path: &Utf8Path, contents: &str) { + if let Ok(old_contents) = fs::read_to_string(path) { + if old_contents == contents { + return; + } + } + fs::write(path, contents).unwrap(); +} + +/// Trigger reconfigure when our env vars change +fn maybe_update_env_file(build_root: &Utf8Path) { + let env_file = build_root.join("env"); + let build_root_env = env::var("BUILD_ROOT").unwrap_or_default(); + let release = env::var("RELEASE").unwrap_or_default(); + let other_watched_env = env::var("RECONFIGURE_KEY").unwrap_or_default(); + let current_env = format!("{build_root_env};{release};{other_watched_env}"); + + write_if_changed(&env_file, ¤t_env); +} diff --git a/build/runner/src/bundle/artifacts.rs b/build/runner/src/bundle/artifacts.rs new file mode 100644 index 000000000..9de0f317e --- /dev/null +++ b/build/runner/src/bundle/artifacts.rs @@ -0,0 +1,55 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{env, fs, process::Command}; + +use camino::Utf8PathBuf; +use clap::Args; + +use crate::run::run_silent; + +#[derive(Args, Debug)] +pub struct BuildArtifactsArgs { + bundle_root: Utf8PathBuf, + pyoxidizer_bin: String, +} + +pub fn build_artifacts(args: BuildArtifactsArgs) { + // build.rs doesn't declare inputs from venv, so we need to force a rebuild to ensure + // changes to our libs/the venv get included + let artifacts = args.bundle_root.join("artifacts"); + if artifacts.exists() { + fs::remove_dir_all(&artifacts).unwrap(); + } + let bundle_root = args.bundle_root.canonicalize_utf8().unwrap(); + + run_silent( + Command::new(&args.pyoxidizer_bin) + .args([ + "--system-rust", + "run-build-script", + "qt/bundle/build.rs", + "--var", + "venv", + "out/bundle/pyenv", + "--var", + "build", + bundle_root.join("build").as_str(), + ]) + .env("CARGO_MANIFEST_DIR", "qt/bundle") + .env("CARGO_TARGET_DIR", "out/bundle/rust") + .env("PROFILE", "release") + .env("OUT_DIR", &artifacts) + .env("TARGET", env!("TARGET")) + .env("MACOSX_DEPLOYMENT_TARGET", macos_deployment_target()) + .env("CARGO_BUILD_TARGET", env!("TARGET")), + ); +} + +pub fn macos_deployment_target() -> &'static str { + if env!("TARGET") == "x86_64-apple-darwin" { + "10.13.4" + } else { + "11" + } +} diff --git a/build/runner/src/bundle/binary.rs b/build/runner/src/bundle/binary.rs new file mode 100644 index 000000000..fc63489ad --- /dev/null +++ b/build/runner/src/bundle/binary.rs @@ -0,0 +1,41 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::process::Command; + +use camino::Utf8Path; + +use super::artifacts::macos_deployment_target; +use crate::run::run_silent; + +pub fn build_bundle_binary() { + let mut features = String::from("build-mode-prebuilt-artifacts"); + if cfg!(target_os = "linux") || (cfg!(target_os = "macos") && cfg!(target_arch = "aarch64")) { + features.push_str(",global-allocator-jemalloc,allocator-jemalloc"); + } + + let mut command = Command::new("cargo"); + command + .args([ + "build", + "--manifest-path=qt/bundle/Cargo.toml", + "--target-dir=out/bundle/rust", + "--release", + "--no-default-features", + ]) + .arg(format!("--features={features}")) + .env( + "DEFAULT_PYTHON_CONFIG_RS", + // included in main.rs, so relative to qt/bundle/src + "../../../out/bundle/artifacts/", + ) + .env( + "PYO3_CONFIG_FILE", + Utf8Path::new("out/bundle/artifacts/pyo3-build-config-file.txt") + .canonicalize_utf8() + .unwrap(), + ) + .env("MACOSX_DEPLOYMENT_TARGET", macos_deployment_target()) + .env("CARGO_BUILD_TARGET", env!("TARGET")); + run_silent(&mut command); +} diff --git a/build/runner/src/bundle/folder.rs b/build/runner/src/bundle/folder.rs new file mode 100644 index 000000000..ef32627ff --- /dev/null +++ b/build/runner/src/bundle/folder.rs @@ -0,0 +1,143 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{env, fs, process::Command}; + +use camino::{Utf8Path, Utf8PathBuf}; +use clap::{Args, ValueEnum}; + +use crate::{ + paths::{absolute_msys_path, unix_path}, + run::run_silent, +}; + +#[derive(Clone, Copy, ValueEnum, Debug)] +enum DistKind { + Standard, + Alternate, +} + +#[derive(Args, Debug)] +pub struct BuildDistFolderArgs { + kind: DistKind, + folder_root: Utf8PathBuf, +} + +pub fn build_dist_folder(args: BuildDistFolderArgs) { + let BuildDistFolderArgs { kind, folder_root } = args; + fs::create_dir_all(&folder_root).unwrap(); + // Start with Qt, as it's the largest, and we use --delete to ensure there are no + // stale files in lib/. Skipped on macOS as Qt is handled later. + if !cfg!(target_os = "macos") { + copy_qt_from_venv(kind, &folder_root); + } + clean_top_level_files(&folder_root); + copy_binary_and_pylibs(&folder_root); + if cfg!(target_os = "linux") { + copy_linux_extras(kind, &folder_root); + } else if cfg!(windows) { + copy_windows_extras(&folder_root); + } + fs::write(folder_root.with_extension("stamp"), b"").unwrap(); +} + +fn copy_qt_from_venv(kind: DistKind, folder_root: &Utf8Path) { + let python39 = if cfg!(windows) { "" } else { "python3.9/" }; + let qt_root = match kind { + DistKind::Standard => { + folder_root.join(format!("../pyenv/lib/{python39}site-packages/PyQt6")) + } + DistKind::Alternate => { + folder_root.join(format!("../pyenv-qt5/lib/{python39}site-packages/PyQt5")) + } + }; + let src_path = absolute_msys_path(&qt_root); + let lib_path = folder_root.join("lib"); + fs::create_dir_all(&lib_path).unwrap(); + let dst_path = with_slash(absolute_msys_path(&lib_path)); + run_silent(Command::new("rsync").args([ + "-a", + "--delete", + "--exclude-from", + "qt/bundle/qt.exclude", + &src_path, + &dst_path, + ])); +} + +fn copy_linux_extras(kind: DistKind, folder_root: &Utf8Path) { + // add README, installer, etc + run_silent(Command::new("rsync").args(["-a", "qt/bundle/lin/", &with_slash(folder_root)])); + + // add extra IME plugins from download + let lib_path = folder_root.join("lib"); + let src_path = folder_root + .join("../../extracted/linux_qt_plugins") + .join(match kind { + DistKind::Standard => "qt6", + DistKind::Alternate => "qt5", + }); + let dst_path = lib_path.join(match kind { + DistKind::Standard => "PyQt6/Qt6/plugins", + DistKind::Alternate => "PyQt5/Qt5/plugins", + }); + run_silent(Command::new("rsync").args(["-a", &with_slash(src_path), &with_slash(dst_path)])); +} + +fn copy_windows_extras(folder_root: &Utf8Path) { + run_silent(Command::new("rsync").args([ + "-a", + "out/extracted/win_amd64_audio/", + &with_slash(folder_root), + ])); +} + +fn clean_top_level_files(folder_root: &Utf8Path) { + let mut to_remove = vec![]; + for entry in std::fs::read_dir(folder_root).unwrap() { + let entry = entry.unwrap(); + if entry.file_name() == "lib" { + continue; + } else { + to_remove.push(entry.path()); + } + } + for path in to_remove { + if path.is_dir() { + std::fs::remove_dir_all(path).unwrap() + } else { + std::fs::remove_file(path).unwrap() + } + } +} + +fn with_slash

(path: P) -> String +where + P: AsRef, +{ + format!("{}/", path.as_ref()) +} + +fn copy_binary_and_pylibs(folder_root: &Utf8Path) { + let binary = folder_root + .join("../rust") + .join(env!("TARGET")) + .join("release") + .join(if cfg!(windows) { "anki.exe" } else { "anki" }); + let extra_files = folder_root + .join("../build") + .join(env!("TARGET")) + .join("release/resources/extra_files"); + run_silent(Command::new("rsync").args([ + "-a", + "--exclude", + "PyQt6", + // misleading, as it misses the GPL PyQt, and our Rust/JS + // dependencies + "--exclude", + "COPYING.txt", + &unix_path(&binary), + &with_slash(unix_path(&extra_files)), + &with_slash(unix_path(folder_root)), + ])); +} diff --git a/build/runner/src/bundle/mod.rs b/build/runner/src/bundle/mod.rs new file mode 100644 index 000000000..30a3608ab --- /dev/null +++ b/build/runner/src/bundle/mod.rs @@ -0,0 +1,6 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +pub mod artifacts; +pub mod binary; +pub mod folder; diff --git a/build/runner/src/main.rs b/build/runner/src/main.rs new file mode 100644 index 000000000..8bd94256a --- /dev/null +++ b/build/runner/src/main.rs @@ -0,0 +1,62 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +//! A helper for invoking one or more commands in a cross-platform way, +//! silencing their output when they succeed. Most build actions implicitly use +//! the 'run' command; we define separate commands for more complicated actions. + +mod build; +mod bundle; +mod paths; +mod pyenv; +mod rsync; +mod run; +mod yarn; + +use std::error::Error; + +use build::{run_build, BuildArgs}; +use bundle::{ + artifacts::{build_artifacts, BuildArtifactsArgs}, + binary::build_bundle_binary, + folder::{build_dist_folder, BuildDistFolderArgs}, +}; +// use bundle::{build_bundle_binary, build_dist_folder, BuildDistFolderArgs}; +use clap::{Parser, Subcommand}; +use pyenv::{setup_pyenv, PyenvArgs}; +use rsync::{rsync_files, RsyncArgs}; +use run::{run_commands, RunArgs}; +use yarn::{setup_yarn, YarnArgs}; + +pub type Result> = std::result::Result; + +#[derive(Parser)] +struct Cli { + #[command(subcommand)] + command: Command, +} + +#[derive(Subcommand)] +enum Command { + Pyenv(PyenvArgs), + Yarn(YarnArgs), + Rsync(RsyncArgs), + Run(RunArgs), + Build(BuildArgs), + BuildArtifacts(BuildArtifactsArgs), + BuildBundleBinary, + BuildDistFolder(BuildDistFolderArgs), +} + +fn main() { + match Cli::parse().command { + Command::Pyenv(args) => setup_pyenv(args), + Command::Run(args) => run_commands(args), + Command::Rsync(args) => rsync_files(args), + Command::Yarn(args) => setup_yarn(args), + Command::Build(args) => run_build(args), + Command::BuildArtifacts(args) => build_artifacts(args), + Command::BuildBundleBinary => build_bundle_binary(), + Command::BuildDistFolder(args) => build_dist_folder(args), + }; +} diff --git a/build/runner/src/paths.rs b/build/runner/src/paths.rs new file mode 100644 index 000000000..5d5ccc943 --- /dev/null +++ b/build/runner/src/paths.rs @@ -0,0 +1,23 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use camino::Utf8Path; + +/// On Unix, just a normal path. On Windows, c:\foo\bar.txt becomes /c/foo/bar.txt, +/// which msys rsync expects. +pub fn absolute_msys_path(path: &Utf8Path) -> String { + let path = path.canonicalize_utf8().unwrap().into_string(); + if !cfg!(windows) { + return path; + } + + // strip off \\? verbatim prefix, which things like rsync/ninja choke on + let drive = &path.chars().nth(4).unwrap(); + // and \ -> / + format!("/{drive}/{}", path[7..].replace('\\', "/")) +} + +/// Converts backslashes to forward slashes +pub fn unix_path(path: &Utf8Path) -> String { + path.as_str().replace('\\', "/") +} diff --git a/build/runner/src/pyenv.rs b/build/runner/src/pyenv.rs new file mode 100644 index 000000000..90f8c62fd --- /dev/null +++ b/build/runner/src/pyenv.rs @@ -0,0 +1,56 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::process::Command; + +use camino::Utf8Path; +use clap::Args; + +use crate::run::run_silent; + +#[derive(Args)] +pub struct PyenvArgs { + python_bin: String, + pyenv_folder: String, + initial_reqs: String, + reqs: Vec, + #[arg(long, allow_hyphen_values(true))] + venv_args: Vec, +} + +/// Set up a venv if one doesn't already exist, and then sync packages with provided requirements file. +pub fn setup_pyenv(args: PyenvArgs) { + let pyenv_folder = Utf8Path::new(&args.pyenv_folder); + + let pyenv_bin_folder = pyenv_folder.join(if cfg!(windows) { "scripts" } else { "bin" }); + let pyenv_python = pyenv_bin_folder.join("python"); + let pip_sync = pyenv_bin_folder.join("pip-sync"); + + if !pyenv_python.exists() { + run_silent( + Command::new(&args.python_bin) + .args(["-m", "venv"]) + .args(args.venv_args) + .arg(pyenv_folder), + ); + + if cfg!(windows) { + // the first install on Windows throws an error the first time pip is upgraded, so we install + // it twice and swallow the first error + let _output = Command::new(&pyenv_python) + .args(["-m", "pip", "install", "-r", &args.initial_reqs]) + .output() + .unwrap(); + } + + run_silent(Command::new(pyenv_python).args([ + "-m", + "pip", + "install", + "-r", + &args.initial_reqs, + ])); + } + + run_silent(Command::new(pip_sync).args(&args.reqs)); +} diff --git a/build/runner/src/rsync.rs b/build/runner/src/rsync.rs new file mode 100644 index 000000000..ffcd16a71 --- /dev/null +++ b/build/runner/src/rsync.rs @@ -0,0 +1,39 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::process::Command; + +use camino::Utf8Path; +use clap::Args; + +use crate::{paths::absolute_msys_path, run::run_silent}; + +#[derive(Args)] +pub struct RsyncArgs { + #[arg(long, value_delimiter(','), allow_hyphen_values(true))] + extra_args: Vec, + #[arg(long)] + prefix: String, + #[arg(long, required(true), num_args(..))] + inputs: Vec, + #[arg(long)] + output_dir: String, +} + +pub fn rsync_files(args: RsyncArgs) { + let output_dir = absolute_msys_path(Utf8Path::new(&args.output_dir)); + run_silent( + Command::new("rsync") + .current_dir(&args.prefix) + .arg("--relative") + .args(args.extra_args) + .args(args.inputs.iter().map(|i| { + if cfg!(windows) { + i.replace('\\', "/") + } else { + i.clone() + } + })) + .arg(output_dir), + ); +} diff --git a/build/runner/src/run.rs b/build/runner/src/run.rs new file mode 100644 index 000000000..3342ac0f2 --- /dev/null +++ b/build/runner/src/run.rs @@ -0,0 +1,90 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{ + io::ErrorKind, + process::{Command, Output}, +}; + +use clap::Args; + +#[derive(Args)] +pub struct RunArgs { + #[arg(long)] + stamp: Option, + #[arg(long, value_parser = split_env)] + env: Vec<(String, String)>, + #[arg(trailing_var_arg = true)] + args: Vec, +} + +/// Run one or more commands separated by `&&`, optionally stamping or setting +/// extra env vars. +pub fn run_commands(args: RunArgs) { + let commands = split_args(args.args); + for command in commands { + run_silent(&mut build_command(command, &args.env)); + } + if let Some(stamp_file) = args.stamp { + std::fs::write(stamp_file, b"").expect("unable to write stamp file"); + } +} + +fn split_env(s: &str) -> Result<(String, String), std::io::Error> { + if let Some((k, v)) = s.split_once('=') { + Ok((k.into(), v.into())) + } else { + Err(std::io::Error::new(ErrorKind::Other, "invalid env var")) + } +} + +fn build_command(command_and_args: Vec, env: &[(String, String)]) -> Command { + let mut command = Command::new(&command_and_args[0]); + command.args(&command_and_args[1..]); + for (k, v) in env { + command.env(k, v); + } + command +} + +/// If multiple commands have been provided separated by &&, split them up. +fn split_args(args: Vec) -> Vec> { + let mut commands = vec![]; + let mut current_command = vec![]; + for arg in args.into_iter() { + if arg == "&&" { + commands.push(current_command); + current_command = vec![]; + } else { + current_command.push(arg) + } + } + if !current_command.is_empty() { + commands.push(current_command) + } + commands +} + +/// Log stdout/stderr and exit if command failed; return output on success. +/// If OUTPUT_SUCCESS=1 is defined, output will be shown on success. +pub fn run_silent(command: &mut Command) -> Output { + let output = command + .output() + .unwrap_or_else(|e| panic!("failed to run command: {:?}: {e}", command)); + if !output.status.success() { + println!( + "Command failed: \n{}\n{}", + String::from_utf8_lossy(&output.stdout), + String::from_utf8_lossy(&output.stderr), + ); + std::process::exit(output.status.code().unwrap_or(1)); + } + if std::env::var("OUTPUT_SUCCESS").is_ok() { + println!( + "{}{}", + String::from_utf8_lossy(&output.stdout), + String::from_utf8_lossy(&output.stderr) + ); + } + output +} diff --git a/build/runner/src/yarn.rs b/build/runner/src/yarn.rs new file mode 100644 index 000000000..712731d4c --- /dev/null +++ b/build/runner/src/yarn.rs @@ -0,0 +1,50 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{path::Path, process::Command}; + +use clap::Args; + +use crate::run::run_silent; + +#[derive(Args)] +pub struct YarnArgs { + yarn_bin: String, + stamp: String, +} + +pub fn setup_yarn(args: YarnArgs) { + link_node_modules(); + + run_silent(Command::new(&args.yarn_bin).arg("install")); + + std::fs::write(args.stamp, b"").unwrap(); +} + +/// Unfortunately a lot of the node ecosystem expects the output folder to reside +/// in the repo root, so we need to link in our output folder. +#[cfg(not(windows))] +fn link_node_modules() { + let target = Path::new("node_modules"); + if target.exists() { + if !target.is_symlink() { + panic!("please remove the node_modules folder from the repo root"); + } + } else { + std::os::unix::fs::symlink("out/node_modules", target).unwrap(); + } +} + +/// Things are more complicated on Windows - having $root/node_modules point to $root/out/node_modules +/// breaks our globs for some reason, so we create the junction in the opposite direction instead. +/// Ninja will have already created some empty folders based on our declared outputs, so we move the +/// created folder into the root. +#[cfg(windows)] +fn link_node_modules() { + let target = Path::new("out/node_modules"); + let source = Path::new("node_modules"); + if !source.exists() { + std::fs::rename(target, source).unwrap(); + junction::create(source, target).unwrap() + } +} diff --git a/cargo/BUILD.bazel b/cargo/BUILD.bazel deleted file mode 100644 index 6d7c0ff13..000000000 --- a/cargo/BUILD.bazel +++ /dev/null @@ -1,635 +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 = "ammonia", - actual = "@raze__ammonia__3_2_1//:ammonia", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "async_trait", - actual = "@raze__async_trait__0_1_57//:async_trait", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "blake3", - actual = "@raze__blake3__1_3_1//:blake3", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "bytes", - actual = "@raze__bytes__1_2_1//:bytes", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "chrono", - actual = "@raze__chrono__0_4_22//:chrono", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "coarsetime", - actual = "@raze__coarsetime__0_1_22//:coarsetime", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "convert_case", - actual = "@raze__convert_case__0_6_0//:convert_case", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "csv", - actual = "@raze__csv__1_1_6//:csv", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "dissimilar", - actual = "@raze__dissimilar__1_0_4//:dissimilar", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "env_logger", - actual = "@raze__env_logger__0_9_1//:env_logger", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "flate2", - actual = "@raze__flate2__1_0_24//:flate2", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent", - actual = "@raze__fluent__0_16_0//:fluent", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent_bundle", - actual = "@raze__fluent_bundle__0_15_2//:fluent_bundle", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent_syntax", - actual = "@raze__fluent_syntax__0_11_0//:fluent_syntax", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fnv", - actual = "@raze__fnv__1_0_7//:fnv", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "futures", - actual = "@raze__futures__0_3_24//:futures", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "hex", - actual = "@raze__hex__0_4_3//:hex", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "htmlescape", - actual = "@raze__htmlescape__0_3_1//:htmlescape", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "id_tree", - actual = "@raze__id_tree__1_8_0//:id_tree", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "inflections", - actual = "@raze__inflections__1_1_1//:inflections", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "intl_memoizer", - actual = "@raze__intl_memoizer__0_5_1//:intl_memoizer", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "itertools", - actual = "@raze__itertools__0_10_5//:itertools", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "lazy_static", - actual = "@raze__lazy_static__1_4_0//:lazy_static", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "linkcheck", - actual = "@raze__linkcheck__0_4_1_alpha_0//:linkcheck", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "nom", - actual = "@raze__nom__7_1_1//:nom", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_cpus", - actual = "@raze__num_cpus__1_13_1//:num_cpus", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_enum", - actual = "@raze__num_enum__0_5_7//:num_enum", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_format", - actual = "@raze__num_format__0_4_0//:num_format", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_integer", - actual = "@raze__num_integer__0_1_45//:num_integer", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "once_cell", - actual = "@raze__once_cell__1_15_0//:once_cell", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pct_str", - actual = "@raze__pct_str__1_1_0//:pct_str", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "phf", - actual = "@raze__phf__0_11_1//:phf", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pin_project", - actual = "@raze__pin_project__1_0_12//:pin_project", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "proc_macro_nested", - actual = "@raze__proc_macro_nested__0_1_7//:proc_macro_nested", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "prost", - actual = "@raze__prost__0_11_0//:prost", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "prost_build", - actual = "@raze__prost_build__0_11_1//:prost_build", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pulldown_cmark", - actual = "@raze__pulldown_cmark__0_9_2//:pulldown_cmark", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pyo3", - actual = "@raze__pyo3__0_17_1//:pyo3", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "rand", - actual = "@raze__rand__0_8_5//:rand", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "regex", - actual = "@raze__regex__1_6_0//:regex", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "reqwest", - actual = "@raze__reqwest__0_11_3//:reqwest", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "rusqlite", - actual = "@raze__rusqlite__0_28_0//:rusqlite", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "scopeguard", - actual = "@raze__scopeguard__1_1_0//:scopeguard", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde", - actual = "@raze__serde__1_0_145//:serde", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_aux", - actual = "@raze__serde_aux__4_0_0//:serde_aux", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_derive", - actual = "@raze__serde_derive__1_0_145//:serde_derive", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_json", - actual = "@raze__serde_json__1_0_85//:serde_json", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_repr", - actual = "@raze__serde_repr__0_1_9//:serde_repr", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_tuple", - actual = "@raze__serde_tuple__0_5_0//:serde_tuple", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "sha1", - actual = "@raze__sha1__0_6_1//:sha1", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog", - actual = "@raze__slog__2_7_0//:slog", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_async", - actual = "@raze__slog_async__2_7_0//:slog_async", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_envlogger", - actual = "@raze__slog_envlogger__2_2_0//:slog_envlogger", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_term", - actual = "@raze__slog_term__2_9_0//:slog_term", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "snafu", - actual = "@raze__snafu__0_7_2//:snafu", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "strum", - actual = "@raze__strum__0_24_1//:strum", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tempfile", - actual = "@raze__tempfile__3_3_0//:tempfile", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tokio", - actual = "@raze__tokio__1_21_1//:tokio", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tokio_util", - actual = "@raze__tokio_util__0_7_4//:tokio_util", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unic_langid", - actual = "@raze__unic_langid__0_9_0//:unic_langid", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unic_ucd_category", - actual = "@raze__unic_ucd_category__0_9_0//:unic_ucd_category", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unicase", - actual = "@raze__unicase__2_6_0//:unicase", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unicode_normalization", - actual = "@raze__unicode_normalization__0_1_22//:unicode_normalization", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "utime", - actual = "@raze__utime__0_3_1//:utime", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "walkdir", - actual = "@raze__walkdir__2_3_2//:walkdir", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "which", - actual = "@raze__which__4_3_0//:which", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "zip", - actual = "@raze__zip__0_6_2//:zip", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "zstd", - actual = "@raze__zstd__0_11_2_zstd_1_5_2//:zstd", - tags = [ - "cargo-raze", - "manual", - ], -) - -# Export file for Stardoc support -exports_files( - [ - "crates.bzl", - ], - visibility = ["//visibility:public"], -) - -exports_files(["licenses.json"]) diff --git a/cargo/BUILD.reqwest.native.bazel b/cargo/BUILD.reqwest.native.bazel deleted file mode 100644 index 0b247470b..000000000 --- a/cargo/BUILD.reqwest.native.bazel +++ /dev/null @@ -1,149 +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_test", -) - -package(default_visibility = [ - # Public for visibility by "@raze__crate__version//" targets. - # - # Prefer access through "//cargo", 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 "blocking" with type "example" omitted - -# Unsupported target "form" with type "example" omitted - -# Unsupported target "json_dynamic" with type "example" omitted - -# Unsupported target "json_typed" with type "example" omitted - -# Unsupported target "simple" with type "example" omitted - -# Unsupported target "tor_socks" with type "example" omitted - -rust_library( - name = "reqwest", - srcs = glob(["**/*.rs"]), - aliases = { - "@raze__native_tls__0_2_10//:native_tls": "native_tls_crate", - }, - crate_features = [ - "__tls", - "default-tls", - "hyper-tls", - "json", - "mime_guess", - "multipart", - "native-tls", - "native-tls-crate", - "serde_json", - "socks", - "stream", - "tokio-native-tls", - "tokio-socks", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.11.3", - # buildifier: leave-alone - deps = [ - "@raze__bytes__1_2_1//:bytes", - "@raze__http__0_2_8//:http", - "@raze__hyper_timeout__0_4_1//:hyper_timeout", - "@raze__mime_guess__2_0_4//:mime_guess", - "@raze__serde__1_0_145//:serde", - "@raze__serde_json__1_0_85//:serde_json", - "@raze__serde_urlencoded__0_7_1//:serde_urlencoded", - "@raze__url__2_3_1//:url", - ] + selects.with_or({ - # cfg(not(target_arch = "wasm32")) - ( - "@rules_rust//rust/platform:aarch64-apple-darwin", - "@rules_rust//rust/platform:aarch64-apple-ios", - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:x86_64-apple-ios", - "@rules_rust//rust/platform:aarch64-apple-ios-sim", - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", - ): [ - "@raze__base64__0_13_0//:base64", - "@raze__encoding_rs__0_8_31//:encoding_rs", - "@raze__futures_core__0_3_24//:futures_core", - "@raze__futures_util__0_3_24//:futures_util", - "@raze__http_body__0_4_5//:http_body", - "@raze__hyper__0_14_20//:hyper", - "@raze__hyper_tls__0_5_0//:hyper_tls", - "@raze__ipnet__2_5_0//:ipnet", - "@raze__lazy_static__1_4_0//:lazy_static", - "@raze__log__0_4_17//:log", - "@raze__mime__0_3_16//:mime", - "@raze__native_tls__0_2_10//:native_tls", - "@raze__percent_encoding__2_2_0//:percent_encoding", - "@raze__pin_project_lite__0_2_9//:pin_project_lite", - "@raze__tokio__1_21_1//:tokio", - "@raze__tokio_native_tls__0_3_0//:tokio_native_tls", - "@raze__tokio_socks__0_5_1//:tokio_socks", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winreg__0_7_0//:winreg", - ], - "//conditions:default": [], - }), -) - -# Unsupported target "badssl" with type "test" omitted - -# Unsupported target "blocking" with type "test" omitted - -# Unsupported target "brotli" with type "test" omitted - -# Unsupported target "client" with type "test" omitted - -# Unsupported target "cookie" with type "test" omitted - -# Unsupported target "gzip" with type "test" omitted - -# Unsupported target "multipart" with type "test" omitted - -# Unsupported target "proxy" with type "test" omitted - -# Unsupported target "redirect" with type "test" omitted - -# Unsupported target "timeouts" with type "test" omitted - -# Unsupported target "wasm_simple" with type "test" omitted diff --git a/cargo/BUILD.reqwest.rustls.bazel b/cargo/BUILD.reqwest.rustls.bazel deleted file mode 100644 index c72c2fe46..000000000 --- a/cargo/BUILD.reqwest.rustls.bazel +++ /dev/null @@ -1,153 +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_test", -) - -package(default_visibility = [ - # Public for visibility by "@raze__crate__version//" targets. - # - # Prefer access through "//cargo", 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 "blocking" with type "example" omitted - -# Unsupported target "form" with type "example" omitted - -# Unsupported target "json_dynamic" with type "example" omitted - -# Unsupported target "json_typed" with type "example" omitted - -# Unsupported target "simple" with type "example" omitted - -# Unsupported target "tor_socks" with type "example" omitted - -rust_library( - name = "reqwest", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - "__rustls", - "__tls", - "hyper-rustls", - "json", - "mime_guess", - "multipart", - "rustls", - "rustls-native-certs", - "rustls-tls", - "rustls-tls-native-roots", - "rustls-tls-webpki-roots", - "serde_json", - "socks", - "stream", - "tokio-rustls", - "tokio-socks", - "webpki-roots", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.11.3", - # buildifier: leave-alone - deps = [ - "@raze__bytes__1_2_1//:bytes", - "@raze__http__0_2_8//:http", - "@raze__hyper_timeout__0_4_1//:hyper_timeout", - "@raze__mime_guess__2_0_4//:mime_guess", - "@raze__serde__1_0_145//:serde", - "@raze__serde_json__1_0_85//:serde_json", - "@raze__serde_urlencoded__0_7_1//:serde_urlencoded", - "@raze__url__2_3_1//:url", - ] + selects.with_or({ - # cfg(not(target_arch = "wasm32")) - ( - "@rules_rust//rust/platform:aarch64-apple-ios", - "@rules_rust//rust/platform:aarch64-apple-ios-sim", - "@rules_rust//rust/platform:aarch64-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-pc-windows-msvc", - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", - ): [ - "@raze__base64__0_13_0//:base64", - "@raze__encoding_rs__0_8_31//:encoding_rs", - "@raze__futures_core__0_3_24//:futures_core", - "@raze__futures_util__0_3_24//:futures_util", - "@raze__http_body__0_4_5//:http_body", - "@raze__hyper__0_14_20//:hyper", - "@raze__hyper_rustls__0_22_1//:hyper_rustls", - "@raze__ipnet__2_5_0//:ipnet", - "@raze__lazy_static__1_4_0//:lazy_static", - "@raze__log__0_4_17//:log", - "@raze__mime__0_3_16//:mime", - "@raze__percent_encoding__2_2_0//:percent_encoding", - "@raze__pin_project_lite__0_2_9//:pin_project_lite", - "@raze__rustls__0_19_1//:rustls", - "@raze__rustls_native_certs__0_5_0//:rustls_native_certs", - "@raze__tokio__1_21_1//:tokio", - "@raze__tokio_rustls__0_22_0//:tokio_rustls", - "@raze__tokio_socks__0_5_1//:tokio_socks", - "@raze__webpki_roots__0_21_1//:webpki_roots", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winreg__0_7_0//:winreg", - ], - "//conditions:default": [], - }), -) - -# Unsupported target "badssl" with type "test" omitted - -# Unsupported target "blocking" with type "test" omitted - -# Unsupported target "brotli" with type "test" omitted - -# Unsupported target "client" with type "test" omitted - -# Unsupported target "cookie" with type "test" omitted - -# Unsupported target "gzip" with type "test" omitted - -# Unsupported target "multipart" with type "test" omitted - -# Unsupported target "proxy" with type "test" omitted - -# Unsupported target "redirect" with type "test" omitted - -# Unsupported target "timeouts" with type "test" omitted - -# Unsupported target "wasm_simple" with type "test" omitted diff --git a/cargo/BUILD.term-0.7.0.bazel b/cargo/BUILD.term-0.7.0.bazel deleted file mode 100644 index 1d857641d..000000000 --- a/cargo/BUILD.term-0.7.0.bazel +++ /dev/null @@ -1,71 +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 "//cargo", 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 = "term", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=term", - "manual", - ], - version = "0.7.0", - proc_macro_deps = [ - "@raze__rustversion__1_0_9//:rustversion", - ], - # buildifier: leave-alone - deps = [ - "@raze__dirs_next__2_0_0//:dirs_next", - ] + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi__0_3_9//:winapi", - ], - "//conditions:default": [], - }), -) - -# Unsupported target "terminfo" with type "test" omitted diff --git a/cargo/README.md b/cargo/README.md index 3490df44a..1cc581fad 100644 --- a/cargo/README.md +++ b/cargo/README.md @@ -1,62 +1,3 @@ -This folder integrates Rust crates.io fetching into Bazel. - -To add or update dependencies, ensure a local Rust environment is available -(eg `source tools/cargo-env`), then install cargo-raze from git, commit -ef58cddd28b64a0c321356acd16201e52cccfb3f - -Also install cargo-license: - -``` -cargo install cargo-license -``` - -After adding/updating dependencies in ../rslib/Cargo.toml, change to this -folder and run: - -$ python update.py - -or - -$ REPIN=1 python update.py - -The former will apply added crates and adjusted version numbers, while leaving -most crate versions alone. The latter will also update pinned dependencies to their -latest compatible versions. - -Note: cargo-raze does not currently work when run from Windows, and nobody -has investigated why yet. For now, you'll need a Mac or Linux machine, or -will need to run update.py from within WSL. - -A couple of crates need extra work to build with Bazel, and are listed -in ../Cargo.toml. For example: - -```toml -[package.metadata.raze.crates.pyo3.'*'] -compile_data_attr = "glob([\"**\"])" -``` - -With minor version updates, you should not normally need to modify -the entries in that file. - -Because update.py modifies a lot of files in remote/, it makes it difficult to -review in a PR, and the changes can sometimes break platforms like Windows. For -this reason, please don't submit PRs that do minor version bumps - those will -typically be done after stable releases. If you need a new crate for a feature -you're working on, please raise it in an issue first. - -## Reqwest - -Things are complicated with reqwest at the moment, because: - -- we're using a fork to implement better timeouts for syncing -- we want to build it with different features on Linux (where we can't build a - wheel that links to OpenSSL), and on other platforms. - -For minor version bumps, update.py should take care of updating the versions of -reqwest dependencies. - -After making a big update to reqwest via an updated fork, the vendored -BUILD.reqwest.\* files may need updating. To do that, comment native-tls from -the features in rslib/Cargo.toml and run update.py, and copy the file in remote/ -over the old vendored file. Then comment the other two deps out, add native-tls -back, and repeat the process. +This folder used to contain Bazel-specific Rust integration, but now only +contains our license-checking script, which should be run when using +cargo update. diff --git a/cargo/crates.bzl b/cargo/crates.bzl deleted file mode 100644 index 0a49c728f..000000000 --- a/cargo/crates.bzl +++ /dev/null @@ -1,3462 +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 raze_fetch_remote_crates(): - """This function defines a collection of repos and should be called in a WORKSPACE file""" - maybe( - http_archive, - name = "raze__addr2line__0_17_0", - url = "https://crates.io/api/v1/crates/addr2line/0.17.0/download", - type = "tar.gz", - sha256 = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b", - strip_prefix = "addr2line-0.17.0", - build_file = Label("//cargo/remote:BUILD.addr2line-0.17.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__adler__1_0_2", - url = "https://crates.io/api/v1/crates/adler/1.0.2/download", - type = "tar.gz", - sha256 = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe", - strip_prefix = "adler-1.0.2", - build_file = Label("//cargo/remote:BUILD.adler-1.0.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__ahash__0_7_6", - url = "https://crates.io/api/v1/crates/ahash/0.7.6/download", - type = "tar.gz", - sha256 = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47", - strip_prefix = "ahash-0.7.6", - build_file = Label("//cargo/remote:BUILD.ahash-0.7.6.bazel"), - ) - - maybe( - http_archive, - name = "raze__aho_corasick__0_7_19", - url = "https://crates.io/api/v1/crates/aho-corasick/0.7.19/download", - type = "tar.gz", - sha256 = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e", - strip_prefix = "aho-corasick-0.7.19", - build_file = Label("//cargo/remote:BUILD.aho-corasick-0.7.19.bazel"), - ) - - maybe( - http_archive, - name = "raze__ammonia__3_2_1", - url = "https://crates.io/api/v1/crates/ammonia/3.2.1/download", - type = "tar.gz", - sha256 = "4b477377562f3086b7778d241786e9406b883ccfaa03557c0fe0924b9349f13a", - strip_prefix = "ammonia-3.2.1", - build_file = Label("//cargo/remote:BUILD.ammonia-3.2.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__android_system_properties__0_1_5", - url = "https://crates.io/api/v1/crates/android_system_properties/0.1.5/download", - type = "tar.gz", - sha256 = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311", - strip_prefix = "android_system_properties-0.1.5", - build_file = Label("//cargo/remote:BUILD.android_system_properties-0.1.5.bazel"), - ) - - maybe( - http_archive, - name = "raze__anyhow__1_0_65", - url = "https://crates.io/api/v1/crates/anyhow/1.0.65/download", - type = "tar.gz", - sha256 = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602", - strip_prefix = "anyhow-1.0.65", - build_file = Label("//cargo/remote:BUILD.anyhow-1.0.65.bazel"), - ) - - maybe( - http_archive, - name = "raze__arc_swap__1_5_1", - url = "https://crates.io/api/v1/crates/arc-swap/1.5.1/download", - type = "tar.gz", - sha256 = "983cd8b9d4b02a6dc6ffa557262eb5858a27a0038ffffe21a0f133eaa819a164", - strip_prefix = "arc-swap-1.5.1", - build_file = Label("//cargo/remote:BUILD.arc-swap-1.5.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__arrayref__0_3_6", - url = "https://crates.io/api/v1/crates/arrayref/0.3.6/download", - type = "tar.gz", - sha256 = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544", - strip_prefix = "arrayref-0.3.6", - build_file = Label("//cargo/remote:BUILD.arrayref-0.3.6.bazel"), - ) - - maybe( - http_archive, - name = "raze__arrayvec__0_4_12", - url = "https://crates.io/api/v1/crates/arrayvec/0.4.12/download", - type = "tar.gz", - sha256 = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9", - strip_prefix = "arrayvec-0.4.12", - build_file = Label("//cargo/remote:BUILD.arrayvec-0.4.12.bazel"), - ) - - maybe( - http_archive, - name = "raze__arrayvec__0_7_2", - url = "https://crates.io/api/v1/crates/arrayvec/0.7.2/download", - type = "tar.gz", - sha256 = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6", - strip_prefix = "arrayvec-0.7.2", - build_file = Label("//cargo/remote:BUILD.arrayvec-0.7.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__async_trait__0_1_57", - url = "https://crates.io/api/v1/crates/async-trait/0.1.57/download", - type = "tar.gz", - sha256 = "76464446b8bc32758d7e88ee1a804d9914cd9b1cb264c029899680b0be29826f", - strip_prefix = "async-trait-0.1.57", - build_file = Label("//cargo/remote:BUILD.async-trait-0.1.57.bazel"), - ) - - maybe( - http_archive, - name = "raze__atty__0_2_14", - url = "https://crates.io/api/v1/crates/atty/0.2.14/download", - type = "tar.gz", - sha256 = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8", - strip_prefix = "atty-0.2.14", - build_file = Label("//cargo/remote:BUILD.atty-0.2.14.bazel"), - ) - - maybe( - http_archive, - name = "raze__autocfg__1_1_0", - url = "https://crates.io/api/v1/crates/autocfg/1.1.0/download", - type = "tar.gz", - sha256 = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa", - strip_prefix = "autocfg-1.1.0", - build_file = Label("//cargo/remote:BUILD.autocfg-1.1.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__backtrace__0_3_66", - url = "https://crates.io/api/v1/crates/backtrace/0.3.66/download", - type = "tar.gz", - sha256 = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7", - strip_prefix = "backtrace-0.3.66", - build_file = Label("//cargo/remote:BUILD.backtrace-0.3.66.bazel"), - ) - - maybe( - http_archive, - name = "raze__base64__0_13_0", - url = "https://crates.io/api/v1/crates/base64/0.13.0/download", - type = "tar.gz", - sha256 = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd", - strip_prefix = "base64-0.13.0", - build_file = Label("//cargo/remote:BUILD.base64-0.13.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__bitflags__1_3_2", - url = "https://crates.io/api/v1/crates/bitflags/1.3.2/download", - type = "tar.gz", - sha256 = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a", - strip_prefix = "bitflags-1.3.2", - build_file = Label("//cargo/remote:BUILD.bitflags-1.3.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__blake3__1_3_1", - url = "https://crates.io/api/v1/crates/blake3/1.3.1/download", - type = "tar.gz", - sha256 = "a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f", - strip_prefix = "blake3-1.3.1", - build_file = Label("//cargo/remote:BUILD.blake3-1.3.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__block_buffer__0_10_3", - url = "https://crates.io/api/v1/crates/block-buffer/0.10.3/download", - type = "tar.gz", - sha256 = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e", - strip_prefix = "block-buffer-0.10.3", - build_file = Label("//cargo/remote:BUILD.block-buffer-0.10.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__bstr__0_2_17", - url = "https://crates.io/api/v1/crates/bstr/0.2.17/download", - type = "tar.gz", - sha256 = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223", - strip_prefix = "bstr-0.2.17", - build_file = Label("//cargo/remote:BUILD.bstr-0.2.17.bazel"), - ) - - maybe( - http_archive, - name = "raze__bumpalo__3_11_0", - url = "https://crates.io/api/v1/crates/bumpalo/3.11.0/download", - type = "tar.gz", - sha256 = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d", - strip_prefix = "bumpalo-3.11.0", - build_file = Label("//cargo/remote:BUILD.bumpalo-3.11.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__byteorder__1_4_3", - url = "https://crates.io/api/v1/crates/byteorder/1.4.3/download", - type = "tar.gz", - sha256 = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610", - strip_prefix = "byteorder-1.4.3", - build_file = Label("//cargo/remote:BUILD.byteorder-1.4.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__bytes__1_2_1", - url = "https://crates.io/api/v1/crates/bytes/1.2.1/download", - type = "tar.gz", - sha256 = "ec8a7b6a70fde80372154c65702f00a0f56f3e1c36abbc6c440484be248856db", - strip_prefix = "bytes-1.2.1", - build_file = Label("//cargo/remote:BUILD.bytes-1.2.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__cc__1_0_73", - url = "https://crates.io/api/v1/crates/cc/1.0.73/download", - type = "tar.gz", - sha256 = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11", - strip_prefix = "cc-1.0.73", - build_file = Label("//cargo/remote:BUILD.cc-1.0.73.bazel"), - ) - - maybe( - http_archive, - name = "raze__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("//cargo/remote:BUILD.cfg-if-1.0.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__chrono__0_4_22", - url = "https://crates.io/api/v1/crates/chrono/0.4.22/download", - type = "tar.gz", - sha256 = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1", - strip_prefix = "chrono-0.4.22", - build_file = Label("//cargo/remote:BUILD.chrono-0.4.22.bazel"), - ) - - maybe( - http_archive, - name = "raze__coarsetime__0_1_22", - url = "https://crates.io/api/v1/crates/coarsetime/0.1.22/download", - type = "tar.gz", - sha256 = "454038500439e141804c655b4cd1bc6a70bcb95cd2bc9463af5661b6956f0e46", - strip_prefix = "coarsetime-0.1.22", - build_file = Label("//cargo/remote:BUILD.coarsetime-0.1.22.bazel"), - ) - - maybe( - http_archive, - name = "raze__codespan__0_11_1", - url = "https://crates.io/api/v1/crates/codespan/0.11.1/download", - type = "tar.gz", - sha256 = "3362992a0d9f1dd7c3d0e89e0ab2bb540b7a95fea8cd798090e758fda2899b5e", - strip_prefix = "codespan-0.11.1", - build_file = Label("//cargo/remote:BUILD.codespan-0.11.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__codespan_reporting__0_11_1", - url = "https://crates.io/api/v1/crates/codespan-reporting/0.11.1/download", - type = "tar.gz", - sha256 = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e", - strip_prefix = "codespan-reporting-0.11.1", - build_file = Label("//cargo/remote:BUILD.codespan-reporting-0.11.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__constant_time_eq__0_1_5", - url = "https://crates.io/api/v1/crates/constant_time_eq/0.1.5/download", - type = "tar.gz", - sha256 = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc", - strip_prefix = "constant_time_eq-0.1.5", - build_file = Label("//cargo/remote:BUILD.constant_time_eq-0.1.5.bazel"), - ) - - maybe( - http_archive, - name = "raze__convert_case__0_4_0", - url = "https://crates.io/api/v1/crates/convert_case/0.4.0/download", - type = "tar.gz", - sha256 = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e", - strip_prefix = "convert_case-0.4.0", - build_file = Label("//cargo/remote:BUILD.convert_case-0.4.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__convert_case__0_6_0", - url = "https://crates.io/api/v1/crates/convert_case/0.6.0/download", - type = "tar.gz", - sha256 = "ec182b0ca2f35d8fc196cf3404988fd8b8c739a4d270ff118a398feb0cbec1ca", - strip_prefix = "convert_case-0.6.0", - build_file = Label("//cargo/remote:BUILD.convert_case-0.6.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__core_foundation__0_9_3", - url = "https://crates.io/api/v1/crates/core-foundation/0.9.3/download", - type = "tar.gz", - sha256 = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146", - strip_prefix = "core-foundation-0.9.3", - build_file = Label("//cargo/remote:BUILD.core-foundation-0.9.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__core_foundation_sys__0_8_3", - url = "https://crates.io/api/v1/crates/core-foundation-sys/0.8.3/download", - type = "tar.gz", - sha256 = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc", - strip_prefix = "core-foundation-sys-0.8.3", - build_file = Label("//cargo/remote:BUILD.core-foundation-sys-0.8.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__crc32fast__1_3_2", - url = "https://crates.io/api/v1/crates/crc32fast/1.3.2/download", - type = "tar.gz", - sha256 = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d", - strip_prefix = "crc32fast-1.3.2", - build_file = Label("//cargo/remote:BUILD.crc32fast-1.3.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__crossbeam_channel__0_5_6", - url = "https://crates.io/api/v1/crates/crossbeam-channel/0.5.6/download", - type = "tar.gz", - sha256 = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521", - strip_prefix = "crossbeam-channel-0.5.6", - build_file = Label("//cargo/remote:BUILD.crossbeam-channel-0.5.6.bazel"), - ) - - maybe( - http_archive, - name = "raze__crossbeam_utils__0_8_11", - url = "https://crates.io/api/v1/crates/crossbeam-utils/0.8.11/download", - type = "tar.gz", - sha256 = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc", - strip_prefix = "crossbeam-utils-0.8.11", - build_file = Label("//cargo/remote:BUILD.crossbeam-utils-0.8.11.bazel"), - ) - - maybe( - http_archive, - name = "raze__crypto_common__0_1_6", - url = "https://crates.io/api/v1/crates/crypto-common/0.1.6/download", - type = "tar.gz", - sha256 = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3", - strip_prefix = "crypto-common-0.1.6", - build_file = Label("//cargo/remote:BUILD.crypto-common-0.1.6.bazel"), - ) - - maybe( - http_archive, - name = "raze__cssparser__0_27_2", - url = "https://crates.io/api/v1/crates/cssparser/0.27.2/download", - type = "tar.gz", - sha256 = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a", - strip_prefix = "cssparser-0.27.2", - build_file = Label("//cargo/remote:BUILD.cssparser-0.27.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__cssparser_macros__0_6_0", - url = "https://crates.io/api/v1/crates/cssparser-macros/0.6.0/download", - type = "tar.gz", - sha256 = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e", - strip_prefix = "cssparser-macros-0.6.0", - build_file = Label("//cargo/remote:BUILD.cssparser-macros-0.6.0.bazel"), - ) - - maybe( - new_git_repository, - name = "raze__csv__1_1_6", - remote = "https://github.com/ankitects/rust-csv.git", - shallow_since = "1654675287 +1000", - commit = "1c9d3aab6f79a7d815c69f925a46a4590c115f90", - build_file = Label("//cargo/remote:BUILD.csv-1.1.6.bazel"), - init_submodules = True, - ) - - maybe( - new_git_repository, - name = "raze__csv_core__0_1_10", - remote = "https://github.com/ankitects/rust-csv.git", - shallow_since = "1654675287 +1000", - commit = "1c9d3aab6f79a7d815c69f925a46a4590c115f90", - build_file = Label("//cargo/remote:BUILD.csv-core-0.1.10.bazel"), - init_submodules = True, - ) - - maybe( - http_archive, - name = "raze__derive_more__0_99_17", - url = "https://crates.io/api/v1/crates/derive_more/0.99.17/download", - type = "tar.gz", - sha256 = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321", - strip_prefix = "derive_more-0.99.17", - build_file = Label("//cargo/remote:BUILD.derive_more-0.99.17.bazel"), - ) - - maybe( - http_archive, - name = "raze__digest__0_10_5", - url = "https://crates.io/api/v1/crates/digest/0.10.5/download", - type = "tar.gz", - sha256 = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c", - strip_prefix = "digest-0.10.5", - build_file = Label("//cargo/remote:BUILD.digest-0.10.5.bazel"), - ) - - maybe( - http_archive, - name = "raze__dirs_next__2_0_0", - url = "https://crates.io/api/v1/crates/dirs-next/2.0.0/download", - type = "tar.gz", - sha256 = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1", - strip_prefix = "dirs-next-2.0.0", - build_file = Label("//cargo/remote:BUILD.dirs-next-2.0.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__dirs_sys_next__0_1_2", - url = "https://crates.io/api/v1/crates/dirs-sys-next/0.1.2/download", - type = "tar.gz", - sha256 = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d", - strip_prefix = "dirs-sys-next-0.1.2", - build_file = Label("//cargo/remote:BUILD.dirs-sys-next-0.1.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__dissimilar__1_0_4", - url = "https://crates.io/api/v1/crates/dissimilar/1.0.4/download", - type = "tar.gz", - sha256 = "8c97b9233581d84b8e1e689cdd3a47b6f69770084fc246e86a7f78b0d9c1d4a5", - strip_prefix = "dissimilar-1.0.4", - build_file = Label("//cargo/remote:BUILD.dissimilar-1.0.4.bazel"), - ) - - maybe( - http_archive, - name = "raze__doc_comment__0_3_3", - url = "https://crates.io/api/v1/crates/doc-comment/0.3.3/download", - type = "tar.gz", - sha256 = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10", - strip_prefix = "doc-comment-0.3.3", - build_file = Label("//cargo/remote:BUILD.doc-comment-0.3.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__dtoa__0_4_8", - url = "https://crates.io/api/v1/crates/dtoa/0.4.8/download", - type = "tar.gz", - sha256 = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0", - strip_prefix = "dtoa-0.4.8", - build_file = Label("//cargo/remote:BUILD.dtoa-0.4.8.bazel"), - ) - - maybe( - http_archive, - name = "raze__dtoa_short__0_3_3", - url = "https://crates.io/api/v1/crates/dtoa-short/0.3.3/download", - type = "tar.gz", - sha256 = "bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6", - strip_prefix = "dtoa-short-0.3.3", - build_file = Label("//cargo/remote:BUILD.dtoa-short-0.3.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__dunce__1_0_2", - url = "https://crates.io/api/v1/crates/dunce/1.0.2/download", - type = "tar.gz", - sha256 = "453440c271cf5577fd2a40e4942540cb7d0d2f85e27c8d07dd0023c925a67541", - strip_prefix = "dunce-1.0.2", - build_file = Label("//cargo/remote:BUILD.dunce-1.0.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__either__1_8_0", - url = "https://crates.io/api/v1/crates/either/1.8.0/download", - type = "tar.gz", - sha256 = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797", - strip_prefix = "either-1.8.0", - build_file = Label("//cargo/remote:BUILD.either-1.8.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__encoding_rs__0_8_31", - url = "https://crates.io/api/v1/crates/encoding_rs/0.8.31/download", - type = "tar.gz", - sha256 = "9852635589dc9f9ea1b6fe9f05b50ef208c85c834a562f0c6abb1c475736ec2b", - strip_prefix = "encoding_rs-0.8.31", - build_file = Label("//cargo/remote:BUILD.encoding_rs-0.8.31.bazel"), - ) - - maybe( - http_archive, - name = "raze__env_logger__0_9_1", - url = "https://crates.io/api/v1/crates/env_logger/0.9.1/download", - type = "tar.gz", - sha256 = "c90bf5f19754d10198ccb95b70664fc925bd1fc090a0fd9a6ebc54acc8cd6272", - strip_prefix = "env_logger-0.9.1", - build_file = Label("//cargo/remote:BUILD.env_logger-0.9.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__fallible_iterator__0_2_0", - url = "https://crates.io/api/v1/crates/fallible-iterator/0.2.0/download", - type = "tar.gz", - sha256 = "4443176a9f2c162692bd3d352d745ef9413eec5782a80d8fd6f8a1ac692a07f7", - strip_prefix = "fallible-iterator-0.2.0", - build_file = Label("//cargo/remote:BUILD.fallible-iterator-0.2.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__fallible_streaming_iterator__0_1_9", - url = "https://crates.io/api/v1/crates/fallible-streaming-iterator/0.1.9/download", - type = "tar.gz", - sha256 = "7360491ce676a36bf9bb3c56c1aa791658183a54d2744120f27285738d90465a", - strip_prefix = "fallible-streaming-iterator-0.1.9", - build_file = Label("//cargo/remote:BUILD.fallible-streaming-iterator-0.1.9.bazel"), - ) - - maybe( - http_archive, - name = "raze__fastrand__1_8_0", - url = "https://crates.io/api/v1/crates/fastrand/1.8.0/download", - type = "tar.gz", - sha256 = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499", - strip_prefix = "fastrand-1.8.0", - build_file = Label("//cargo/remote:BUILD.fastrand-1.8.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__fixedbitset__0_4_2", - url = "https://crates.io/api/v1/crates/fixedbitset/0.4.2/download", - type = "tar.gz", - sha256 = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80", - strip_prefix = "fixedbitset-0.4.2", - build_file = Label("//cargo/remote:BUILD.fixedbitset-0.4.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__flate2__1_0_24", - url = "https://crates.io/api/v1/crates/flate2/1.0.24/download", - type = "tar.gz", - sha256 = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6", - strip_prefix = "flate2-1.0.24", - build_file = Label("//cargo/remote:BUILD.flate2-1.0.24.bazel"), - ) - - maybe( - http_archive, - name = "raze__fluent__0_16_0", - url = "https://crates.io/api/v1/crates/fluent/0.16.0/download", - type = "tar.gz", - sha256 = "61f69378194459db76abd2ce3952b790db103ceb003008d3d50d97c41ff847a7", - strip_prefix = "fluent-0.16.0", - build_file = Label("//cargo/remote:BUILD.fluent-0.16.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__fluent_bundle__0_15_2", - url = "https://crates.io/api/v1/crates/fluent-bundle/0.15.2/download", - type = "tar.gz", - sha256 = "e242c601dec9711505f6d5bbff5bedd4b61b2469f2e8bb8e57ee7c9747a87ffd", - strip_prefix = "fluent-bundle-0.15.2", - build_file = Label("//cargo/remote:BUILD.fluent-bundle-0.15.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__fluent_langneg__0_13_0", - url = "https://crates.io/api/v1/crates/fluent-langneg/0.13.0/download", - type = "tar.gz", - sha256 = "2c4ad0989667548f06ccd0e306ed56b61bd4d35458d54df5ec7587c0e8ed5e94", - strip_prefix = "fluent-langneg-0.13.0", - build_file = Label("//cargo/remote:BUILD.fluent-langneg-0.13.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__fluent_syntax__0_11_0", - url = "https://crates.io/api/v1/crates/fluent-syntax/0.11.0/download", - type = "tar.gz", - sha256 = "c0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78", - strip_prefix = "fluent-syntax-0.11.0", - build_file = Label("//cargo/remote:BUILD.fluent-syntax-0.11.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__fnv__1_0_7", - url = "https://crates.io/api/v1/crates/fnv/1.0.7/download", - type = "tar.gz", - sha256 = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1", - strip_prefix = "fnv-1.0.7", - build_file = Label("//cargo/remote:BUILD.fnv-1.0.7.bazel"), - ) - - maybe( - http_archive, - name = "raze__foreign_types__0_3_2", - url = "https://crates.io/api/v1/crates/foreign-types/0.3.2/download", - type = "tar.gz", - sha256 = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1", - strip_prefix = "foreign-types-0.3.2", - build_file = Label("//cargo/remote:BUILD.foreign-types-0.3.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__foreign_types_shared__0_1_1", - url = "https://crates.io/api/v1/crates/foreign-types-shared/0.1.1/download", - type = "tar.gz", - sha256 = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b", - strip_prefix = "foreign-types-shared-0.1.1", - build_file = Label("//cargo/remote:BUILD.foreign-types-shared-0.1.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__form_urlencoded__1_1_0", - url = "https://crates.io/api/v1/crates/form_urlencoded/1.1.0/download", - type = "tar.gz", - sha256 = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8", - strip_prefix = "form_urlencoded-1.1.0", - build_file = Label("//cargo/remote:BUILD.form_urlencoded-1.1.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__futf__0_1_5", - url = "https://crates.io/api/v1/crates/futf/0.1.5/download", - type = "tar.gz", - sha256 = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843", - strip_prefix = "futf-0.1.5", - build_file = Label("//cargo/remote:BUILD.futf-0.1.5.bazel"), - ) - - maybe( - http_archive, - name = "raze__futures__0_3_24", - url = "https://crates.io/api/v1/crates/futures/0.3.24/download", - type = "tar.gz", - sha256 = "7f21eda599937fba36daeb58a22e8f5cee2d14c4a17b5b7739c7c8e5e3b8230c", - strip_prefix = "futures-0.3.24", - build_file = Label("//cargo/remote:BUILD.futures-0.3.24.bazel"), - ) - - maybe( - http_archive, - name = "raze__futures_channel__0_3_24", - url = "https://crates.io/api/v1/crates/futures-channel/0.3.24/download", - type = "tar.gz", - sha256 = "30bdd20c28fadd505d0fd6712cdfcb0d4b5648baf45faef7f852afb2399bb050", - strip_prefix = "futures-channel-0.3.24", - build_file = Label("//cargo/remote:BUILD.futures-channel-0.3.24.bazel"), - ) - - maybe( - http_archive, - name = "raze__futures_core__0_3_24", - url = "https://crates.io/api/v1/crates/futures-core/0.3.24/download", - type = "tar.gz", - sha256 = "4e5aa3de05362c3fb88de6531e6296e85cde7739cccad4b9dfeeb7f6ebce56bf", - strip_prefix = "futures-core-0.3.24", - build_file = Label("//cargo/remote:BUILD.futures-core-0.3.24.bazel"), - ) - - maybe( - http_archive, - name = "raze__futures_executor__0_3_24", - url = "https://crates.io/api/v1/crates/futures-executor/0.3.24/download", - type = "tar.gz", - sha256 = "9ff63c23854bee61b6e9cd331d523909f238fc7636290b96826e9cfa5faa00ab", - strip_prefix = "futures-executor-0.3.24", - build_file = Label("//cargo/remote:BUILD.futures-executor-0.3.24.bazel"), - ) - - maybe( - http_archive, - name = "raze__futures_io__0_3_24", - url = "https://crates.io/api/v1/crates/futures-io/0.3.24/download", - type = "tar.gz", - sha256 = "bbf4d2a7a308fd4578637c0b17c7e1c7ba127b8f6ba00b29f717e9655d85eb68", - strip_prefix = "futures-io-0.3.24", - build_file = Label("//cargo/remote:BUILD.futures-io-0.3.24.bazel"), - ) - - maybe( - http_archive, - name = "raze__futures_macro__0_3_24", - url = "https://crates.io/api/v1/crates/futures-macro/0.3.24/download", - type = "tar.gz", - sha256 = "42cd15d1c7456c04dbdf7e88bcd69760d74f3a798d6444e16974b505b0e62f17", - strip_prefix = "futures-macro-0.3.24", - build_file = Label("//cargo/remote:BUILD.futures-macro-0.3.24.bazel"), - ) - - maybe( - http_archive, - name = "raze__futures_sink__0_3_24", - url = "https://crates.io/api/v1/crates/futures-sink/0.3.24/download", - type = "tar.gz", - sha256 = "21b20ba5a92e727ba30e72834706623d94ac93a725410b6a6b6fbc1b07f7ba56", - strip_prefix = "futures-sink-0.3.24", - build_file = Label("//cargo/remote:BUILD.futures-sink-0.3.24.bazel"), - ) - - maybe( - http_archive, - name = "raze__futures_task__0_3_24", - url = "https://crates.io/api/v1/crates/futures-task/0.3.24/download", - type = "tar.gz", - sha256 = "a6508c467c73851293f390476d4491cf4d227dbabcd4170f3bb6044959b294f1", - strip_prefix = "futures-task-0.3.24", - build_file = Label("//cargo/remote:BUILD.futures-task-0.3.24.bazel"), - ) - - maybe( - http_archive, - name = "raze__futures_util__0_3_24", - url = "https://crates.io/api/v1/crates/futures-util/0.3.24/download", - type = "tar.gz", - sha256 = "44fb6cb1be61cc1d2e43b262516aafcf63b241cffdb1d3fa115f91d9c7b09c90", - strip_prefix = "futures-util-0.3.24", - build_file = Label("//cargo/remote:BUILD.futures-util-0.3.24.bazel"), - ) - - maybe( - http_archive, - name = "raze__fxhash__0_2_1", - url = "https://crates.io/api/v1/crates/fxhash/0.2.1/download", - type = "tar.gz", - sha256 = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c", - strip_prefix = "fxhash-0.2.1", - build_file = Label("//cargo/remote:BUILD.fxhash-0.2.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__generic_array__0_14_6", - url = "https://crates.io/api/v1/crates/generic-array/0.14.6/download", - type = "tar.gz", - sha256 = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9", - strip_prefix = "generic-array-0.14.6", - build_file = Label("//cargo/remote:BUILD.generic-array-0.14.6.bazel"), - ) - - maybe( - http_archive, - name = "raze__getopts__0_2_21", - url = "https://crates.io/api/v1/crates/getopts/0.2.21/download", - type = "tar.gz", - sha256 = "14dbbfd5c71d70241ecf9e6f13737f7b5ce823821063188d7e46c41d371eebd5", - strip_prefix = "getopts-0.2.21", - build_file = Label("//cargo/remote:BUILD.getopts-0.2.21.bazel"), - ) - - maybe( - http_archive, - name = "raze__getrandom__0_1_16", - url = "https://crates.io/api/v1/crates/getrandom/0.1.16/download", - type = "tar.gz", - sha256 = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce", - strip_prefix = "getrandom-0.1.16", - build_file = Label("//cargo/remote:BUILD.getrandom-0.1.16.bazel"), - ) - - maybe( - http_archive, - name = "raze__getrandom__0_2_7", - url = "https://crates.io/api/v1/crates/getrandom/0.2.7/download", - type = "tar.gz", - sha256 = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6", - strip_prefix = "getrandom-0.2.7", - build_file = Label("//cargo/remote:BUILD.getrandom-0.2.7.bazel"), - ) - - maybe( - http_archive, - name = "raze__gimli__0_26_2", - url = "https://crates.io/api/v1/crates/gimli/0.26.2/download", - type = "tar.gz", - sha256 = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d", - strip_prefix = "gimli-0.26.2", - build_file = Label("//cargo/remote:BUILD.gimli-0.26.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__h2__0_3_14", - url = "https://crates.io/api/v1/crates/h2/0.3.14/download", - type = "tar.gz", - sha256 = "5ca32592cf21ac7ccab1825cd87f6c9b3d9022c44d086172ed0966bec8af30be", - strip_prefix = "h2-0.3.14", - build_file = Label("//cargo/remote:BUILD.h2-0.3.14.bazel"), - ) - - maybe( - http_archive, - name = "raze__hashbrown__0_12_3", - url = "https://crates.io/api/v1/crates/hashbrown/0.12.3/download", - type = "tar.gz", - sha256 = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888", - strip_prefix = "hashbrown-0.12.3", - build_file = Label("//cargo/remote:BUILD.hashbrown-0.12.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__hashlink__0_8_1", - url = "https://crates.io/api/v1/crates/hashlink/0.8.1/download", - type = "tar.gz", - sha256 = "69fe1fcf8b4278d860ad0548329f892a3631fb63f82574df68275f34cdbe0ffa", - strip_prefix = "hashlink-0.8.1", - build_file = Label("//cargo/remote:BUILD.hashlink-0.8.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__heck__0_4_0", - url = "https://crates.io/api/v1/crates/heck/0.4.0/download", - type = "tar.gz", - sha256 = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9", - strip_prefix = "heck-0.4.0", - build_file = Label("//cargo/remote:BUILD.heck-0.4.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__hermit_abi__0_1_19", - url = "https://crates.io/api/v1/crates/hermit-abi/0.1.19/download", - type = "tar.gz", - sha256 = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33", - strip_prefix = "hermit-abi-0.1.19", - build_file = Label("//cargo/remote:BUILD.hermit-abi-0.1.19.bazel"), - ) - - maybe( - http_archive, - name = "raze__hex__0_4_3", - url = "https://crates.io/api/v1/crates/hex/0.4.3/download", - type = "tar.gz", - sha256 = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70", - strip_prefix = "hex-0.4.3", - build_file = Label("//cargo/remote:BUILD.hex-0.4.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__html5ever__0_25_2", - url = "https://crates.io/api/v1/crates/html5ever/0.25.2/download", - type = "tar.gz", - sha256 = "e5c13fb08e5d4dfc151ee5e88bae63f7773d61852f3bdc73c9f4b9e1bde03148", - strip_prefix = "html5ever-0.25.2", - build_file = Label("//cargo/remote:BUILD.html5ever-0.25.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__html5ever__0_26_0", - url = "https://crates.io/api/v1/crates/html5ever/0.26.0/download", - type = "tar.gz", - sha256 = "bea68cab48b8459f17cf1c944c67ddc572d272d9f2b274140f223ecb1da4a3b7", - strip_prefix = "html5ever-0.26.0", - build_file = Label("//cargo/remote:BUILD.html5ever-0.26.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__htmlescape__0_3_1", - url = "https://crates.io/api/v1/crates/htmlescape/0.3.1/download", - type = "tar.gz", - sha256 = "e9025058dae765dee5070ec375f591e2ba14638c63feff74f13805a72e523163", - strip_prefix = "htmlescape-0.3.1", - build_file = Label("//cargo/remote:BUILD.htmlescape-0.3.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__http__0_2_8", - url = "https://crates.io/api/v1/crates/http/0.2.8/download", - type = "tar.gz", - sha256 = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399", - strip_prefix = "http-0.2.8", - build_file = Label("//cargo/remote:BUILD.http-0.2.8.bazel"), - ) - - maybe( - http_archive, - name = "raze__http_body__0_4_5", - url = "https://crates.io/api/v1/crates/http-body/0.4.5/download", - type = "tar.gz", - sha256 = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1", - strip_prefix = "http-body-0.4.5", - build_file = Label("//cargo/remote:BUILD.http-body-0.4.5.bazel"), - ) - - maybe( - http_archive, - name = "raze__httparse__1_8_0", - url = "https://crates.io/api/v1/crates/httparse/1.8.0/download", - type = "tar.gz", - sha256 = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904", - strip_prefix = "httparse-1.8.0", - build_file = Label("//cargo/remote:BUILD.httparse-1.8.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__httpdate__1_0_2", - url = "https://crates.io/api/v1/crates/httpdate/1.0.2/download", - type = "tar.gz", - sha256 = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421", - strip_prefix = "httpdate-1.0.2", - build_file = Label("//cargo/remote:BUILD.httpdate-1.0.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__humantime__2_1_0", - url = "https://crates.io/api/v1/crates/humantime/2.1.0/download", - type = "tar.gz", - sha256 = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4", - strip_prefix = "humantime-2.1.0", - build_file = Label("//cargo/remote:BUILD.humantime-2.1.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__hyper__0_14_20", - url = "https://crates.io/api/v1/crates/hyper/0.14.20/download", - type = "tar.gz", - sha256 = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac", - strip_prefix = "hyper-0.14.20", - build_file = Label("//cargo/remote:BUILD.hyper-0.14.20.bazel"), - ) - - maybe( - http_archive, - name = "raze__hyper_rustls__0_22_1", - url = "https://crates.io/api/v1/crates/hyper-rustls/0.22.1/download", - type = "tar.gz", - sha256 = "5f9f7a97316d44c0af9b0301e65010573a853a9fc97046d7331d7f6bc0fd5a64", - strip_prefix = "hyper-rustls-0.22.1", - build_file = Label("//cargo/remote:BUILD.hyper-rustls-0.22.1.bazel"), - ) - - maybe( - new_git_repository, - name = "raze__hyper_timeout__0_4_1", - remote = "https://github.com/ankitects/hyper-timeout.git", - shallow_since = "1619519657 +1000", - commit = "0cb6f7d14c62819e37cd221736f8b0555e823712", - build_file = Label("//cargo/remote:BUILD.hyper-timeout-0.4.1.bazel"), - init_submodules = True, - ) - - maybe( - http_archive, - name = "raze__hyper_tls__0_5_0", - url = "https://crates.io/api/v1/crates/hyper-tls/0.5.0/download", - type = "tar.gz", - sha256 = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905", - strip_prefix = "hyper-tls-0.5.0", - build_file = Label("//cargo/remote:BUILD.hyper-tls-0.5.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__iana_time_zone__0_1_50", - url = "https://crates.io/api/v1/crates/iana-time-zone/0.1.50/download", - type = "tar.gz", - sha256 = "fd911b35d940d2bd0bea0f9100068e5b97b51a1cbe13d13382f132e0365257a0", - strip_prefix = "iana-time-zone-0.1.50", - build_file = Label("//cargo/remote:BUILD.iana-time-zone-0.1.50.bazel"), - ) - - maybe( - http_archive, - name = "raze__id_tree__1_8_0", - url = "https://crates.io/api/v1/crates/id_tree/1.8.0/download", - type = "tar.gz", - sha256 = "bcd9db8dd5be8bde5a2624ed4b2dfb74368fe7999eb9c4940fd3ca344b61071a", - strip_prefix = "id_tree-1.8.0", - build_file = Label("//cargo/remote:BUILD.id_tree-1.8.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__idna__0_3_0", - url = "https://crates.io/api/v1/crates/idna/0.3.0/download", - type = "tar.gz", - sha256 = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6", - strip_prefix = "idna-0.3.0", - build_file = Label("//cargo/remote:BUILD.idna-0.3.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__indexmap__1_9_1", - url = "https://crates.io/api/v1/crates/indexmap/1.9.1/download", - type = "tar.gz", - sha256 = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e", - strip_prefix = "indexmap-1.9.1", - build_file = Label("//cargo/remote:BUILD.indexmap-1.9.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__indoc__1_0_7", - url = "https://crates.io/api/v1/crates/indoc/1.0.7/download", - type = "tar.gz", - sha256 = "adab1eaa3408fb7f0c777a73e7465fd5656136fc93b670eb6df3c88c2c1344e3", - strip_prefix = "indoc-1.0.7", - build_file = Label("//cargo/remote:BUILD.indoc-1.0.7.bazel"), - ) - - maybe( - http_archive, - name = "raze__inflections__1_1_1", - url = "https://crates.io/api/v1/crates/inflections/1.1.1/download", - type = "tar.gz", - sha256 = "a257582fdcde896fd96463bf2d40eefea0580021c0712a0e2b028b60b47a837a", - strip_prefix = "inflections-1.1.1", - build_file = Label("//cargo/remote:BUILD.inflections-1.1.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__instant__0_1_12", - url = "https://crates.io/api/v1/crates/instant/0.1.12/download", - type = "tar.gz", - sha256 = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c", - strip_prefix = "instant-0.1.12", - build_file = Label("//cargo/remote:BUILD.instant-0.1.12.bazel"), - ) - - maybe( - http_archive, - name = "raze__intl_memoizer__0_5_1", - url = "https://crates.io/api/v1/crates/intl-memoizer/0.5.1/download", - type = "tar.gz", - sha256 = "c310433e4a310918d6ed9243542a6b83ec1183df95dff8f23f87bb88a264a66f", - strip_prefix = "intl-memoizer-0.5.1", - build_file = Label("//cargo/remote:BUILD.intl-memoizer-0.5.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__intl_pluralrules__7_0_1", - url = "https://crates.io/api/v1/crates/intl_pluralrules/7.0.1/download", - type = "tar.gz", - sha256 = "b18f988384267d7066cc2be425e6faf352900652c046b6971d2e228d3b1c5ecf", - strip_prefix = "intl_pluralrules-7.0.1", - build_file = Label("//cargo/remote:BUILD.intl_pluralrules-7.0.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__ipnet__2_5_0", - url = "https://crates.io/api/v1/crates/ipnet/2.5.0/download", - type = "tar.gz", - sha256 = "879d54834c8c76457ef4293a689b2a8c59b076067ad77b15efafbb05f92a592b", - strip_prefix = "ipnet-2.5.0", - build_file = Label("//cargo/remote:BUILD.ipnet-2.5.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__itertools__0_10_5", - url = "https://crates.io/api/v1/crates/itertools/0.10.5/download", - type = "tar.gz", - sha256 = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473", - strip_prefix = "itertools-0.10.5", - build_file = Label("//cargo/remote:BUILD.itertools-0.10.5.bazel"), - ) - - maybe( - http_archive, - name = "raze__itoa__0_4_8", - url = "https://crates.io/api/v1/crates/itoa/0.4.8/download", - type = "tar.gz", - sha256 = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4", - strip_prefix = "itoa-0.4.8", - build_file = Label("//cargo/remote:BUILD.itoa-0.4.8.bazel"), - ) - - maybe( - http_archive, - name = "raze__itoa__1_0_3", - url = "https://crates.io/api/v1/crates/itoa/1.0.3/download", - type = "tar.gz", - sha256 = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754", - strip_prefix = "itoa-1.0.3", - build_file = Label("//cargo/remote:BUILD.itoa-1.0.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__jobserver__0_1_25", - url = "https://crates.io/api/v1/crates/jobserver/0.1.25/download", - type = "tar.gz", - sha256 = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b", - strip_prefix = "jobserver-0.1.25", - build_file = Label("//cargo/remote:BUILD.jobserver-0.1.25.bazel"), - ) - - maybe( - http_archive, - name = "raze__js_sys__0_3_60", - url = "https://crates.io/api/v1/crates/js-sys/0.3.60/download", - type = "tar.gz", - sha256 = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47", - strip_prefix = "js-sys-0.3.60", - build_file = Label("//cargo/remote:BUILD.js-sys-0.3.60.bazel"), - ) - - maybe( - http_archive, - name = "raze__kuchiki__0_8_1", - url = "https://crates.io/api/v1/crates/kuchiki/0.8.1/download", - type = "tar.gz", - sha256 = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358", - strip_prefix = "kuchiki-0.8.1", - build_file = Label("//cargo/remote:BUILD.kuchiki-0.8.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__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("//cargo/remote:BUILD.lazy_static-1.4.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__libc__0_2_133", - url = "https://crates.io/api/v1/crates/libc/0.2.133/download", - type = "tar.gz", - sha256 = "c0f80d65747a3e43d1596c7c5492d95d5edddaabd45a7fcdb02b95f644164966", - strip_prefix = "libc-0.2.133", - build_file = Label("//cargo/remote:BUILD.libc-0.2.133.bazel"), - ) - - maybe( - http_archive, - name = "raze__libsqlite3_sys__0_25_1", - url = "https://crates.io/api/v1/crates/libsqlite3-sys/0.25.1/download", - type = "tar.gz", - sha256 = "9f0455f2c1bc9a7caa792907026e469c1d91761fb0ea37cbb16427c77280cf35", - strip_prefix = "libsqlite3-sys-0.25.1", - build_file = Label("//cargo/remote:BUILD.libsqlite3-sys-0.25.1.bazel"), - ) - - maybe( - new_git_repository, - name = "raze__linkcheck__0_4_1_alpha_0", - remote = "https://github.com/ankitects/linkcheck.git", - shallow_since = "1626729019 +0200", - commit = "2f20798ce521cc594d510d4e417e76d5eac04d4b", - build_file = Label("//cargo/remote:BUILD.linkcheck-0.4.1-alpha.0.bazel"), - init_submodules = True, - ) - - maybe( - http_archive, - name = "raze__linkify__0_5_0", - url = "https://crates.io/api/v1/crates/linkify/0.5.0/download", - type = "tar.gz", - sha256 = "78d59d732ba6d7eeefc418aab8057dc8e3da4374bd5802ffa95bebc04b4d1dfb", - strip_prefix = "linkify-0.5.0", - build_file = Label("//cargo/remote:BUILD.linkify-0.5.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__lock_api__0_4_9", - url = "https://crates.io/api/v1/crates/lock_api/0.4.9/download", - type = "tar.gz", - sha256 = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df", - strip_prefix = "lock_api-0.4.9", - build_file = Label("//cargo/remote:BUILD.lock_api-0.4.9.bazel"), - ) - - maybe( - http_archive, - name = "raze__log__0_4_17", - url = "https://crates.io/api/v1/crates/log/0.4.17/download", - type = "tar.gz", - sha256 = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e", - strip_prefix = "log-0.4.17", - build_file = Label("//cargo/remote:BUILD.log-0.4.17.bazel"), - ) - - maybe( - http_archive, - name = "raze__mac__0_1_1", - url = "https://crates.io/api/v1/crates/mac/0.1.1/download", - type = "tar.gz", - sha256 = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4", - strip_prefix = "mac-0.1.1", - build_file = Label("//cargo/remote:BUILD.mac-0.1.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__maplit__1_0_2", - url = "https://crates.io/api/v1/crates/maplit/1.0.2/download", - type = "tar.gz", - sha256 = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d", - strip_prefix = "maplit-1.0.2", - build_file = Label("//cargo/remote:BUILD.maplit-1.0.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__markup5ever__0_10_1", - url = "https://crates.io/api/v1/crates/markup5ever/0.10.1/download", - type = "tar.gz", - sha256 = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd", - strip_prefix = "markup5ever-0.10.1", - build_file = Label("//cargo/remote:BUILD.markup5ever-0.10.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__markup5ever__0_11_0", - url = "https://crates.io/api/v1/crates/markup5ever/0.11.0/download", - type = "tar.gz", - sha256 = "7a2629bb1404f3d34c2e921f21fd34ba00b206124c81f65c50b43b6aaefeb016", - strip_prefix = "markup5ever-0.11.0", - build_file = Label("//cargo/remote:BUILD.markup5ever-0.11.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__matches__0_1_9", - url = "https://crates.io/api/v1/crates/matches/0.1.9/download", - type = "tar.gz", - sha256 = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f", - strip_prefix = "matches-0.1.9", - build_file = Label("//cargo/remote:BUILD.matches-0.1.9.bazel"), - ) - - maybe( - http_archive, - name = "raze__memchr__2_5_0", - url = "https://crates.io/api/v1/crates/memchr/2.5.0/download", - type = "tar.gz", - sha256 = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d", - strip_prefix = "memchr-2.5.0", - build_file = Label("//cargo/remote:BUILD.memchr-2.5.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__memoffset__0_6_5", - url = "https://crates.io/api/v1/crates/memoffset/0.6.5/download", - type = "tar.gz", - sha256 = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce", - strip_prefix = "memoffset-0.6.5", - build_file = Label("//cargo/remote:BUILD.memoffset-0.6.5.bazel"), - ) - - maybe( - http_archive, - name = "raze__mime__0_3_16", - url = "https://crates.io/api/v1/crates/mime/0.3.16/download", - type = "tar.gz", - sha256 = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d", - strip_prefix = "mime-0.3.16", - build_file = Label("//cargo/remote:BUILD.mime-0.3.16.bazel"), - ) - - maybe( - http_archive, - name = "raze__mime_guess__2_0_4", - url = "https://crates.io/api/v1/crates/mime_guess/2.0.4/download", - type = "tar.gz", - sha256 = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef", - strip_prefix = "mime_guess-2.0.4", - build_file = Label("//cargo/remote:BUILD.mime_guess-2.0.4.bazel"), - ) - - maybe( - http_archive, - name = "raze__minimal_lexical__0_2_1", - url = "https://crates.io/api/v1/crates/minimal-lexical/0.2.1/download", - type = "tar.gz", - sha256 = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a", - strip_prefix = "minimal-lexical-0.2.1", - build_file = Label("//cargo/remote:BUILD.minimal-lexical-0.2.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__miniz_oxide__0_5_4", - url = "https://crates.io/api/v1/crates/miniz_oxide/0.5.4/download", - type = "tar.gz", - sha256 = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34", - strip_prefix = "miniz_oxide-0.5.4", - build_file = Label("//cargo/remote:BUILD.miniz_oxide-0.5.4.bazel"), - ) - - maybe( - http_archive, - name = "raze__mio__0_8_4", - url = "https://crates.io/api/v1/crates/mio/0.8.4/download", - type = "tar.gz", - sha256 = "57ee1c23c7c63b0c9250c339ffdc69255f110b298b901b9f6c82547b7b87caaf", - strip_prefix = "mio-0.8.4", - build_file = Label("//cargo/remote:BUILD.mio-0.8.4.bazel"), - ) - - maybe( - http_archive, - name = "raze__multimap__0_8_3", - url = "https://crates.io/api/v1/crates/multimap/0.8.3/download", - type = "tar.gz", - sha256 = "e5ce46fe64a9d73be07dcbe690a38ce1b293be448fd8ce1e6c1b8062c9f72c6a", - strip_prefix = "multimap-0.8.3", - build_file = Label("//cargo/remote:BUILD.multimap-0.8.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__native_tls__0_2_10", - url = "https://crates.io/api/v1/crates/native-tls/0.2.10/download", - type = "tar.gz", - sha256 = "fd7e2f3618557f980e0b17e8856252eee3c97fa12c54dff0ca290fb6266ca4a9", - strip_prefix = "native-tls-0.2.10", - build_file = Label("//cargo/remote:BUILD.native-tls-0.2.10.bazel"), - ) - - maybe( - http_archive, - name = "raze__new_debug_unreachable__1_0_4", - url = "https://crates.io/api/v1/crates/new_debug_unreachable/1.0.4/download", - type = "tar.gz", - sha256 = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54", - strip_prefix = "new_debug_unreachable-1.0.4", - build_file = Label("//cargo/remote:BUILD.new_debug_unreachable-1.0.4.bazel"), - ) - - maybe( - http_archive, - name = "raze__nodrop__0_1_14", - url = "https://crates.io/api/v1/crates/nodrop/0.1.14/download", - type = "tar.gz", - sha256 = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb", - strip_prefix = "nodrop-0.1.14", - build_file = Label("//cargo/remote:BUILD.nodrop-0.1.14.bazel"), - ) - - maybe( - http_archive, - name = "raze__nom__7_1_1", - url = "https://crates.io/api/v1/crates/nom/7.1.1/download", - type = "tar.gz", - sha256 = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36", - strip_prefix = "nom-7.1.1", - build_file = Label("//cargo/remote:BUILD.nom-7.1.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__num_format__0_4_0", - url = "https://crates.io/api/v1/crates/num-format/0.4.0/download", - type = "tar.gz", - sha256 = "bafe4179722c2894288ee77a9f044f02811c86af699344c498b0840c698a2465", - strip_prefix = "num-format-0.4.0", - build_file = Label("//cargo/remote:BUILD.num-format-0.4.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__num_integer__0_1_45", - url = "https://crates.io/api/v1/crates/num-integer/0.1.45/download", - type = "tar.gz", - sha256 = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9", - strip_prefix = "num-integer-0.1.45", - build_file = Label("//cargo/remote:BUILD.num-integer-0.1.45.bazel"), - ) - - maybe( - http_archive, - name = "raze__num_traits__0_2_15", - url = "https://crates.io/api/v1/crates/num-traits/0.2.15/download", - type = "tar.gz", - sha256 = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd", - strip_prefix = "num-traits-0.2.15", - build_file = Label("//cargo/remote:BUILD.num-traits-0.2.15.bazel"), - ) - - maybe( - http_archive, - name = "raze__num_cpus__1_13_1", - url = "https://crates.io/api/v1/crates/num_cpus/1.13.1/download", - type = "tar.gz", - sha256 = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1", - strip_prefix = "num_cpus-1.13.1", - build_file = Label("//cargo/remote:BUILD.num_cpus-1.13.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__num_enum__0_5_7", - url = "https://crates.io/api/v1/crates/num_enum/0.5.7/download", - type = "tar.gz", - sha256 = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9", - strip_prefix = "num_enum-0.5.7", - build_file = Label("//cargo/remote:BUILD.num_enum-0.5.7.bazel"), - ) - - maybe( - http_archive, - name = "raze__num_enum_derive__0_5_7", - url = "https://crates.io/api/v1/crates/num_enum_derive/0.5.7/download", - type = "tar.gz", - sha256 = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce", - strip_prefix = "num_enum_derive-0.5.7", - build_file = Label("//cargo/remote:BUILD.num_enum_derive-0.5.7.bazel"), - ) - - maybe( - http_archive, - name = "raze__num_threads__0_1_6", - url = "https://crates.io/api/v1/crates/num_threads/0.1.6/download", - type = "tar.gz", - sha256 = "2819ce041d2ee131036f4fc9d6ae7ae125a3a40e97ba64d04fe799ad9dabbb44", - strip_prefix = "num_threads-0.1.6", - build_file = Label("//cargo/remote:BUILD.num_threads-0.1.6.bazel"), - ) - - maybe( - http_archive, - name = "raze__object__0_29_0", - url = "https://crates.io/api/v1/crates/object/0.29.0/download", - type = "tar.gz", - sha256 = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53", - strip_prefix = "object-0.29.0", - build_file = Label("//cargo/remote:BUILD.object-0.29.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__once_cell__1_15_0", - url = "https://crates.io/api/v1/crates/once_cell/1.15.0/download", - type = "tar.gz", - sha256 = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1", - strip_prefix = "once_cell-1.15.0", - build_file = Label("//cargo/remote:BUILD.once_cell-1.15.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__openssl__0_10_41", - url = "https://crates.io/api/v1/crates/openssl/0.10.41/download", - type = "tar.gz", - sha256 = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0", - strip_prefix = "openssl-0.10.41", - build_file = Label("//cargo/remote:BUILD.openssl-0.10.41.bazel"), - ) - - maybe( - http_archive, - name = "raze__openssl_macros__0_1_0", - url = "https://crates.io/api/v1/crates/openssl-macros/0.1.0/download", - type = "tar.gz", - sha256 = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c", - strip_prefix = "openssl-macros-0.1.0", - build_file = Label("//cargo/remote:BUILD.openssl-macros-0.1.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__openssl_probe__0_1_5", - url = "https://crates.io/api/v1/crates/openssl-probe/0.1.5/download", - type = "tar.gz", - sha256 = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf", - strip_prefix = "openssl-probe-0.1.5", - build_file = Label("//cargo/remote:BUILD.openssl-probe-0.1.5.bazel"), - ) - - maybe( - http_archive, - name = "raze__openssl_sys__0_9_75", - url = "https://crates.io/api/v1/crates/openssl-sys/0.9.75/download", - type = "tar.gz", - sha256 = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f", - strip_prefix = "openssl-sys-0.9.75", - build_file = Label("//cargo/remote:BUILD.openssl-sys-0.9.75.bazel"), - ) - - maybe( - http_archive, - name = "raze__parking_lot__0_12_1", - url = "https://crates.io/api/v1/crates/parking_lot/0.12.1/download", - type = "tar.gz", - sha256 = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f", - strip_prefix = "parking_lot-0.12.1", - build_file = Label("//cargo/remote:BUILD.parking_lot-0.12.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__parking_lot_core__0_9_3", - url = "https://crates.io/api/v1/crates/parking_lot_core/0.9.3/download", - type = "tar.gz", - sha256 = "09a279cbf25cb0757810394fbc1e359949b59e348145c643a939a525692e6929", - strip_prefix = "parking_lot_core-0.9.3", - build_file = Label("//cargo/remote:BUILD.parking_lot_core-0.9.3.bazel"), - ) - - maybe( - new_git_repository, - name = "raze__pct_str__1_1_0", - remote = "https://github.com/timothee-haudebourg/pct-str.git", - shallow_since = "1605376517 +0100", - commit = "4adccd8d4a222ab2672350a102f06ae832a0572d", - build_file = Label("//cargo/remote:BUILD.pct-str-1.1.0.bazel"), - init_submodules = True, - ) - - maybe( - http_archive, - name = "raze__percent_encoding__2_2_0", - url = "https://crates.io/api/v1/crates/percent-encoding/2.2.0/download", - type = "tar.gz", - sha256 = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e", - strip_prefix = "percent-encoding-2.2.0", - build_file = Label("//cargo/remote:BUILD.percent-encoding-2.2.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__petgraph__0_6_2", - url = "https://crates.io/api/v1/crates/petgraph/0.6.2/download", - type = "tar.gz", - sha256 = "e6d5014253a1331579ce62aa67443b4a658c5e7dd03d4bc6d302b94474888143", - strip_prefix = "petgraph-0.6.2", - build_file = Label("//cargo/remote:BUILD.petgraph-0.6.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__phf__0_10_1", - url = "https://crates.io/api/v1/crates/phf/0.10.1/download", - type = "tar.gz", - sha256 = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259", - strip_prefix = "phf-0.10.1", - build_file = Label("//cargo/remote:BUILD.phf-0.10.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__phf__0_11_1", - url = "https://crates.io/api/v1/crates/phf/0.11.1/download", - type = "tar.gz", - sha256 = "928c6535de93548188ef63bb7c4036bd415cd8f36ad25af44b9789b2ee72a48c", - strip_prefix = "phf-0.11.1", - build_file = Label("//cargo/remote:BUILD.phf-0.11.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__phf__0_8_0", - url = "https://crates.io/api/v1/crates/phf/0.8.0/download", - type = "tar.gz", - sha256 = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12", - strip_prefix = "phf-0.8.0", - build_file = Label("//cargo/remote:BUILD.phf-0.8.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__phf_codegen__0_10_0", - url = "https://crates.io/api/v1/crates/phf_codegen/0.10.0/download", - type = "tar.gz", - sha256 = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd", - strip_prefix = "phf_codegen-0.10.0", - build_file = Label("//cargo/remote:BUILD.phf_codegen-0.10.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__phf_codegen__0_8_0", - url = "https://crates.io/api/v1/crates/phf_codegen/0.8.0/download", - type = "tar.gz", - sha256 = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815", - strip_prefix = "phf_codegen-0.8.0", - build_file = Label("//cargo/remote:BUILD.phf_codegen-0.8.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__phf_generator__0_10_0", - url = "https://crates.io/api/v1/crates/phf_generator/0.10.0/download", - type = "tar.gz", - sha256 = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6", - strip_prefix = "phf_generator-0.10.0", - build_file = Label("//cargo/remote:BUILD.phf_generator-0.10.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__phf_generator__0_11_1", - url = "https://crates.io/api/v1/crates/phf_generator/0.11.1/download", - type = "tar.gz", - sha256 = "b1181c94580fa345f50f19d738aaa39c0ed30a600d95cb2d3e23f94266f14fbf", - strip_prefix = "phf_generator-0.11.1", - build_file = Label("//cargo/remote:BUILD.phf_generator-0.11.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__phf_generator__0_8_0", - url = "https://crates.io/api/v1/crates/phf_generator/0.8.0/download", - type = "tar.gz", - sha256 = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526", - strip_prefix = "phf_generator-0.8.0", - build_file = Label("//cargo/remote:BUILD.phf_generator-0.8.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__phf_macros__0_11_1", - url = "https://crates.io/api/v1/crates/phf_macros/0.11.1/download", - type = "tar.gz", - sha256 = "92aacdc5f16768709a569e913f7451034034178b05bdc8acda226659a3dccc66", - strip_prefix = "phf_macros-0.11.1", - build_file = Label("//cargo/remote:BUILD.phf_macros-0.11.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__phf_macros__0_8_0", - url = "https://crates.io/api/v1/crates/phf_macros/0.8.0/download", - type = "tar.gz", - sha256 = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c", - strip_prefix = "phf_macros-0.8.0", - build_file = Label("//cargo/remote:BUILD.phf_macros-0.8.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__phf_shared__0_10_0", - url = "https://crates.io/api/v1/crates/phf_shared/0.10.0/download", - type = "tar.gz", - sha256 = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096", - strip_prefix = "phf_shared-0.10.0", - build_file = Label("//cargo/remote:BUILD.phf_shared-0.10.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__phf_shared__0_11_1", - url = "https://crates.io/api/v1/crates/phf_shared/0.11.1/download", - type = "tar.gz", - sha256 = "e1fb5f6f826b772a8d4c0394209441e7d37cbbb967ae9c7e0e8134365c9ee676", - strip_prefix = "phf_shared-0.11.1", - build_file = Label("//cargo/remote:BUILD.phf_shared-0.11.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__phf_shared__0_8_0", - url = "https://crates.io/api/v1/crates/phf_shared/0.8.0/download", - type = "tar.gz", - sha256 = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7", - strip_prefix = "phf_shared-0.8.0", - build_file = Label("//cargo/remote:BUILD.phf_shared-0.8.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__pin_project__1_0_12", - url = "https://crates.io/api/v1/crates/pin-project/1.0.12/download", - type = "tar.gz", - sha256 = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc", - strip_prefix = "pin-project-1.0.12", - build_file = Label("//cargo/remote:BUILD.pin-project-1.0.12.bazel"), - ) - - maybe( - http_archive, - name = "raze__pin_project_internal__1_0_12", - url = "https://crates.io/api/v1/crates/pin-project-internal/1.0.12/download", - type = "tar.gz", - sha256 = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55", - strip_prefix = "pin-project-internal-1.0.12", - build_file = Label("//cargo/remote:BUILD.pin-project-internal-1.0.12.bazel"), - ) - - maybe( - http_archive, - name = "raze__pin_project_lite__0_2_9", - url = "https://crates.io/api/v1/crates/pin-project-lite/0.2.9/download", - type = "tar.gz", - sha256 = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116", - strip_prefix = "pin-project-lite-0.2.9", - build_file = Label("//cargo/remote:BUILD.pin-project-lite-0.2.9.bazel"), - ) - - maybe( - http_archive, - name = "raze__pin_utils__0_1_0", - url = "https://crates.io/api/v1/crates/pin-utils/0.1.0/download", - type = "tar.gz", - sha256 = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184", - strip_prefix = "pin-utils-0.1.0", - build_file = Label("//cargo/remote:BUILD.pin-utils-0.1.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__pkg_config__0_3_25", - url = "https://crates.io/api/v1/crates/pkg-config/0.3.25/download", - type = "tar.gz", - sha256 = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae", - strip_prefix = "pkg-config-0.3.25", - build_file = Label("//cargo/remote:BUILD.pkg-config-0.3.25.bazel"), - ) - - maybe( - http_archive, - name = "raze__ppv_lite86__0_2_16", - url = "https://crates.io/api/v1/crates/ppv-lite86/0.2.16/download", - type = "tar.gz", - sha256 = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872", - strip_prefix = "ppv-lite86-0.2.16", - build_file = Label("//cargo/remote:BUILD.ppv-lite86-0.2.16.bazel"), - ) - - maybe( - http_archive, - name = "raze__precomputed_hash__0_1_1", - url = "https://crates.io/api/v1/crates/precomputed-hash/0.1.1/download", - type = "tar.gz", - sha256 = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c", - strip_prefix = "precomputed-hash-0.1.1", - build_file = Label("//cargo/remote:BUILD.precomputed-hash-0.1.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__proc_macro_crate__1_2_1", - url = "https://crates.io/api/v1/crates/proc-macro-crate/1.2.1/download", - type = "tar.gz", - sha256 = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9", - strip_prefix = "proc-macro-crate-1.2.1", - build_file = Label("//cargo/remote:BUILD.proc-macro-crate-1.2.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__proc_macro_hack__0_5_19", - url = "https://crates.io/api/v1/crates/proc-macro-hack/0.5.19/download", - type = "tar.gz", - sha256 = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5", - strip_prefix = "proc-macro-hack-0.5.19", - build_file = Label("//cargo/remote:BUILD.proc-macro-hack-0.5.19.bazel"), - ) - - maybe( - http_archive, - name = "raze__proc_macro_nested__0_1_7", - url = "https://crates.io/api/v1/crates/proc-macro-nested/0.1.7/download", - type = "tar.gz", - sha256 = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086", - strip_prefix = "proc-macro-nested-0.1.7", - build_file = Label("//cargo/remote:BUILD.proc-macro-nested-0.1.7.bazel"), - ) - - maybe( - http_archive, - name = "raze__proc_macro2__1_0_43", - url = "https://crates.io/api/v1/crates/proc-macro2/1.0.43/download", - type = "tar.gz", - sha256 = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab", - strip_prefix = "proc-macro2-1.0.43", - build_file = Label("//cargo/remote:BUILD.proc-macro2-1.0.43.bazel"), - ) - - maybe( - http_archive, - name = "raze__prost__0_11_0", - url = "https://crates.io/api/v1/crates/prost/0.11.0/download", - type = "tar.gz", - sha256 = "399c3c31cdec40583bb68f0b18403400d01ec4289c383aa047560439952c4dd7", - strip_prefix = "prost-0.11.0", - build_file = Label("//cargo/remote:BUILD.prost-0.11.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__prost_build__0_11_1", - url = "https://crates.io/api/v1/crates/prost-build/0.11.1/download", - type = "tar.gz", - sha256 = "7f835c582e6bd972ba8347313300219fed5bfa52caf175298d860b61ff6069bb", - strip_prefix = "prost-build-0.11.1", - build_file = Label("//cargo/remote:BUILD.prost-build-0.11.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__prost_derive__0_11_0", - url = "https://crates.io/api/v1/crates/prost-derive/0.11.0/download", - type = "tar.gz", - sha256 = "7345d5f0e08c0536d7ac7229952590239e77abf0a0100a1b1d890add6ea96364", - strip_prefix = "prost-derive-0.11.0", - build_file = Label("//cargo/remote:BUILD.prost-derive-0.11.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__prost_types__0_11_1", - url = "https://crates.io/api/v1/crates/prost-types/0.11.1/download", - type = "tar.gz", - sha256 = "4dfaa718ad76a44b3415e6c4d53b17c8f99160dcb3a99b10470fce8ad43f6e3e", - strip_prefix = "prost-types-0.11.1", - build_file = Label("//cargo/remote:BUILD.prost-types-0.11.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__pulldown_cmark__0_8_0", - url = "https://crates.io/api/v1/crates/pulldown-cmark/0.8.0/download", - type = "tar.gz", - sha256 = "ffade02495f22453cd593159ea2f59827aae7f53fa8323f756799b670881dcf8", - strip_prefix = "pulldown-cmark-0.8.0", - build_file = Label("//cargo/remote:BUILD.pulldown-cmark-0.8.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__pulldown_cmark__0_9_2", - url = "https://crates.io/api/v1/crates/pulldown-cmark/0.9.2/download", - type = "tar.gz", - sha256 = "2d9cc634bc78768157b5cbfe988ffcd1dcba95cd2b2f03a88316c08c6d00ed63", - strip_prefix = "pulldown-cmark-0.9.2", - build_file = Label("//cargo/remote:BUILD.pulldown-cmark-0.9.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__pyo3__0_17_1", - url = "https://crates.io/api/v1/crates/pyo3/0.17.1/download", - type = "tar.gz", - sha256 = "12f72538a0230791398a0986a6518ebd88abc3fded89007b506ed072acc831e1", - strip_prefix = "pyo3-0.17.1", - build_file = Label("//cargo/remote:BUILD.pyo3-0.17.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__pyo3_build_config__0_17_1", - url = "https://crates.io/api/v1/crates/pyo3-build-config/0.17.1/download", - type = "tar.gz", - sha256 = "fc4cf18c20f4f09995f3554e6bcf9b09bd5e4d6b67c562fdfaafa644526ba479", - strip_prefix = "pyo3-build-config-0.17.1", - build_file = Label("//cargo/remote:BUILD.pyo3-build-config-0.17.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__pyo3_ffi__0_17_1", - url = "https://crates.io/api/v1/crates/pyo3-ffi/0.17.1/download", - type = "tar.gz", - sha256 = "a41877f28d8ebd600b6aa21a17b40c3b0fc4dfe73a27b6e81ab3d895e401b0e9", - strip_prefix = "pyo3-ffi-0.17.1", - build_file = Label("//cargo/remote:BUILD.pyo3-ffi-0.17.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__pyo3_macros__0_17_1", - url = "https://crates.io/api/v1/crates/pyo3-macros/0.17.1/download", - type = "tar.gz", - sha256 = "2e81c8d4bcc2f216dc1b665412df35e46d12ee8d3d046b381aad05f1fcf30547", - strip_prefix = "pyo3-macros-0.17.1", - build_file = Label("//cargo/remote:BUILD.pyo3-macros-0.17.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__pyo3_macros_backend__0_17_1", - url = "https://crates.io/api/v1/crates/pyo3-macros-backend/0.17.1/download", - type = "tar.gz", - sha256 = "85752a767ee19399a78272cc2ab625cd7d373b2e112b4b13db28de71fa892784", - strip_prefix = "pyo3-macros-backend-0.17.1", - build_file = Label("//cargo/remote:BUILD.pyo3-macros-backend-0.17.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__quote__1_0_21", - url = "https://crates.io/api/v1/crates/quote/1.0.21/download", - type = "tar.gz", - sha256 = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179", - strip_prefix = "quote-1.0.21", - build_file = Label("//cargo/remote:BUILD.quote-1.0.21.bazel"), - ) - - maybe( - http_archive, - name = "raze__rand__0_7_3", - url = "https://crates.io/api/v1/crates/rand/0.7.3/download", - type = "tar.gz", - sha256 = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03", - strip_prefix = "rand-0.7.3", - build_file = Label("//cargo/remote:BUILD.rand-0.7.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__rand__0_8_5", - url = "https://crates.io/api/v1/crates/rand/0.8.5/download", - type = "tar.gz", - sha256 = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404", - strip_prefix = "rand-0.8.5", - build_file = Label("//cargo/remote:BUILD.rand-0.8.5.bazel"), - ) - - maybe( - http_archive, - name = "raze__rand_chacha__0_2_2", - url = "https://crates.io/api/v1/crates/rand_chacha/0.2.2/download", - type = "tar.gz", - sha256 = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402", - strip_prefix = "rand_chacha-0.2.2", - build_file = Label("//cargo/remote:BUILD.rand_chacha-0.2.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__rand_chacha__0_3_1", - url = "https://crates.io/api/v1/crates/rand_chacha/0.3.1/download", - type = "tar.gz", - sha256 = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88", - strip_prefix = "rand_chacha-0.3.1", - build_file = Label("//cargo/remote:BUILD.rand_chacha-0.3.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__rand_core__0_5_1", - url = "https://crates.io/api/v1/crates/rand_core/0.5.1/download", - type = "tar.gz", - sha256 = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19", - strip_prefix = "rand_core-0.5.1", - build_file = Label("//cargo/remote:BUILD.rand_core-0.5.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__rand_core__0_6_4", - url = "https://crates.io/api/v1/crates/rand_core/0.6.4/download", - type = "tar.gz", - sha256 = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c", - strip_prefix = "rand_core-0.6.4", - build_file = Label("//cargo/remote:BUILD.rand_core-0.6.4.bazel"), - ) - - maybe( - http_archive, - name = "raze__rand_hc__0_2_0", - url = "https://crates.io/api/v1/crates/rand_hc/0.2.0/download", - type = "tar.gz", - sha256 = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c", - strip_prefix = "rand_hc-0.2.0", - build_file = Label("//cargo/remote:BUILD.rand_hc-0.2.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__rand_pcg__0_2_1", - url = "https://crates.io/api/v1/crates/rand_pcg/0.2.1/download", - type = "tar.gz", - sha256 = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429", - strip_prefix = "rand_pcg-0.2.1", - build_file = Label("//cargo/remote:BUILD.rand_pcg-0.2.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__redox_syscall__0_2_16", - url = "https://crates.io/api/v1/crates/redox_syscall/0.2.16/download", - type = "tar.gz", - sha256 = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a", - strip_prefix = "redox_syscall-0.2.16", - build_file = Label("//cargo/remote:BUILD.redox_syscall-0.2.16.bazel"), - ) - - maybe( - http_archive, - name = "raze__redox_users__0_4_3", - url = "https://crates.io/api/v1/crates/redox_users/0.4.3/download", - type = "tar.gz", - sha256 = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b", - strip_prefix = "redox_users-0.4.3", - build_file = Label("//cargo/remote:BUILD.redox_users-0.4.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__regex__1_6_0", - url = "https://crates.io/api/v1/crates/regex/1.6.0/download", - type = "tar.gz", - sha256 = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b", - strip_prefix = "regex-1.6.0", - build_file = Label("//cargo/remote:BUILD.regex-1.6.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__regex_automata__0_1_10", - url = "https://crates.io/api/v1/crates/regex-automata/0.1.10/download", - type = "tar.gz", - sha256 = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132", - strip_prefix = "regex-automata-0.1.10", - build_file = Label("//cargo/remote:BUILD.regex-automata-0.1.10.bazel"), - ) - - maybe( - http_archive, - name = "raze__regex_syntax__0_6_27", - url = "https://crates.io/api/v1/crates/regex-syntax/0.6.27/download", - type = "tar.gz", - sha256 = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244", - strip_prefix = "regex-syntax-0.6.27", - build_file = Label("//cargo/remote:BUILD.regex-syntax-0.6.27.bazel"), - ) - - maybe( - http_archive, - name = "raze__remove_dir_all__0_5_3", - url = "https://crates.io/api/v1/crates/remove_dir_all/0.5.3/download", - type = "tar.gz", - sha256 = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7", - strip_prefix = "remove_dir_all-0.5.3", - build_file = Label("//cargo/remote:BUILD.remove_dir_all-0.5.3.bazel"), - ) - - maybe( - new_git_repository, - name = "raze__reqwest__0_11_3", - remote = "https://github.com/ankitects/reqwest.git", - shallow_since = "1619519742 +1000", - commit = "7591444614de02b658ddab125efba7b2bb4e2335", - build_file = Label("//cargo:BUILD.reqwest.native.bazel"), - init_submodules = True, - ) - - maybe( - http_archive, - name = "raze__ring__0_16_20", - url = "https://crates.io/api/v1/crates/ring/0.16.20/download", - type = "tar.gz", - sha256 = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc", - strip_prefix = "ring-0.16.20", - build_file = Label("//cargo/remote:BUILD.ring-0.16.20.bazel"), - ) - - maybe( - http_archive, - name = "raze__rusqlite__0_28_0", - url = "https://crates.io/api/v1/crates/rusqlite/0.28.0/download", - type = "tar.gz", - sha256 = "01e213bc3ecb39ac32e81e51ebe31fd888a940515173e3a18a35f8c6e896422a", - strip_prefix = "rusqlite-0.28.0", - build_file = Label("//cargo/remote:BUILD.rusqlite-0.28.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__rustc_demangle__0_1_21", - url = "https://crates.io/api/v1/crates/rustc-demangle/0.1.21/download", - type = "tar.gz", - sha256 = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342", - strip_prefix = "rustc-demangle-0.1.21", - build_file = Label("//cargo/remote:BUILD.rustc-demangle-0.1.21.bazel"), - ) - - maybe( - http_archive, - name = "raze__rustc_hash__1_1_0", - url = "https://crates.io/api/v1/crates/rustc-hash/1.1.0/download", - type = "tar.gz", - sha256 = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2", - strip_prefix = "rustc-hash-1.1.0", - build_file = Label("//cargo/remote:BUILD.rustc-hash-1.1.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__rustc_version__0_4_0", - url = "https://crates.io/api/v1/crates/rustc_version/0.4.0/download", - type = "tar.gz", - sha256 = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366", - strip_prefix = "rustc_version-0.4.0", - build_file = Label("//cargo/remote:BUILD.rustc_version-0.4.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__rustls__0_19_1", - url = "https://crates.io/api/v1/crates/rustls/0.19.1/download", - type = "tar.gz", - sha256 = "35edb675feee39aec9c99fa5ff985081995a06d594114ae14cbe797ad7b7a6d7", - strip_prefix = "rustls-0.19.1", - build_file = Label("//cargo/remote:BUILD.rustls-0.19.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__rustls_native_certs__0_5_0", - url = "https://crates.io/api/v1/crates/rustls-native-certs/0.5.0/download", - type = "tar.gz", - sha256 = "5a07b7c1885bd8ed3831c289b7870b13ef46fe0e856d288c30d9cc17d75a2092", - strip_prefix = "rustls-native-certs-0.5.0", - build_file = Label("//cargo/remote:BUILD.rustls-native-certs-0.5.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__rustversion__1_0_9", - url = "https://crates.io/api/v1/crates/rustversion/1.0.9/download", - type = "tar.gz", - sha256 = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8", - strip_prefix = "rustversion-1.0.9", - build_file = Label("//cargo/remote:BUILD.rustversion-1.0.9.bazel"), - ) - - maybe( - http_archive, - name = "raze__ryu__1_0_11", - url = "https://crates.io/api/v1/crates/ryu/1.0.11/download", - type = "tar.gz", - sha256 = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09", - strip_prefix = "ryu-1.0.11", - build_file = Label("//cargo/remote:BUILD.ryu-1.0.11.bazel"), - ) - - maybe( - http_archive, - name = "raze__same_file__1_0_6", - url = "https://crates.io/api/v1/crates/same-file/1.0.6/download", - type = "tar.gz", - sha256 = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502", - strip_prefix = "same-file-1.0.6", - build_file = Label("//cargo/remote:BUILD.same-file-1.0.6.bazel"), - ) - - maybe( - http_archive, - name = "raze__schannel__0_1_20", - url = "https://crates.io/api/v1/crates/schannel/0.1.20/download", - type = "tar.gz", - sha256 = "88d6731146462ea25d9244b2ed5fd1d716d25c52e4d54aa4fb0f3c4e9854dbe2", - strip_prefix = "schannel-0.1.20", - build_file = Label("//cargo/remote:BUILD.schannel-0.1.20.bazel"), - ) - - maybe( - http_archive, - name = "raze__scopeguard__1_1_0", - url = "https://crates.io/api/v1/crates/scopeguard/1.1.0/download", - type = "tar.gz", - sha256 = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd", - strip_prefix = "scopeguard-1.1.0", - build_file = Label("//cargo/remote:BUILD.scopeguard-1.1.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__sct__0_6_1", - url = "https://crates.io/api/v1/crates/sct/0.6.1/download", - type = "tar.gz", - sha256 = "b362b83898e0e69f38515b82ee15aa80636befe47c3b6d3d89a911e78fc228ce", - strip_prefix = "sct-0.6.1", - build_file = Label("//cargo/remote:BUILD.sct-0.6.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__security_framework__2_7_0", - url = "https://crates.io/api/v1/crates/security-framework/2.7.0/download", - type = "tar.gz", - sha256 = "2bc1bb97804af6631813c55739f771071e0f2ed33ee20b68c86ec505d906356c", - strip_prefix = "security-framework-2.7.0", - build_file = Label("//cargo/remote:BUILD.security-framework-2.7.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__security_framework_sys__2_6_1", - url = "https://crates.io/api/v1/crates/security-framework-sys/2.6.1/download", - type = "tar.gz", - sha256 = "0160a13a177a45bfb43ce71c01580998474f556ad854dcbca936dd2841a5c556", - strip_prefix = "security-framework-sys-2.6.1", - build_file = Label("//cargo/remote:BUILD.security-framework-sys-2.6.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__selectors__0_22_0", - url = "https://crates.io/api/v1/crates/selectors/0.22.0/download", - type = "tar.gz", - sha256 = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe", - strip_prefix = "selectors-0.22.0", - build_file = Label("//cargo/remote:BUILD.selectors-0.22.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__self_cell__0_10_2", - url = "https://crates.io/api/v1/crates/self_cell/0.10.2/download", - type = "tar.gz", - sha256 = "1ef965a420fe14fdac7dd018862966a4c14094f900e1650bbc71ddd7d580c8af", - strip_prefix = "self_cell-0.10.2", - build_file = Label("//cargo/remote:BUILD.self_cell-0.10.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__semver__1_0_14", - url = "https://crates.io/api/v1/crates/semver/1.0.14/download", - type = "tar.gz", - sha256 = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4", - strip_prefix = "semver-1.0.14", - build_file = Label("//cargo/remote:BUILD.semver-1.0.14.bazel"), - ) - - maybe( - http_archive, - name = "raze__serde__1_0_145", - url = "https://crates.io/api/v1/crates/serde/1.0.145/download", - type = "tar.gz", - sha256 = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b", - strip_prefix = "serde-1.0.145", - build_file = Label("//cargo/remote:BUILD.serde-1.0.145.bazel"), - ) - - maybe( - http_archive, - name = "raze__serde_aux__4_0_0", - url = "https://crates.io/api/v1/crates/serde-aux/4.0.0/download", - type = "tar.gz", - sha256 = "c79c1a5a310c28bf9f7a4b9bd848553051120d80a5952f993c7eb62f6ed6e4c5", - strip_prefix = "serde-aux-4.0.0", - build_file = Label("//cargo/remote:BUILD.serde-aux-4.0.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__serde_derive__1_0_145", - url = "https://crates.io/api/v1/crates/serde_derive/1.0.145/download", - type = "tar.gz", - sha256 = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c", - strip_prefix = "serde_derive-1.0.145", - build_file = Label("//cargo/remote:BUILD.serde_derive-1.0.145.bazel"), - ) - - maybe( - http_archive, - name = "raze__serde_json__1_0_85", - url = "https://crates.io/api/v1/crates/serde_json/1.0.85/download", - type = "tar.gz", - sha256 = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44", - strip_prefix = "serde_json-1.0.85", - build_file = Label("//cargo/remote:BUILD.serde_json-1.0.85.bazel"), - ) - - maybe( - http_archive, - name = "raze__serde_repr__0_1_9", - url = "https://crates.io/api/v1/crates/serde_repr/0.1.9/download", - type = "tar.gz", - sha256 = "1fe39d9fbb0ebf5eb2c7cb7e2a47e4f462fad1379f1166b8ae49ad9eae89a7ca", - strip_prefix = "serde_repr-0.1.9", - build_file = Label("//cargo/remote:BUILD.serde_repr-0.1.9.bazel"), - ) - - maybe( - http_archive, - name = "raze__serde_tuple__0_5_0", - url = "https://crates.io/api/v1/crates/serde_tuple/0.5.0/download", - type = "tar.gz", - sha256 = "f4f025b91216f15a2a32aa39669329a475733590a015835d1783549a56d09427", - strip_prefix = "serde_tuple-0.5.0", - build_file = Label("//cargo/remote:BUILD.serde_tuple-0.5.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__serde_tuple_macros__0_5_0", - url = "https://crates.io/api/v1/crates/serde_tuple_macros/0.5.0/download", - type = "tar.gz", - sha256 = "4076151d1a2b688e25aaf236997933c66e18b870d0369f8b248b8ab2be630d7e", - strip_prefix = "serde_tuple_macros-0.5.0", - build_file = Label("//cargo/remote:BUILD.serde_tuple_macros-0.5.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__serde_urlencoded__0_7_1", - url = "https://crates.io/api/v1/crates/serde_urlencoded/0.7.1/download", - type = "tar.gz", - sha256 = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd", - strip_prefix = "serde_urlencoded-0.7.1", - build_file = Label("//cargo/remote:BUILD.serde_urlencoded-0.7.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__servo_arc__0_1_1", - url = "https://crates.io/api/v1/crates/servo_arc/0.1.1/download", - type = "tar.gz", - sha256 = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432", - strip_prefix = "servo_arc-0.1.1", - build_file = Label("//cargo/remote:BUILD.servo_arc-0.1.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__sha1__0_6_1", - url = "https://crates.io/api/v1/crates/sha1/0.6.1/download", - type = "tar.gz", - sha256 = "c1da05c97445caa12d05e848c4a4fcbbea29e748ac28f7e80e9b010392063770", - strip_prefix = "sha1-0.6.1", - build_file = Label("//cargo/remote:BUILD.sha1-0.6.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__sha1_smol__1_0_0", - url = "https://crates.io/api/v1/crates/sha1_smol/1.0.0/download", - type = "tar.gz", - sha256 = "ae1a47186c03a32177042e55dbc5fd5aee900b8e0069a8d70fba96a9375cd012", - strip_prefix = "sha1_smol-1.0.0", - build_file = Label("//cargo/remote:BUILD.sha1_smol-1.0.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__signal_hook_registry__1_4_0", - url = "https://crates.io/api/v1/crates/signal-hook-registry/1.4.0/download", - type = "tar.gz", - sha256 = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0", - strip_prefix = "signal-hook-registry-1.4.0", - build_file = Label("//cargo/remote:BUILD.signal-hook-registry-1.4.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__siphasher__0_3_10", - url = "https://crates.io/api/v1/crates/siphasher/0.3.10/download", - type = "tar.gz", - sha256 = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de", - strip_prefix = "siphasher-0.3.10", - build_file = Label("//cargo/remote:BUILD.siphasher-0.3.10.bazel"), - ) - - maybe( - http_archive, - name = "raze__slab__0_4_7", - url = "https://crates.io/api/v1/crates/slab/0.4.7/download", - type = "tar.gz", - sha256 = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef", - strip_prefix = "slab-0.4.7", - build_file = Label("//cargo/remote:BUILD.slab-0.4.7.bazel"), - ) - - maybe( - http_archive, - name = "raze__slog__2_7_0", - url = "https://crates.io/api/v1/crates/slog/2.7.0/download", - type = "tar.gz", - sha256 = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06", - strip_prefix = "slog-2.7.0", - build_file = Label("//cargo/remote:BUILD.slog-2.7.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__slog_async__2_7_0", - url = "https://crates.io/api/v1/crates/slog-async/2.7.0/download", - type = "tar.gz", - sha256 = "766c59b252e62a34651412870ff55d8c4e6d04df19b43eecb2703e417b097ffe", - strip_prefix = "slog-async-2.7.0", - build_file = Label("//cargo/remote:BUILD.slog-async-2.7.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__slog_envlogger__2_2_0", - url = "https://crates.io/api/v1/crates/slog-envlogger/2.2.0/download", - type = "tar.gz", - sha256 = "906a1a0bc43fed692df4b82a5e2fbfc3733db8dad8bb514ab27a4f23ad04f5c0", - strip_prefix = "slog-envlogger-2.2.0", - build_file = Label("//cargo/remote:BUILD.slog-envlogger-2.2.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__slog_scope__4_4_0", - url = "https://crates.io/api/v1/crates/slog-scope/4.4.0/download", - type = "tar.gz", - sha256 = "2f95a4b4c3274cd2869549da82b57ccc930859bdbf5bcea0424bc5f140b3c786", - strip_prefix = "slog-scope-4.4.0", - build_file = Label("//cargo/remote:BUILD.slog-scope-4.4.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__slog_stdlog__4_1_1", - url = "https://crates.io/api/v1/crates/slog-stdlog/4.1.1/download", - type = "tar.gz", - sha256 = "6706b2ace5bbae7291d3f8d2473e2bfab073ccd7d03670946197aec98471fa3e", - strip_prefix = "slog-stdlog-4.1.1", - build_file = Label("//cargo/remote:BUILD.slog-stdlog-4.1.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__slog_term__2_9_0", - url = "https://crates.io/api/v1/crates/slog-term/2.9.0/download", - type = "tar.gz", - sha256 = "87d29185c55b7b258b4f120eab00f48557d4d9bc814f41713f449d35b0f8977c", - strip_prefix = "slog-term-2.9.0", - build_file = Label("//cargo/remote:BUILD.slog-term-2.9.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__smallvec__1_9_0", - url = "https://crates.io/api/v1/crates/smallvec/1.9.0/download", - type = "tar.gz", - sha256 = "2fd0db749597d91ff862fd1d55ea87f7855a744a8425a64695b6fca237d1dad1", - strip_prefix = "smallvec-1.9.0", - build_file = Label("//cargo/remote:BUILD.smallvec-1.9.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__snafu__0_7_2", - url = "https://crates.io/api/v1/crates/snafu/0.7.2/download", - type = "tar.gz", - sha256 = "dd726aec4ebad65756394ff89a9b9598793d4e30121cd71690244c1e497b3aee", - strip_prefix = "snafu-0.7.2", - build_file = Label("//cargo/remote:BUILD.snafu-0.7.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__snafu_derive__0_7_2", - url = "https://crates.io/api/v1/crates/snafu-derive/0.7.2/download", - type = "tar.gz", - sha256 = "712529e9b0b014eabaa345b38e06032767e3dc393e8b017e853b1d7247094e74", - strip_prefix = "snafu-derive-0.7.2", - build_file = Label("//cargo/remote:BUILD.snafu-derive-0.7.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__snowflake__1_3_0", - url = "https://crates.io/api/v1/crates/snowflake/1.3.0/download", - type = "tar.gz", - sha256 = "27207bb65232eda1f588cf46db2fee75c0808d557f6b3cf19a75f5d6d7c94df1", - strip_prefix = "snowflake-1.3.0", - build_file = Label("//cargo/remote:BUILD.snowflake-1.3.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__socket2__0_4_7", - url = "https://crates.io/api/v1/crates/socket2/0.4.7/download", - type = "tar.gz", - sha256 = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd", - strip_prefix = "socket2-0.4.7", - build_file = Label("//cargo/remote:BUILD.socket2-0.4.7.bazel"), - ) - - maybe( - http_archive, - name = "raze__spin__0_5_2", - url = "https://crates.io/api/v1/crates/spin/0.5.2/download", - type = "tar.gz", - sha256 = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d", - strip_prefix = "spin-0.5.2", - build_file = Label("//cargo/remote:BUILD.spin-0.5.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__stable_deref_trait__1_2_0", - url = "https://crates.io/api/v1/crates/stable_deref_trait/1.2.0/download", - type = "tar.gz", - sha256 = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3", - strip_prefix = "stable_deref_trait-1.2.0", - build_file = Label("//cargo/remote:BUILD.stable_deref_trait-1.2.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__string_cache__0_8_4", - url = "https://crates.io/api/v1/crates/string_cache/0.8.4/download", - type = "tar.gz", - sha256 = "213494b7a2b503146286049378ce02b482200519accc31872ee8be91fa820a08", - strip_prefix = "string_cache-0.8.4", - build_file = Label("//cargo/remote:BUILD.string_cache-0.8.4.bazel"), - ) - - maybe( - http_archive, - name = "raze__string_cache_codegen__0_5_2", - url = "https://crates.io/api/v1/crates/string_cache_codegen/0.5.2/download", - type = "tar.gz", - sha256 = "6bb30289b722be4ff74a408c3cc27edeaad656e06cb1fe8fa9231fa59c728988", - strip_prefix = "string_cache_codegen-0.5.2", - build_file = Label("//cargo/remote:BUILD.string_cache_codegen-0.5.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__strum__0_24_1", - url = "https://crates.io/api/v1/crates/strum/0.24.1/download", - type = "tar.gz", - sha256 = "063e6045c0e62079840579a7e47a355ae92f60eb74daaf156fb1e84ba164e63f", - strip_prefix = "strum-0.24.1", - build_file = Label("//cargo/remote:BUILD.strum-0.24.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__strum_macros__0_24_3", - url = "https://crates.io/api/v1/crates/strum_macros/0.24.3/download", - type = "tar.gz", - sha256 = "1e385be0d24f186b4ce2f9982191e7101bb737312ad61c1f2f984f34bcf85d59", - strip_prefix = "strum_macros-0.24.3", - build_file = Label("//cargo/remote:BUILD.strum_macros-0.24.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__subtle__2_4_1", - url = "https://crates.io/api/v1/crates/subtle/2.4.1/download", - type = "tar.gz", - sha256 = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601", - strip_prefix = "subtle-2.4.1", - build_file = Label("//cargo/remote:BUILD.subtle-2.4.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__syn__1_0_100", - url = "https://crates.io/api/v1/crates/syn/1.0.100/download", - type = "tar.gz", - sha256 = "52205623b1b0f064a4e71182c3b18ae902267282930c6d5462c91b859668426e", - strip_prefix = "syn-1.0.100", - build_file = Label("//cargo/remote:BUILD.syn-1.0.100.bazel"), - ) - - maybe( - http_archive, - name = "raze__take_mut__0_2_2", - url = "https://crates.io/api/v1/crates/take_mut/0.2.2/download", - type = "tar.gz", - sha256 = "f764005d11ee5f36500a149ace24e00e3da98b0158b3e2d53a7495660d3f4d60", - strip_prefix = "take_mut-0.2.2", - build_file = Label("//cargo/remote:BUILD.take_mut-0.2.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__target_lexicon__0_12_4", - url = "https://crates.io/api/v1/crates/target-lexicon/0.12.4/download", - type = "tar.gz", - sha256 = "c02424087780c9b71cc96799eaeddff35af2bc513278cda5c99fc1f5d026d3c1", - strip_prefix = "target-lexicon-0.12.4", - build_file = Label("//cargo/remote:BUILD.target-lexicon-0.12.4.bazel"), - ) - - maybe( - http_archive, - name = "raze__tempfile__3_3_0", - url = "https://crates.io/api/v1/crates/tempfile/3.3.0/download", - type = "tar.gz", - sha256 = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4", - strip_prefix = "tempfile-3.3.0", - build_file = Label("//cargo/remote:BUILD.tempfile-3.3.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__tendril__0_4_3", - url = "https://crates.io/api/v1/crates/tendril/0.4.3/download", - type = "tar.gz", - sha256 = "d24a120c5fc464a3458240ee02c299ebcb9d67b5249c8848b09d639dca8d7bb0", - strip_prefix = "tendril-0.4.3", - build_file = Label("//cargo/remote:BUILD.tendril-0.4.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__term__0_7_0", - url = "https://crates.io/api/v1/crates/term/0.7.0/download", - type = "tar.gz", - sha256 = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f", - strip_prefix = "term-0.7.0", - build_file = Label("//cargo/remote:BUILD.term-0.7.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__termcolor__1_1_3", - url = "https://crates.io/api/v1/crates/termcolor/1.1.3/download", - type = "tar.gz", - sha256 = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755", - strip_prefix = "termcolor-1.1.3", - build_file = Label("//cargo/remote:BUILD.termcolor-1.1.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__thin_slice__0_1_1", - url = "https://crates.io/api/v1/crates/thin-slice/0.1.1/download", - type = "tar.gz", - sha256 = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c", - strip_prefix = "thin-slice-0.1.1", - build_file = Label("//cargo/remote:BUILD.thin-slice-0.1.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__thiserror__1_0_35", - url = "https://crates.io/api/v1/crates/thiserror/1.0.35/download", - type = "tar.gz", - sha256 = "c53f98874615aea268107765aa1ed8f6116782501d18e53d08b471733bea6c85", - strip_prefix = "thiserror-1.0.35", - build_file = Label("//cargo/remote:BUILD.thiserror-1.0.35.bazel"), - ) - - maybe( - http_archive, - name = "raze__thiserror_impl__1_0_35", - url = "https://crates.io/api/v1/crates/thiserror-impl/1.0.35/download", - type = "tar.gz", - sha256 = "f8b463991b4eab2d801e724172285ec4195c650e8ec79b149e6c2a8e6dd3f783", - strip_prefix = "thiserror-impl-1.0.35", - build_file = Label("//cargo/remote:BUILD.thiserror-impl-1.0.35.bazel"), - ) - - maybe( - http_archive, - name = "raze__thread_local__1_1_4", - url = "https://crates.io/api/v1/crates/thread_local/1.1.4/download", - type = "tar.gz", - sha256 = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180", - strip_prefix = "thread_local-1.1.4", - build_file = Label("//cargo/remote:BUILD.thread_local-1.1.4.bazel"), - ) - - maybe( - http_archive, - name = "raze__time__0_1_44", - url = "https://crates.io/api/v1/crates/time/0.1.44/download", - type = "tar.gz", - sha256 = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255", - strip_prefix = "time-0.1.44", - build_file = Label("//cargo/remote:BUILD.time-0.1.44.bazel"), - ) - - maybe( - http_archive, - name = "raze__time__0_3_14", - url = "https://crates.io/api/v1/crates/time/0.3.14/download", - type = "tar.gz", - sha256 = "3c3f9a28b618c3a6b9251b6908e9c99e04b9e5c02e6581ccbb67d59c34ef7f9b", - strip_prefix = "time-0.3.14", - build_file = Label("//cargo/remote:BUILD.time-0.3.14.bazel"), - ) - - maybe( - http_archive, - name = "raze__time_macros__0_2_4", - url = "https://crates.io/api/v1/crates/time-macros/0.2.4/download", - type = "tar.gz", - sha256 = "42657b1a6f4d817cda8e7a0ace261fe0cc946cf3a80314390b22cc61ae080792", - strip_prefix = "time-macros-0.2.4", - build_file = Label("//cargo/remote:BUILD.time-macros-0.2.4.bazel"), - ) - - maybe( - http_archive, - name = "raze__tinystr__0_3_4", - url = "https://crates.io/api/v1/crates/tinystr/0.3.4/download", - type = "tar.gz", - sha256 = "29738eedb4388d9ea620eeab9384884fc3f06f586a2eddb56bedc5885126c7c1", - strip_prefix = "tinystr-0.3.4", - build_file = Label("//cargo/remote:BUILD.tinystr-0.3.4.bazel"), - ) - - maybe( - http_archive, - name = "raze__tinyvec__1_6_0", - url = "https://crates.io/api/v1/crates/tinyvec/1.6.0/download", - type = "tar.gz", - sha256 = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50", - strip_prefix = "tinyvec-1.6.0", - build_file = Label("//cargo/remote:BUILD.tinyvec-1.6.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__tinyvec_macros__0_1_0", - url = "https://crates.io/api/v1/crates/tinyvec_macros/0.1.0/download", - type = "tar.gz", - sha256 = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c", - strip_prefix = "tinyvec_macros-0.1.0", - build_file = Label("//cargo/remote:BUILD.tinyvec_macros-0.1.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__tokio__1_21_1", - url = "https://crates.io/api/v1/crates/tokio/1.21.1/download", - type = "tar.gz", - sha256 = "0020c875007ad96677dcc890298f4b942882c5d4eb7cc8f439fc3bf813dc9c95", - strip_prefix = "tokio-1.21.1", - build_file = Label("//cargo/remote:BUILD.tokio-1.21.1.bazel"), - ) - - maybe( - new_git_repository, - name = "raze__tokio_io_timeout__1_1_1", - remote = "https://github.com/ankitects/tokio-io-timeout.git", - shallow_since = "1619517354 +1000", - commit = "1ee0892217e9a76bba4bb369ec5fab8854935a3c", - build_file = Label("//cargo/remote:BUILD.tokio-io-timeout-1.1.1.bazel"), - init_submodules = True, - ) - - maybe( - http_archive, - name = "raze__tokio_macros__1_8_0", - url = "https://crates.io/api/v1/crates/tokio-macros/1.8.0/download", - type = "tar.gz", - sha256 = "9724f9a975fb987ef7a3cd9be0350edcbe130698af5b8f7a631e23d42d052484", - strip_prefix = "tokio-macros-1.8.0", - build_file = Label("//cargo/remote:BUILD.tokio-macros-1.8.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__tokio_native_tls__0_3_0", - url = "https://crates.io/api/v1/crates/tokio-native-tls/0.3.0/download", - type = "tar.gz", - sha256 = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b", - strip_prefix = "tokio-native-tls-0.3.0", - build_file = Label("//cargo/remote:BUILD.tokio-native-tls-0.3.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__tokio_rustls__0_22_0", - url = "https://crates.io/api/v1/crates/tokio-rustls/0.22.0/download", - type = "tar.gz", - sha256 = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6", - strip_prefix = "tokio-rustls-0.22.0", - build_file = Label("//cargo/remote:BUILD.tokio-rustls-0.22.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__tokio_socks__0_5_1", - url = "https://crates.io/api/v1/crates/tokio-socks/0.5.1/download", - type = "tar.gz", - sha256 = "51165dfa029d2a65969413a6cc96f354b86b464498702f174a4efa13608fd8c0", - strip_prefix = "tokio-socks-0.5.1", - build_file = Label("//cargo/remote:BUILD.tokio-socks-0.5.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__tokio_util__0_7_4", - url = "https://crates.io/api/v1/crates/tokio-util/0.7.4/download", - type = "tar.gz", - sha256 = "0bb2e075f03b3d66d8d8785356224ba688d2906a371015e225beeb65ca92c740", - strip_prefix = "tokio-util-0.7.4", - build_file = Label("//cargo/remote:BUILD.tokio-util-0.7.4.bazel"), - ) - - maybe( - http_archive, - name = "raze__toml__0_5_9", - url = "https://crates.io/api/v1/crates/toml/0.5.9/download", - type = "tar.gz", - sha256 = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7", - strip_prefix = "toml-0.5.9", - build_file = Label("//cargo/remote:BUILD.toml-0.5.9.bazel"), - ) - - maybe( - http_archive, - name = "raze__tower_service__0_3_2", - url = "https://crates.io/api/v1/crates/tower-service/0.3.2/download", - type = "tar.gz", - sha256 = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52", - strip_prefix = "tower-service-0.3.2", - build_file = Label("//cargo/remote:BUILD.tower-service-0.3.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__tracing__0_1_36", - url = "https://crates.io/api/v1/crates/tracing/0.1.36/download", - type = "tar.gz", - sha256 = "2fce9567bd60a67d08a16488756721ba392f24f29006402881e43b19aac64307", - strip_prefix = "tracing-0.1.36", - build_file = Label("//cargo/remote:BUILD.tracing-0.1.36.bazel"), - ) - - maybe( - http_archive, - name = "raze__tracing_core__0_1_29", - url = "https://crates.io/api/v1/crates/tracing-core/0.1.29/download", - type = "tar.gz", - sha256 = "5aeea4303076558a00714b823f9ad67d58a3bbda1df83d8827d21193156e22f7", - strip_prefix = "tracing-core-0.1.29", - build_file = Label("//cargo/remote:BUILD.tracing-core-0.1.29.bazel"), - ) - - maybe( - http_archive, - name = "raze__try_lock__0_2_3", - url = "https://crates.io/api/v1/crates/try-lock/0.2.3/download", - type = "tar.gz", - sha256 = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642", - strip_prefix = "try-lock-0.2.3", - build_file = Label("//cargo/remote:BUILD.try-lock-0.2.3.bazel"), - ) - - maybe( - http_archive, - name = "raze__type_map__0_4_0", - url = "https://crates.io/api/v1/crates/type-map/0.4.0/download", - type = "tar.gz", - sha256 = "b6d3364c5e96cb2ad1603037ab253ddd34d7fb72a58bdddf4b7350760fc69a46", - strip_prefix = "type-map-0.4.0", - build_file = Label("//cargo/remote:BUILD.type-map-0.4.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__typenum__1_15_0", - url = "https://crates.io/api/v1/crates/typenum/1.15.0/download", - type = "tar.gz", - sha256 = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987", - strip_prefix = "typenum-1.15.0", - build_file = Label("//cargo/remote:BUILD.typenum-1.15.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__unic_char_property__0_9_0", - url = "https://crates.io/api/v1/crates/unic-char-property/0.9.0/download", - type = "tar.gz", - sha256 = "a8c57a407d9b6fa02b4795eb81c5b6652060a15a7903ea981f3d723e6c0be221", - strip_prefix = "unic-char-property-0.9.0", - build_file = Label("//cargo/remote:BUILD.unic-char-property-0.9.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__unic_char_range__0_9_0", - url = "https://crates.io/api/v1/crates/unic-char-range/0.9.0/download", - type = "tar.gz", - sha256 = "0398022d5f700414f6b899e10b8348231abf9173fa93144cbc1a43b9793c1fbc", - strip_prefix = "unic-char-range-0.9.0", - build_file = Label("//cargo/remote:BUILD.unic-char-range-0.9.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__unic_common__0_9_0", - url = "https://crates.io/api/v1/crates/unic-common/0.9.0/download", - type = "tar.gz", - sha256 = "80d7ff825a6a654ee85a63e80f92f054f904f21e7d12da4e22f9834a4aaa35bc", - strip_prefix = "unic-common-0.9.0", - build_file = Label("//cargo/remote:BUILD.unic-common-0.9.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__unic_langid__0_9_0", - url = "https://crates.io/api/v1/crates/unic-langid/0.9.0/download", - type = "tar.gz", - sha256 = "73328fcd730a030bdb19ddf23e192187a6b01cd98be6d3140622a89129459ce5", - strip_prefix = "unic-langid-0.9.0", - build_file = Label("//cargo/remote:BUILD.unic-langid-0.9.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__unic_langid_impl__0_9_0", - url = "https://crates.io/api/v1/crates/unic-langid-impl/0.9.0/download", - type = "tar.gz", - sha256 = "1a4a8eeaf0494862c1404c95ec2f4c33a2acff5076f64314b465e3ddae1b934d", - strip_prefix = "unic-langid-impl-0.9.0", - build_file = Label("//cargo/remote:BUILD.unic-langid-impl-0.9.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__unic_langid_macros__0_9_0", - url = "https://crates.io/api/v1/crates/unic-langid-macros/0.9.0/download", - type = "tar.gz", - sha256 = "18f980d6d87e8805f2836d64b4138cc95aa7986fa63b1f51f67d5fbff64dd6e5", - strip_prefix = "unic-langid-macros-0.9.0", - build_file = Label("//cargo/remote:BUILD.unic-langid-macros-0.9.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__unic_langid_macros_impl__0_9_0", - url = "https://crates.io/api/v1/crates/unic-langid-macros-impl/0.9.0/download", - type = "tar.gz", - sha256 = "29396ffd97e27574c3e01368b1a64267d3064969e4848e2e130ff668be9daa9f", - strip_prefix = "unic-langid-macros-impl-0.9.0", - build_file = Label("//cargo/remote:BUILD.unic-langid-macros-impl-0.9.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__unic_ucd_category__0_9_0", - url = "https://crates.io/api/v1/crates/unic-ucd-category/0.9.0/download", - type = "tar.gz", - sha256 = "1b8d4591f5fcfe1bd4453baaf803c40e1b1e69ff8455c47620440b46efef91c0", - strip_prefix = "unic-ucd-category-0.9.0", - build_file = Label("//cargo/remote:BUILD.unic-ucd-category-0.9.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__unic_ucd_version__0_9_0", - url = "https://crates.io/api/v1/crates/unic-ucd-version/0.9.0/download", - type = "tar.gz", - sha256 = "96bd2f2237fe450fcd0a1d2f5f4e91711124f7857ba2e964247776ebeeb7b0c4", - strip_prefix = "unic-ucd-version-0.9.0", - build_file = Label("//cargo/remote:BUILD.unic-ucd-version-0.9.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__unicase__2_6_0", - url = "https://crates.io/api/v1/crates/unicase/2.6.0/download", - type = "tar.gz", - sha256 = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6", - strip_prefix = "unicase-2.6.0", - build_file = Label("//cargo/remote:BUILD.unicase-2.6.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__unicode_bidi__0_3_8", - url = "https://crates.io/api/v1/crates/unicode-bidi/0.3.8/download", - type = "tar.gz", - sha256 = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992", - strip_prefix = "unicode-bidi-0.3.8", - build_file = Label("//cargo/remote:BUILD.unicode-bidi-0.3.8.bazel"), - ) - - maybe( - http_archive, - name = "raze__unicode_ident__1_0_4", - url = "https://crates.io/api/v1/crates/unicode-ident/1.0.4/download", - type = "tar.gz", - sha256 = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd", - strip_prefix = "unicode-ident-1.0.4", - build_file = Label("//cargo/remote:BUILD.unicode-ident-1.0.4.bazel"), - ) - - maybe( - http_archive, - name = "raze__unicode_normalization__0_1_22", - url = "https://crates.io/api/v1/crates/unicode-normalization/0.1.22/download", - type = "tar.gz", - sha256 = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921", - strip_prefix = "unicode-normalization-0.1.22", - build_file = Label("//cargo/remote:BUILD.unicode-normalization-0.1.22.bazel"), - ) - - maybe( - http_archive, - name = "raze__unicode_segmentation__1_10_0", - url = "https://crates.io/api/v1/crates/unicode-segmentation/1.10.0/download", - type = "tar.gz", - sha256 = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a", - strip_prefix = "unicode-segmentation-1.10.0", - build_file = Label("//cargo/remote:BUILD.unicode-segmentation-1.10.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__unicode_width__0_1_10", - url = "https://crates.io/api/v1/crates/unicode-width/0.1.10/download", - type = "tar.gz", - sha256 = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b", - strip_prefix = "unicode-width-0.1.10", - build_file = Label("//cargo/remote:BUILD.unicode-width-0.1.10.bazel"), - ) - - maybe( - http_archive, - name = "raze__unindent__0_1_10", - url = "https://crates.io/api/v1/crates/unindent/0.1.10/download", - type = "tar.gz", - sha256 = "58ee9362deb4a96cef4d437d1ad49cffc9b9e92d202b6995674e928ce684f112", - strip_prefix = "unindent-0.1.10", - build_file = Label("//cargo/remote:BUILD.unindent-0.1.10.bazel"), - ) - - maybe( - http_archive, - name = "raze__untrusted__0_7_1", - url = "https://crates.io/api/v1/crates/untrusted/0.7.1/download", - type = "tar.gz", - sha256 = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a", - strip_prefix = "untrusted-0.7.1", - build_file = Label("//cargo/remote:BUILD.untrusted-0.7.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__url__2_3_1", - url = "https://crates.io/api/v1/crates/url/2.3.1/download", - type = "tar.gz", - sha256 = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643", - strip_prefix = "url-2.3.1", - build_file = Label("//cargo/remote:BUILD.url-2.3.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__utf_8__0_7_6", - url = "https://crates.io/api/v1/crates/utf-8/0.7.6/download", - type = "tar.gz", - sha256 = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9", - strip_prefix = "utf-8-0.7.6", - build_file = Label("//cargo/remote:BUILD.utf-8-0.7.6.bazel"), - ) - - maybe( - http_archive, - name = "raze__utf8_decode__1_0_1", - url = "https://crates.io/api/v1/crates/utf8-decode/1.0.1/download", - type = "tar.gz", - sha256 = "ca61eb27fa339aa08826a29f03e87b99b4d8f0fc2255306fd266bb1b6a9de498", - strip_prefix = "utf8-decode-1.0.1", - build_file = Label("//cargo/remote:BUILD.utf8-decode-1.0.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__utime__0_3_1", - url = "https://crates.io/api/v1/crates/utime/0.3.1/download", - type = "tar.gz", - sha256 = "91baa0c65eabd12fcbdac8cc35ff16159cab95cae96d0222d6d0271db6193cef", - strip_prefix = "utime-0.3.1", - build_file = Label("//cargo/remote:BUILD.utime-0.3.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__vcpkg__0_2_15", - url = "https://crates.io/api/v1/crates/vcpkg/0.2.15/download", - type = "tar.gz", - sha256 = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426", - strip_prefix = "vcpkg-0.2.15", - build_file = Label("//cargo/remote:BUILD.vcpkg-0.2.15.bazel"), - ) - - maybe( - http_archive, - name = "raze__version_check__0_9_4", - url = "https://crates.io/api/v1/crates/version_check/0.9.4/download", - type = "tar.gz", - sha256 = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f", - strip_prefix = "version_check-0.9.4", - build_file = Label("//cargo/remote:BUILD.version_check-0.9.4.bazel"), - ) - - maybe( - http_archive, - name = "raze__walkdir__2_3_2", - url = "https://crates.io/api/v1/crates/walkdir/2.3.2/download", - type = "tar.gz", - sha256 = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56", - strip_prefix = "walkdir-2.3.2", - build_file = Label("//cargo/remote:BUILD.walkdir-2.3.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__want__0_3_0", - url = "https://crates.io/api/v1/crates/want/0.3.0/download", - type = "tar.gz", - sha256 = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0", - strip_prefix = "want-0.3.0", - build_file = Label("//cargo/remote:BUILD.want-0.3.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__wasi__0_10_0_wasi_snapshot_preview1", - url = "https://crates.io/api/v1/crates/wasi/0.10.0+wasi-snapshot-preview1/download", - type = "tar.gz", - sha256 = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f", - strip_prefix = "wasi-0.10.0+wasi-snapshot-preview1", - build_file = Label("//cargo/remote:BUILD.wasi-0.10.0+wasi-snapshot-preview1.bazel"), - ) - - maybe( - http_archive, - name = "raze__wasi__0_11_0_wasi_snapshot_preview1", - url = "https://crates.io/api/v1/crates/wasi/0.11.0+wasi-snapshot-preview1/download", - type = "tar.gz", - sha256 = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423", - strip_prefix = "wasi-0.11.0+wasi-snapshot-preview1", - build_file = Label("//cargo/remote:BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel"), - ) - - maybe( - http_archive, - name = "raze__wasi__0_9_0_wasi_snapshot_preview1", - url = "https://crates.io/api/v1/crates/wasi/0.9.0+wasi-snapshot-preview1/download", - type = "tar.gz", - sha256 = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519", - strip_prefix = "wasi-0.9.0+wasi-snapshot-preview1", - build_file = Label("//cargo/remote:BUILD.wasi-0.9.0+wasi-snapshot-preview1.bazel"), - ) - - maybe( - http_archive, - name = "raze__wasm_bindgen__0_2_83", - url = "https://crates.io/api/v1/crates/wasm-bindgen/0.2.83/download", - type = "tar.gz", - sha256 = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268", - strip_prefix = "wasm-bindgen-0.2.83", - build_file = Label("//cargo/remote:BUILD.wasm-bindgen-0.2.83.bazel"), - ) - - maybe( - http_archive, - name = "raze__wasm_bindgen_backend__0_2_83", - url = "https://crates.io/api/v1/crates/wasm-bindgen-backend/0.2.83/download", - type = "tar.gz", - sha256 = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142", - strip_prefix = "wasm-bindgen-backend-0.2.83", - build_file = Label("//cargo/remote:BUILD.wasm-bindgen-backend-0.2.83.bazel"), - ) - - maybe( - http_archive, - name = "raze__wasm_bindgen_futures__0_4_33", - url = "https://crates.io/api/v1/crates/wasm-bindgen-futures/0.4.33/download", - type = "tar.gz", - sha256 = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d", - strip_prefix = "wasm-bindgen-futures-0.4.33", - build_file = Label("//cargo/remote:BUILD.wasm-bindgen-futures-0.4.33.bazel"), - ) - - maybe( - http_archive, - name = "raze__wasm_bindgen_macro__0_2_83", - url = "https://crates.io/api/v1/crates/wasm-bindgen-macro/0.2.83/download", - type = "tar.gz", - sha256 = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810", - strip_prefix = "wasm-bindgen-macro-0.2.83", - build_file = Label("//cargo/remote:BUILD.wasm-bindgen-macro-0.2.83.bazel"), - ) - - maybe( - http_archive, - name = "raze__wasm_bindgen_macro_support__0_2_83", - url = "https://crates.io/api/v1/crates/wasm-bindgen-macro-support/0.2.83/download", - type = "tar.gz", - sha256 = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c", - strip_prefix = "wasm-bindgen-macro-support-0.2.83", - build_file = Label("//cargo/remote:BUILD.wasm-bindgen-macro-support-0.2.83.bazel"), - ) - - maybe( - http_archive, - name = "raze__wasm_bindgen_shared__0_2_83", - url = "https://crates.io/api/v1/crates/wasm-bindgen-shared/0.2.83/download", - type = "tar.gz", - sha256 = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f", - strip_prefix = "wasm-bindgen-shared-0.2.83", - build_file = Label("//cargo/remote:BUILD.wasm-bindgen-shared-0.2.83.bazel"), - ) - - maybe( - http_archive, - name = "raze__web_sys__0_3_60", - url = "https://crates.io/api/v1/crates/web-sys/0.3.60/download", - type = "tar.gz", - sha256 = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f", - strip_prefix = "web-sys-0.3.60", - build_file = Label("//cargo/remote:BUILD.web-sys-0.3.60.bazel"), - ) - - maybe( - http_archive, - name = "raze__webpki__0_21_4", - url = "https://crates.io/api/v1/crates/webpki/0.21.4/download", - type = "tar.gz", - sha256 = "b8e38c0608262c46d4a56202ebabdeb094cef7e560ca7a226c6bf055188aa4ea", - strip_prefix = "webpki-0.21.4", - build_file = Label("//cargo/remote:BUILD.webpki-0.21.4.bazel"), - ) - - maybe( - http_archive, - name = "raze__webpki_roots__0_21_1", - url = "https://crates.io/api/v1/crates/webpki-roots/0.21.1/download", - type = "tar.gz", - sha256 = "aabe153544e473b775453675851ecc86863d2a81d786d741f6b76778f2a48940", - strip_prefix = "webpki-roots-0.21.1", - build_file = Label("//cargo/remote:BUILD.webpki-roots-0.21.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__which__4_3_0", - url = "https://crates.io/api/v1/crates/which/4.3.0/download", - type = "tar.gz", - sha256 = "1c831fbbee9e129a8cf93e7747a82da9d95ba8e16621cae60ec2cdc849bacb7b", - strip_prefix = "which-4.3.0", - build_file = Label("//cargo/remote:BUILD.which-4.3.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__winapi__0_3_9", - url = "https://crates.io/api/v1/crates/winapi/0.3.9/download", - type = "tar.gz", - sha256 = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419", - strip_prefix = "winapi-0.3.9", - build_file = Label("//cargo/remote:BUILD.winapi-0.3.9.bazel"), - ) - - maybe( - http_archive, - name = "raze__winapi_i686_pc_windows_gnu__0_4_0", - url = "https://crates.io/api/v1/crates/winapi-i686-pc-windows-gnu/0.4.0/download", - type = "tar.gz", - sha256 = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6", - strip_prefix = "winapi-i686-pc-windows-gnu-0.4.0", - build_file = Label("//cargo/remote:BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__winapi_util__0_1_5", - url = "https://crates.io/api/v1/crates/winapi-util/0.1.5/download", - type = "tar.gz", - sha256 = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178", - strip_prefix = "winapi-util-0.1.5", - build_file = Label("//cargo/remote:BUILD.winapi-util-0.1.5.bazel"), - ) - - maybe( - http_archive, - name = "raze__winapi_x86_64_pc_windows_gnu__0_4_0", - url = "https://crates.io/api/v1/crates/winapi-x86_64-pc-windows-gnu/0.4.0/download", - type = "tar.gz", - sha256 = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f", - strip_prefix = "winapi-x86_64-pc-windows-gnu-0.4.0", - build_file = Label("//cargo/remote:BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__windows_sys__0_36_1", - url = "https://crates.io/api/v1/crates/windows-sys/0.36.1/download", - type = "tar.gz", - sha256 = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2", - strip_prefix = "windows-sys-0.36.1", - build_file = Label("//cargo/remote:BUILD.windows-sys-0.36.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__windows_aarch64_msvc__0_36_1", - url = "https://crates.io/api/v1/crates/windows_aarch64_msvc/0.36.1/download", - type = "tar.gz", - sha256 = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47", - strip_prefix = "windows_aarch64_msvc-0.36.1", - build_file = Label("//cargo/remote:BUILD.windows_aarch64_msvc-0.36.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__windows_i686_gnu__0_36_1", - url = "https://crates.io/api/v1/crates/windows_i686_gnu/0.36.1/download", - type = "tar.gz", - sha256 = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6", - strip_prefix = "windows_i686_gnu-0.36.1", - build_file = Label("//cargo/remote:BUILD.windows_i686_gnu-0.36.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__windows_i686_msvc__0_36_1", - url = "https://crates.io/api/v1/crates/windows_i686_msvc/0.36.1/download", - type = "tar.gz", - sha256 = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024", - strip_prefix = "windows_i686_msvc-0.36.1", - build_file = Label("//cargo/remote:BUILD.windows_i686_msvc-0.36.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__windows_x86_64_gnu__0_36_1", - url = "https://crates.io/api/v1/crates/windows_x86_64_gnu/0.36.1/download", - type = "tar.gz", - sha256 = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1", - strip_prefix = "windows_x86_64_gnu-0.36.1", - build_file = Label("//cargo/remote:BUILD.windows_x86_64_gnu-0.36.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__windows_x86_64_msvc__0_36_1", - url = "https://crates.io/api/v1/crates/windows_x86_64_msvc/0.36.1/download", - type = "tar.gz", - sha256 = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680", - strip_prefix = "windows_x86_64_msvc-0.36.1", - build_file = Label("//cargo/remote:BUILD.windows_x86_64_msvc-0.36.1.bazel"), - ) - - maybe( - http_archive, - name = "raze__winreg__0_7_0", - url = "https://crates.io/api/v1/crates/winreg/0.7.0/download", - type = "tar.gz", - sha256 = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69", - strip_prefix = "winreg-0.7.0", - build_file = Label("//cargo/remote:BUILD.winreg-0.7.0.bazel"), - ) - - maybe( - http_archive, - name = "raze__zip__0_6_2", - url = "https://crates.io/api/v1/crates/zip/0.6.2/download", - type = "tar.gz", - sha256 = "bf225bcf73bb52cbb496e70475c7bd7a3f769df699c0020f6c7bd9a96dcf0b8d", - strip_prefix = "zip-0.6.2", - build_file = Label("//cargo/remote:BUILD.zip-0.6.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__zstd__0_11_2_zstd_1_5_2", - url = "https://crates.io/api/v1/crates/zstd/0.11.2+zstd.1.5.2/download", - type = "tar.gz", - sha256 = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4", - strip_prefix = "zstd-0.11.2+zstd.1.5.2", - build_file = Label("//cargo/remote:BUILD.zstd-0.11.2+zstd.1.5.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__zstd_safe__5_0_2_zstd_1_5_2", - url = "https://crates.io/api/v1/crates/zstd-safe/5.0.2+zstd.1.5.2/download", - type = "tar.gz", - sha256 = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db", - strip_prefix = "zstd-safe-5.0.2+zstd.1.5.2", - build_file = Label("//cargo/remote:BUILD.zstd-safe-5.0.2+zstd.1.5.2.bazel"), - ) - - maybe( - http_archive, - name = "raze__zstd_sys__2_0_1_zstd_1_5_2", - url = "https://crates.io/api/v1/crates/zstd-sys/2.0.1+zstd.1.5.2/download", - type = "tar.gz", - sha256 = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b", - strip_prefix = "zstd-sys-2.0.1+zstd.1.5.2", - build_file = Label("//cargo/remote:BUILD.zstd-sys-2.0.1+zstd.1.5.2.bazel"), - ) - - maybe( - new_git_repository, - name = "reqwest_rustls", - remote = "https://github.com/ankitects/reqwest.git", - shallow_since = "1619519742 +1000", - commit = "7591444614de02b658ddab125efba7b2bb4e2335", - build_file = Label("//cargo:BUILD.reqwest.rustls.bazel"), - init_submodules = True, - ) \ No newline at end of file diff --git a/cargo/licenses.json b/cargo/licenses.json index 8914d244b..37275624c 100644 --- a/cargo/licenses.json +++ b/cargo/licenses.json @@ -17,6 +17,15 @@ "license_file": null, "description": "A simple clean-room implementation of the Adler-32 checksum" }, + { + "name": "aes", + "version": "0.7.5", + "authors": "RustCrypto Developers", + "repository": "https://github.com/RustCrypto/block-ciphers", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Pure Rust implementation of the Advanced Encryption Standard (a.k.a. Rijndael) including support for AES in counter mode (a.k.a. AES-CTR)" + }, { "name": "ahash", "version": "0.7.6", @@ -56,7 +65,7 @@ { "name": "anki", "version": "0.0.0", - "authors": "Ankitects Pty Ltd and contributors", + "authors": "Ankitects Pty Ltd and contributors ", "repository": null, "license": "AGPL-3.0-or-later", "license_file": null, @@ -161,6 +170,15 @@ "license_file": null, "description": "encodes and decodes base64 as bytes or utf8" }, + { + "name": "base64ct", + "version": "1.5.3", + "authors": "RustCrypto Developers", + "repository": "https://github.com/RustCrypto/formats/tree/master/base64ct", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Pure Rust implementation of Base64 (RFC 4648) which avoids any usages of data-dependent branches/LUTs and thereby provides portable \"best effort\" constant-time operation and embedded-friendly no_std support" + }, { "name": "bitflags", "version": "1.3.2", @@ -224,6 +242,24 @@ "license_file": null, "description": "Types and traits for working with bytes" }, + { + "name": "bzip2", + "version": "0.4.3", + "authors": "Alex Crichton ", + "repository": "https://github.com/alexcrichton/bzip2-rs", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Bindings to libbzip2 for bzip2 compression and decompression exposed as Reader/Writer streams." + }, + { + "name": "bzip2-sys", + "version": "0.1.11+1.0.8", + "authors": "Alex Crichton ", + "repository": "https://github.com/alexcrichton/bzip2-rs", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Bindings to libbzip2 for bzip2 compression and decompression exposed as Reader/Writer streams." + }, { "name": "cc", "version": "1.0.73", @@ -251,6 +287,15 @@ "license_file": null, "description": "Date and time library for Rust" }, + { + "name": "cipher", + "version": "0.3.0", + "authors": "RustCrypto Developers", + "repository": "https://github.com/RustCrypto/traits", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Traits for describing block ciphers and stream ciphers" + }, { "name": "coarsetime", "version": "0.1.22", @@ -296,6 +341,15 @@ "license_file": null, "description": "Bindings to Core Foundation for macOS" }, + { + "name": "cpufeatures", + "version": "0.2.5", + "authors": "RustCrypto Developers", + "repository": "https://github.com/RustCrypto/utils", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Lightweight runtime CPU feature detection for x86/x86_64 and aarch64 with no_std support and support for mobile targets including Android and iOS" + }, { "name": "crc32fast", "version": "1.3.2", @@ -719,6 +773,15 @@ "license_file": null, "description": "Encoding and decoding data into/from hexadecimal representation." }, + { + "name": "hmac", + "version": "0.12.1", + "authors": "RustCrypto Developers", + "repository": "https://github.com/RustCrypto/MACs", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Generic implementation of Hash-based Message Authentication Code (HMAC)" + }, { "name": "html5ever", "version": "0.26.0", @@ -1153,7 +1216,7 @@ }, { "name": "num_cpus", - "version": "1.13.1", + "version": "1.14.0", "authors": "Sean McArthur ", "repository": "https://github.com/seanmonstar/num_cpus", "license": "Apache-2.0 OR MIT", @@ -1205,6 +1268,15 @@ "license_file": null, "description": "Single assignment cells and lazy values." }, + { + "name": "opaque-debug", + "version": "0.3.0", + "authors": "RustCrypto Developers", + "repository": "https://github.com/RustCrypto/utils", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Macro for opaque Debug trait implementation" + }, { "name": "openssl", "version": "0.10.41", @@ -1259,6 +1331,24 @@ "license_file": null, "description": "An advanced API for creating custom synchronization primitives." }, + { + "name": "password-hash", + "version": "0.4.2", + "authors": "RustCrypto Developers", + "repository": "https://github.com/RustCrypto/traits/tree/master/password-hash", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Traits which describe the functionality of password hashing algorithms, as well as a `no_std`-friendly implementation of the PHC string format (a well-defined subset of the Modular Crypt Format a.k.a. MCF)" + }, + { + "name": "pbkdf2", + "version": "0.11.0", + "authors": "RustCrypto Developers", + "repository": "https://github.com/RustCrypto/password-hashes/tree/master/pbkdf2", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Generic implementation of PBKDF2" + }, { "name": "pct-str", "version": "1.1.0", @@ -1439,15 +1529,6 @@ "license_file": null, "description": "Procedural macros in expression position" }, - { - "name": "proc-macro-nested", - "version": "0.1.7", - "authors": "David Tolnay ", - "repository": "https://github.com/dtolnay/proc-macro-hack", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "description": "Support for nested proc-macro-hack invocations" - }, { "name": "proc-macro2", "version": "1.0.43", @@ -1729,7 +1810,7 @@ }, { "name": "serde", - "version": "1.0.145", + "version": "1.0.147", "authors": "Erick Tryzelaar |David Tolnay ", "repository": "https://github.com/serde-rs/serde", "license": "Apache-2.0 OR MIT", @@ -1747,7 +1828,7 @@ }, { "name": "serde_derive", - "version": "1.0.145", + "version": "1.0.147", "authors": "Erick Tryzelaar |David Tolnay ", "repository": "https://github.com/serde-rs/serde", "license": "Apache-2.0 OR MIT", @@ -1756,7 +1837,7 @@ }, { "name": "serde_json", - "version": "1.0.85", + "version": "1.0.88", "authors": "Erick Tryzelaar |David Tolnay ", "repository": "https://github.com/serde-rs/json", "license": "Apache-2.0 OR MIT", @@ -1808,6 +1889,15 @@ "license_file": null, "description": "Minimal dependency free implementation of SHA1 for Rust." }, + { + "name": "sha1", + "version": "0.10.5", + "authors": "RustCrypto Developers", + "repository": "https://github.com/RustCrypto/hashes", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "SHA-1 hash function" + }, { "name": "sha1_smol", "version": "1.0.0", @@ -1817,6 +1907,15 @@ "license_file": null, "description": "Minimal dependency free implementation of SHA1 for Rust." }, + { + "name": "sha2", + "version": "0.10.6", + "authors": "RustCrypto Developers", + "repository": "https://github.com/RustCrypto/hashes", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Pure Rust implementation of the SHA-2 hash function family including SHA-224, SHA-256, SHA-384, and SHA-512." + }, { "name": "signal-hook-registry", "version": "1.4.0", @@ -2134,7 +2233,7 @@ }, { "name": "tokio", - "version": "1.21.1", + "version": "1.21.2", "authors": "Tokio Contributors ", "repository": "https://github.com/tokio-rs/tokio", "license": "MIT", @@ -2672,9 +2771,18 @@ "license_file": null, "description": "Rust bindings to MS Windows Registry API" }, + { + "name": "workspace-hack", + "version": "0.1.0", + "authors": null, + "repository": null, + "license": null, + "license_file": null, + "description": "workspace-hack package, managed by hakari" + }, { "name": "zip", - "version": "0.6.2", + "version": "0.6.3", "authors": "Mathijs van de Nes |Marli Frost |Ryan Levick ", "repository": "https://github.com/zip-rs/zip.git", "license": "MIT", diff --git a/cargo/remote/BUILD.addr2line-0.17.0.bazel b/cargo/remote/BUILD.addr2line-0.17.0.bazel deleted file mode 100644 index 1e4fbe0ff..000000000 --- a/cargo/remote/BUILD.addr2line-0.17.0.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -# Unsupported target "addr2line" with type "example" omitted - -rust_library( - name = "addr2line", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=addr2line", - "manual", - ], - version = "0.17.0", - # buildifier: leave-alone - deps = [ - "@raze__gimli__0_26_2//:gimli", - ], -) - -# Unsupported target "correctness" with type "test" omitted - -# Unsupported target "output_equivalence" with type "test" omitted - -# Unsupported target "parse" with type "test" omitted diff --git a/cargo/remote/BUILD.adler-1.0.2.bazel b/cargo/remote/BUILD.adler-1.0.2.bazel deleted file mode 100644 index a95401cac..000000000 --- a/cargo/remote/BUILD.adler-1.0.2.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "0BSD OR (MIT OR Apache-2.0)" -]) - -# Generated Targets - -# Unsupported target "bench" with type "bench" omitted - -rust_library( - name = "adler", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=adler", - "manual", - ], - version = "1.0.2", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.ahash-0.7.6.bazel b/cargo/remote/BUILD.ahash-0.7.6.bazel deleted file mode 100644 index 37e057173..000000000 --- a/cargo/remote/BUILD.ahash-0.7.6.bazel +++ /dev/null @@ -1,151 +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 "//cargo", 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 = "ahash_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.7.6", - visibility = ["//visibility:private"], - deps = [ - "@raze__version_check__0_9_4//:version_check", - ] + selects.with_or({ - # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi")) - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(not(all(target_arch = "arm", target_os = "none"))) - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - ], - "//conditions:default": [], - }), -) - -# Unsupported target "ahash" with type "bench" omitted - -# Unsupported target "map" with type "bench" omitted - -rust_library( - name = "ahash", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=ahash", - "manual", - ], - version = "0.7.6", - # buildifier: leave-alone - deps = [ - ":ahash_build_script", - ] + selects.with_or({ - # cfg(any(target_os = "linux", target_os = "android", target_os = "windows", target_os = "macos", target_os = "ios", target_os = "freebsd", target_os = "openbsd", target_os = "netbsd", target_os = "dragonfly", target_os = "solaris", target_os = "illumos", target_os = "fuchsia", target_os = "redox", target_os = "cloudabi", target_os = "haiku", target_os = "vxworks", target_os = "emscripten", target_os = "wasi")) - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__getrandom__0_2_7//:getrandom", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(not(all(target_arch = "arm", target_os = "none"))) - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__once_cell__1_15_0//:once_cell", - ], - "//conditions:default": [], - }), -) - -# Unsupported target "bench" with type "test" omitted - -# Unsupported target "map_tests" with type "test" omitted - -# Unsupported target "nopanic" with type "test" omitted diff --git a/cargo/remote/BUILD.aho-corasick-0.7.19.bazel b/cargo/remote/BUILD.aho-corasick-0.7.19.bazel deleted file mode 100644 index 73bac59de..000000000 --- a/cargo/remote/BUILD.aho-corasick-0.7.19.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 "//cargo", 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 = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=aho_corasick", - "manual", - ], - version = "0.7.19", - # buildifier: leave-alone - deps = [ - "@raze__memchr__2_5_0//:memchr", - ], -) diff --git a/cargo/remote/BUILD.ammonia-3.2.1.bazel b/cargo/remote/BUILD.ammonia-3.2.1.bazel deleted file mode 100644 index 3a90bdac2..000000000 --- a/cargo/remote/BUILD.ammonia-3.2.1.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 "//cargo", 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 "ammonia-cat" with type "example" omitted - -rust_library( - name = "ammonia", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=ammonia", - "manual", - ], - version = "3.2.1", - # buildifier: leave-alone - deps = [ - "@raze__html5ever__0_26_0//:html5ever", - "@raze__maplit__1_0_2//:maplit", - "@raze__once_cell__1_15_0//:once_cell", - "@raze__tendril__0_4_3//:tendril", - "@raze__url__2_3_1//:url", - ], -) - -# Unsupported target "version-numbers" with type "test" omitted diff --git a/cargo/remote/BUILD.android_system_properties-0.1.5.bazel b/cargo/remote/BUILD.android_system_properties-0.1.5.bazel deleted file mode 100644 index 33e048b29..000000000 --- a/cargo/remote/BUILD.android_system_properties-0.1.5.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 "//cargo", 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 "time_zone" with type "example" omitted - -rust_library( - name = "android_system_properties", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=android_system_properties", - "manual", - ], - version = "0.1.5", - # buildifier: leave-alone - deps = [ - "@raze__libc__0_2_133//:libc", - ], -) diff --git a/cargo/remote/BUILD.anyhow-1.0.65.bazel b/cargo/remote/BUILD.anyhow-1.0.65.bazel deleted file mode 100644 index 26a281526..000000000 --- a/cargo/remote/BUILD.anyhow-1.0.65.bazel +++ /dev/null @@ -1,116 +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 "//cargo", 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 = "anyhow_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "1.0.65", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "anyhow", - 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=anyhow", - "manual", - ], - version = "1.0.65", - # buildifier: leave-alone - deps = [ - ":anyhow_build_script", - ], -) - -# Unsupported target "compiletest" with type "test" omitted - -# Unsupported target "test_autotrait" with type "test" omitted - -# Unsupported target "test_backtrace" with type "test" omitted - -# Unsupported target "test_boxed" with type "test" omitted - -# Unsupported target "test_chain" with type "test" omitted - -# Unsupported target "test_context" with type "test" omitted - -# Unsupported target "test_convert" with type "test" omitted - -# Unsupported target "test_downcast" with type "test" omitted - -# Unsupported target "test_ensure" with type "test" omitted - -# Unsupported target "test_ffi" with type "test" omitted - -# Unsupported target "test_fmt" with type "test" omitted - -# Unsupported target "test_macros" with type "test" omitted - -# Unsupported target "test_repr" with type "test" omitted - -# Unsupported target "test_source" with type "test" omitted diff --git a/cargo/remote/BUILD.arc-swap-1.5.1.bazel b/cargo/remote/BUILD.arc-swap-1.5.1.bazel deleted file mode 100644 index 3e54631e9..000000000 --- a/cargo/remote/BUILD.arc-swap-1.5.1.bazel +++ /dev/null @@ -1,64 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -# Unsupported target "background" with type "bench" omitted - -# Unsupported target "int-access" with type "bench" omitted - -# Unsupported target "track" with type "bench" omitted - -rust_library( - name = "arc_swap", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=arc-swap", - "manual", - ], - version = "1.5.1", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "random" with type "test" omitted - -# Unsupported target "stress" with type "test" omitted diff --git a/cargo/remote/BUILD.arrayref-0.3.6.bazel b/cargo/remote/BUILD.arrayref-0.3.6.bazel deleted file mode 100644 index e7900a81a..000000000 --- a/cargo/remote/BUILD.arrayref-0.3.6.bazel +++ /dev/null @@ -1,60 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "restricted", # BSD-2-Clause from expression "BSD-2-Clause" -]) - -# Generated Targets - -# Unsupported target "array_refs" with type "example" omitted - -# Unsupported target "array_refs_with_const" with type "example" omitted - -# Unsupported target "simple-case" with type "example" omitted - -rust_library( - name = "arrayref", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=arrayref", - "manual", - ], - version = "0.3.6", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.arrayvec-0.4.12.bazel b/cargo/remote/BUILD.arrayvec-0.4.12.bazel deleted file mode 100644 index 6a1970e72..000000000 --- a/cargo/remote/BUILD.arrayvec-0.4.12.bazel +++ /dev/null @@ -1,97 +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 "//cargo", 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 = "arrayvec_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.4.12", - visibility = ["//visibility:private"], - deps = [ - ], -) - -# Unsupported target "arraystring" with type "bench" omitted - -# Unsupported target "extend" with type "bench" omitted - -rust_library( - name = "arrayvec", - 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=arrayvec", - "manual", - ], - version = "0.4.12", - # buildifier: leave-alone - deps = [ - ":arrayvec_build_script", - "@raze__nodrop__0_1_14//:nodrop", - ], -) - -# Unsupported target "serde" with type "test" omitted - -# Unsupported target "tests" with type "test" omitted diff --git a/cargo/remote/BUILD.arrayvec-0.7.2.bazel b/cargo/remote/BUILD.arrayvec-0.7.2.bazel deleted file mode 100644 index 3d5a4294e..000000000 --- a/cargo/remote/BUILD.arrayvec-0.7.2.bazel +++ /dev/null @@ -1,62 +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 "//cargo", 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 "arraystring" with type "bench" omitted - -# Unsupported target "extend" with type "bench" omitted - -rust_library( - name = "arrayvec", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=arrayvec", - "manual", - ], - version = "0.7.2", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "serde" with type "test" omitted - -# Unsupported target "tests" with type "test" omitted diff --git a/cargo/remote/BUILD.async-trait-0.1.57.bazel b/cargo/remote/BUILD.async-trait-0.1.57.bazel deleted file mode 100644 index 708bf521d..000000000 --- a/cargo/remote/BUILD.async-trait-0.1.57.bazel +++ /dev/null @@ -1,91 +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 "//cargo", 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 = "async_trait_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.1.57", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_proc_macro( - name = "async_trait", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=async-trait", - "manual", - ], - version = "0.1.57", - # buildifier: leave-alone - deps = [ - ":async_trait_build_script", - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) - -# Unsupported target "compiletest" with type "test" omitted - -# Unsupported target "test" with type "test" omitted diff --git a/cargo/remote/BUILD.atty-0.2.14.bazel b/cargo/remote/BUILD.atty-0.2.14.bazel deleted file mode 100644 index cf17b5107..000000000 --- a/cargo/remote/BUILD.atty-0.2.14.bazel +++ /dev/null @@ -1,79 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "atty" with type "example" omitted - -rust_library( - name = "atty", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=atty", - "manual", - ], - version = "0.2.14", - # buildifier: leave-alone - deps = [ - ] + selects.with_or({ - # cfg(unix) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi__0_3_9//:winapi", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.autocfg-1.1.0.bazel b/cargo/remote/BUILD.autocfg-1.1.0.bazel deleted file mode 100644 index a02198cb2..000000000 --- a/cargo/remote/BUILD.autocfg-1.1.0.bazel +++ /dev/null @@ -1,64 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -# Unsupported target "integers" with type "example" omitted - -# Unsupported target "paths" with type "example" omitted - -# Unsupported target "traits" with type "example" omitted - -# Unsupported target "versions" with type "example" omitted - -rust_library( - name = "autocfg", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=autocfg", - "manual", - ], - version = "1.1.0", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "rustflags" with type "test" omitted diff --git a/cargo/remote/BUILD.backtrace-0.3.66.bazel b/cargo/remote/BUILD.backtrace-0.3.66.bazel deleted file mode 100644 index f789a196f..000000000 --- a/cargo/remote/BUILD.backtrace-0.3.66.bazel +++ /dev/null @@ -1,111 +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 "//cargo", 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 = "backtrace_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.3.66", - visibility = ["//visibility:private"], - deps = [ - "@raze__cc__1_0_73//:cc", - ], -) - -# Unsupported target "benchmarks" with type "bench" omitted - -# Unsupported target "backtrace" with type "example" omitted - -# Unsupported target "raw" with type "example" omitted - -rust_library( - name = "backtrace", - 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=backtrace", - "manual", - ], - version = "0.3.66", - # buildifier: leave-alone - deps = [ - ":backtrace_build_script", - "@raze__addr2line__0_17_0//:addr2line", - "@raze__cfg_if__1_0_0//:cfg_if", - "@raze__libc__0_2_133//:libc", - "@raze__miniz_oxide__0_5_4//:miniz_oxide", - "@raze__object__0_29_0//:object", - "@raze__rustc_demangle__0_1_21//:rustc_demangle", - ], -) - -# Unsupported target "accuracy" with type "test" omitted - -# Unsupported target "concurrent-panics" with type "test" omitted - -# Unsupported target "long_fn_name" with type "test" omitted - -# Unsupported target "skip_inner_frames" with type "test" omitted - -# Unsupported target "smoke" with type "test" omitted diff --git a/cargo/remote/BUILD.base64-0.13.0.bazel b/cargo/remote/BUILD.base64-0.13.0.bazel deleted file mode 100644 index bc4fba782..000000000 --- a/cargo/remote/BUILD.base64-0.13.0.bazel +++ /dev/null @@ -1,70 +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 "//cargo", 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 "benchmarks" with type "bench" omitted - -# Unsupported target "base64" with type "example" omitted - -# Unsupported target "make_tables" with type "example" omitted - -rust_library( - name = "base64", - 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=base64", - "manual", - ], - version = "0.13.0", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "decode" with type "test" omitted - -# Unsupported target "encode" with type "test" omitted - -# Unsupported target "helpers" with type "test" omitted - -# Unsupported target "tests" with type "test" omitted diff --git a/cargo/remote/BUILD.bitflags-1.3.2.bazel b/cargo/remote/BUILD.bitflags-1.3.2.bazel deleted file mode 100644 index 806a52115..000000000 --- a/cargo/remote/BUILD.bitflags-1.3.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 "//cargo", 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 = "bitflags", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=bitflags", - "manual", - ], - version = "1.3.2", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "basic" with type "test" omitted - -# Unsupported target "compile" with type "test" omitted diff --git a/cargo/remote/BUILD.blake3-1.3.1.bazel b/cargo/remote/BUILD.blake3-1.3.1.bazel deleted file mode 100644 index 3fb4cd7f8..000000000 --- a/cargo/remote/BUILD.blake3-1.3.1.bazel +++ /dev/null @@ -1,98 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "unencumbered", # CC0-1.0 from expression "CC0-1.0 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 = "blake3_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "digest", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "1.3.1", - visibility = ["//visibility:private"], - deps = [ - "@raze__cc__1_0_73//:cc", - ], -) - -# Unsupported target "bench" with type "bench" omitted - -rust_library( - name = "blake3", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "digest", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=blake3", - "manual", - ], - version = "1.3.1", - # buildifier: leave-alone - deps = [ - ":blake3_build_script", - "@raze__arrayref__0_3_6//:arrayref", - "@raze__arrayvec__0_7_2//:arrayvec", - "@raze__cfg_if__1_0_0//:cfg_if", - "@raze__constant_time_eq__0_1_5//:constant_time_eq", - "@raze__digest__0_10_5//:digest", - ], -) diff --git a/cargo/remote/BUILD.block-buffer-0.10.3.bazel b/cargo/remote/BUILD.block-buffer-0.10.3.bazel deleted file mode 100644 index f500b6c0d..000000000 --- a/cargo/remote/BUILD.block-buffer-0.10.3.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 "//cargo", 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 = "block_buffer", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=block-buffer", - "manual", - ], - version = "0.10.3", - # buildifier: leave-alone - deps = [ - "@raze__generic_array__0_14_6//:generic_array", - ], -) - -# Unsupported target "mod" with type "test" omitted diff --git a/cargo/remote/BUILD.bstr-0.2.17.bazel b/cargo/remote/BUILD.bstr-0.2.17.bazel deleted file mode 100644 index 4f3975080..000000000 --- a/cargo/remote/BUILD.bstr-0.2.17.bazel +++ /dev/null @@ -1,83 +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 "//cargo", 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 "graphemes" with type "example" omitted - -# Unsupported target "graphemes-std" with type "example" omitted - -# Unsupported target "lines" with type "example" omitted - -# Unsupported target "lines-std" with type "example" omitted - -# Unsupported target "uppercase" with type "example" omitted - -# Unsupported target "uppercase-std" with type "example" omitted - -# Unsupported target "words" with type "example" omitted - -# Unsupported target "words-std" with type "example" omitted - -rust_library( - name = "bstr", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "lazy_static", - "regex-automata", - "serde", - "serde1", - "serde1-nostd", - "std", - "unicode", - ], - crate_root = "src/lib.rs", - data = [], - compile_data = glob(["**/*.dfa"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=bstr", - "manual", - ], - version = "0.2.17", - # buildifier: leave-alone - deps = [ - "@raze__lazy_static__1_4_0//:lazy_static", - "@raze__memchr__2_5_0//:memchr", - "@raze__regex_automata__0_1_10//:regex_automata", - "@raze__serde__1_0_145//:serde", - ], -) diff --git a/cargo/remote/BUILD.bumpalo-3.11.0.bazel b/cargo/remote/BUILD.bumpalo-3.11.0.bazel deleted file mode 100644 index 2abfee88e..000000000 --- a/cargo/remote/BUILD.bumpalo-3.11.0.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 "//cargo", 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 "benches" with type "bench" omitted - -rust_library( - name = "bumpalo", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=bumpalo", - "manual", - ], - version = "3.11.0", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "try_alloc" with type "test" omitted diff --git a/cargo/remote/BUILD.byteorder-1.4.3.bazel b/cargo/remote/BUILD.byteorder-1.4.3.bazel deleted file mode 100644 index 9b730f262..000000000 --- a/cargo/remote/BUILD.byteorder-1.4.3.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "unencumbered", # Unlicense from expression "Unlicense OR MIT" -]) - -# Generated Targets - -# Unsupported target "bench" with type "bench" omitted - -rust_library( - name = "byteorder", - 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=byteorder", - "manual", - ], - version = "1.4.3", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.bytes-1.2.1.bazel b/cargo/remote/BUILD.bytes-1.2.1.bazel deleted file mode 100644 index 2e614f9ea..000000000 --- a/cargo/remote/BUILD.bytes-1.2.1.bazel +++ /dev/null @@ -1,84 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "buf" with type "bench" omitted - -# Unsupported target "bytes" with type "bench" omitted - -# Unsupported target "bytes_mut" with type "bench" omitted - -rust_library( - name = "bytes", - 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=bytes", - "manual", - ], - version = "1.2.1", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "test_buf" with type "test" omitted - -# Unsupported target "test_buf_mut" with type "test" omitted - -# Unsupported target "test_bytes" with type "test" omitted - -# Unsupported target "test_bytes_odd_alloc" with type "test" omitted - -# Unsupported target "test_bytes_vec_alloc" with type "test" omitted - -# Unsupported target "test_chain" with type "test" omitted - -# Unsupported target "test_debug" with type "test" omitted - -# Unsupported target "test_iter" with type "test" omitted - -# Unsupported target "test_reader" with type "test" omitted - -# Unsupported target "test_serde" with type "test" omitted - -# Unsupported target "test_take" with type "test" omitted diff --git a/cargo/remote/BUILD.cc-1.0.73.bazel b/cargo/remote/BUILD.cc-1.0.73.bazel deleted file mode 100644 index e81846bd0..000000000 --- a/cargo/remote/BUILD.cc-1.0.73.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT OR Apache-2.0" -]) - -# Generated Targets - -rust_binary( - # Prefix bin name to disambiguate from (probable) collision with lib name - # N.B.: The exact form of this is subject to change. - name = "cargo_bin_gcc_shim", - srcs = glob(["**/*.rs"]), - crate_features = [ - "jobserver", - "parallel", - ], - crate_root = "src/bin/gcc-shim.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=gcc-shim", - "manual", - ], - version = "1.0.73", - # buildifier: leave-alone - deps = [ - ":cc", - "@raze__jobserver__0_1_25//:jobserver", - ], -) - -rust_library( - name = "cc", - srcs = glob(["**/*.rs"]), - crate_features = [ - "jobserver", - "parallel", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=cc", - "manual", - ], - version = "1.0.73", - # buildifier: leave-alone - deps = [ - "@raze__jobserver__0_1_25//:jobserver", - ], -) - -# Unsupported target "cc_env" with type "test" omitted - -# Unsupported target "cflags" with type "test" omitted - -# Unsupported target "cxxflags" with type "test" omitted - -# Unsupported target "test" with type "test" omitted diff --git a/cargo/remote/BUILD.cfg-if-1.0.0.bazel b/cargo/remote/BUILD.cfg-if-1.0.0.bazel deleted file mode 100644 index 77b9d3af1..000000000 --- a/cargo/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 "//cargo", 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/cargo/remote/BUILD.chrono-0.4.22.bazel b/cargo/remote/BUILD.chrono-0.4.22.bazel deleted file mode 100644 index bd48c0573..000000000 --- a/cargo/remote/BUILD.chrono-0.4.22.bazel +++ /dev/null @@ -1,85 +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 "//cargo", 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 "chrono" with type "bench" omitted - -# Unsupported target "serde" with type "bench" omitted - -rust_library( - name = "chrono", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - "alloc", - "clock", - "default", - "iana-time-zone", - "js-sys", - "oldtime", - "std", - "time", - "wasm-bindgen", - "wasmbind", - "winapi", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=chrono", - "manual", - ], - version = "0.4.22", - # buildifier: leave-alone - deps = [ - "@raze__iana_time_zone__0_1_50//:iana_time_zone", - "@raze__num_integer__0_1_45//:num_integer", - "@raze__num_traits__0_2_15//:num_traits", - "@raze__time__0_1_44//:time", - ] + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi__0_3_9//:winapi", - ], - "//conditions:default": [], - }), -) - -# Unsupported target "wasm" with type "test" omitted diff --git a/cargo/remote/BUILD.coarsetime-0.1.22.bazel b/cargo/remote/BUILD.coarsetime-0.1.22.bazel deleted file mode 100644 index 3e1568d8d..000000000 --- a/cargo/remote/BUILD.coarsetime-0.1.22.bazel +++ /dev/null @@ -1,71 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # ISC from expression "ISC" -]) - -# Generated Targets - -rust_library( - name = "coarsetime", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=coarsetime", - "manual", - ], - version = "0.1.22", - # buildifier: leave-alone - deps = [ - "@raze__once_cell__1_15_0//:once_cell", - ] + selects.with_or({ - # cfg(not(target_os = "wasi")) - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.codespan-0.11.1.bazel b/cargo/remote/BUILD.codespan-0.11.1.bazel deleted file mode 100644 index b9a0faeb5..000000000 --- a/cargo/remote/BUILD.codespan-0.11.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0" -]) - -# Generated Targets - -rust_library( - name = "codespan", - srcs = glob(["**/*.rs"]), - crate_features = [ - "serde", - "serialization", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=codespan", - "manual", - ], - version = "0.11.1", - # buildifier: leave-alone - deps = [ - "@raze__codespan_reporting__0_11_1//:codespan_reporting", - "@raze__serde__1_0_145//:serde", - ], -) diff --git a/cargo/remote/BUILD.codespan-reporting-0.11.1.bazel b/cargo/remote/BUILD.codespan-reporting-0.11.1.bazel deleted file mode 100644 index 32a98367b..000000000 --- a/cargo/remote/BUILD.codespan-reporting-0.11.1.bazel +++ /dev/null @@ -1,71 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0" -]) - -# Generated Targets - -# Unsupported target "custom_files" with type "example" omitted - -# Unsupported target "peg_calculator" with type "example" omitted - -# Unsupported target "readme_preview" with type "example" omitted - -# Unsupported target "reusable_diagnostic" with type "example" omitted - -# Unsupported target "term" with type "example" omitted - -rust_library( - name = "codespan_reporting", - srcs = glob(["**/*.rs"]), - crate_features = [ - "serde", - "serialization", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=codespan-reporting", - "manual", - ], - version = "0.11.1", - # buildifier: leave-alone - deps = [ - "@raze__serde__1_0_145//:serde", - "@raze__termcolor__1_1_3//:termcolor", - "@raze__unicode_width__0_1_10//:unicode_width", - ], -) - -# Unsupported target "term" with type "test" omitted diff --git a/cargo/remote/BUILD.constant_time_eq-0.1.5.bazel b/cargo/remote/BUILD.constant_time_eq-0.1.5.bazel deleted file mode 100644 index d97a70cee..000000000 --- a/cargo/remote/BUILD.constant_time_eq-0.1.5.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "unencumbered", # CC0-1.0 from expression "CC0-1.0" -]) - -# Generated Targets - -# Unsupported target "bench" with type "bench" omitted - -rust_library( - name = "constant_time_eq", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=constant_time_eq", - "manual", - ], - version = "0.1.5", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.convert_case-0.4.0.bazel b/cargo/remote/BUILD.convert_case-0.4.0.bazel deleted file mode 100644 index 94570dd6d..000000000 --- a/cargo/remote/BUILD.convert_case-0.4.0.bazel +++ /dev/null @@ -1,54 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "convert_case", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=convert_case", - "manual", - ], - version = "0.4.0", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.convert_case-0.6.0.bazel b/cargo/remote/BUILD.convert_case-0.6.0.bazel deleted file mode 100644 index 1d60eff2f..000000000 --- a/cargo/remote/BUILD.convert_case-0.6.0.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "convert_case", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=convert_case", - "manual", - ], - version = "0.6.0", - # buildifier: leave-alone - deps = [ - "@raze__unicode_segmentation__1_10_0//:unicode_segmentation", - ], -) - -# Unsupported target "string_types" with type "test" omitted diff --git a/cargo/remote/BUILD.core-foundation-0.9.3.bazel b/cargo/remote/BUILD.core-foundation-0.9.3.bazel deleted file mode 100644 index 15b5e878a..000000000 --- a/cargo/remote/BUILD.core-foundation-0.9.3.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 "//cargo", 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 = "core_foundation", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=core-foundation", - "manual", - ], - version = "0.9.3", - # buildifier: leave-alone - deps = [ - "@raze__core_foundation_sys__0_8_3//:core_foundation_sys", - "@raze__libc__0_2_133//:libc", - ], -) - -# Unsupported target "use_macro_outside_crate" with type "test" omitted diff --git a/cargo/remote/BUILD.core-foundation-sys-0.8.3.bazel b/cargo/remote/BUILD.core-foundation-sys-0.8.3.bazel deleted file mode 100644 index 744958ff8..000000000 --- a/cargo/remote/BUILD.core-foundation-sys-0.8.3.bazel +++ /dev/null @@ -1,84 +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 "//cargo", 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 = "core_foundation_sys_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.8.3", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "core_foundation_sys", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=core-foundation-sys", - "manual", - ], - version = "0.8.3", - # buildifier: leave-alone - deps = [ - ":core_foundation_sys_build_script", - ], -) diff --git a/cargo/remote/BUILD.crc32fast-1.3.2.bazel b/cargo/remote/BUILD.crc32fast-1.3.2.bazel deleted file mode 100644 index 18fc04523..000000000 --- a/cargo/remote/BUILD.crc32fast-1.3.2.bazel +++ /dev/null @@ -1,91 +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 "//cargo", 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 = "crc32fast_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "1.3.2", - visibility = ["//visibility:private"], - deps = [ - ], -) - -# Unsupported target "bench" with type "bench" omitted - -rust_library( - name = "crc32fast", - 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=crc32fast", - "manual", - ], - version = "1.3.2", - # buildifier: leave-alone - deps = [ - ":crc32fast_build_script", - "@raze__cfg_if__1_0_0//:cfg_if", - ], -) diff --git a/cargo/remote/BUILD.crossbeam-channel-0.5.6.bazel b/cargo/remote/BUILD.crossbeam-channel-0.5.6.bazel deleted file mode 100644 index b9855212e..000000000 --- a/cargo/remote/BUILD.crossbeam-channel-0.5.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 "//cargo", 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 "crossbeam" with type "bench" omitted - -# Unsupported target "fibonacci" with type "example" omitted - -# Unsupported target "matching" with type "example" omitted - -# Unsupported target "stopwatch" with type "example" omitted - -rust_library( - name = "crossbeam_channel", - srcs = glob(["**/*.rs"]), - crate_features = [ - "crossbeam-utils", - "default", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=crossbeam-channel", - "manual", - ], - version = "0.5.6", - # buildifier: leave-alone - deps = [ - "@raze__cfg_if__1_0_0//:cfg_if", - "@raze__crossbeam_utils__0_8_11//:crossbeam_utils", - ], -) - -# Unsupported target "after" with type "test" omitted - -# Unsupported target "array" with type "test" omitted - -# Unsupported target "golang" with type "test" omitted - -# Unsupported target "iter" with type "test" omitted - -# Unsupported target "list" with type "test" omitted - -# Unsupported target "mpsc" with type "test" omitted - -# Unsupported target "never" with type "test" omitted - -# Unsupported target "ready" with type "test" omitted - -# Unsupported target "same_channel" with type "test" omitted - -# Unsupported target "select" with type "test" omitted - -# Unsupported target "select_macro" with type "test" omitted - -# Unsupported target "thread_locals" with type "test" omitted - -# Unsupported target "tick" with type "test" omitted - -# Unsupported target "zero" with type "test" omitted diff --git a/cargo/remote/BUILD.crossbeam-utils-0.8.11.bazel b/cargo/remote/BUILD.crossbeam-utils-0.8.11.bazel deleted file mode 100644 index 0c0ebd40c..000000000 --- a/cargo/remote/BUILD.crossbeam-utils-0.8.11.bazel +++ /dev/null @@ -1,106 +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 "//cargo", 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 = "crossbeam_utils_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "once_cell", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.8.11", - visibility = ["//visibility:private"], - deps = [ - ], -) - -# Unsupported target "atomic_cell" with type "bench" omitted - -rust_library( - name = "crossbeam_utils", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "once_cell", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=crossbeam-utils", - "manual", - ], - version = "0.8.11", - # buildifier: leave-alone - deps = [ - ":crossbeam_utils_build_script", - "@raze__cfg_if__1_0_0//:cfg_if", - "@raze__once_cell__1_15_0//:once_cell", - ], -) - -# Unsupported target "atomic_cell" with type "test" omitted - -# Unsupported target "cache_padded" with type "test" omitted - -# Unsupported target "parker" with type "test" omitted - -# Unsupported target "sharded_lock" with type "test" omitted - -# Unsupported target "thread" with type "test" omitted - -# Unsupported target "wait_group" with type "test" omitted diff --git a/cargo/remote/BUILD.crypto-common-0.1.6.bazel b/cargo/remote/BUILD.crypto-common-0.1.6.bazel deleted file mode 100644 index 701efe70b..000000000 --- a/cargo/remote/BUILD.crypto-common-0.1.6.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 "//cargo", 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 = "crypto_common", - srcs = glob(["**/*.rs"]), - crate_features = [ - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=crypto-common", - "manual", - ], - version = "0.1.6", - # buildifier: leave-alone - deps = [ - "@raze__generic_array__0_14_6//:generic_array", - "@raze__typenum__1_15_0//:typenum", - ], -) diff --git a/cargo/remote/BUILD.cssparser-0.27.2.bazel b/cargo/remote/BUILD.cssparser-0.27.2.bazel deleted file mode 100644 index 871e01b5b..000000000 --- a/cargo/remote/BUILD.cssparser-0.27.2.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "reciprocal", # MPL-2.0 from expression "MPL-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 = "cssparser_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.27.2", - visibility = ["//visibility:private"], - deps = [ - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) - -rust_library( - name = "cssparser", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - proc_macro_deps = [ - "@raze__cssparser_macros__0_6_0//:cssparser_macros", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=cssparser", - "manual", - ], - version = "0.27.2", - # buildifier: leave-alone - deps = [ - ":cssparser_build_script", - "@raze__dtoa_short__0_3_3//:dtoa_short", - "@raze__itoa__0_4_8//:itoa", - "@raze__matches__0_1_9//:matches", - "@raze__phf__0_8_0//:phf", - "@raze__smallvec__1_9_0//:smallvec", - ], -) diff --git a/cargo/remote/BUILD.cssparser-macros-0.6.0.bazel b/cargo/remote/BUILD.cssparser-macros-0.6.0.bazel deleted file mode 100644 index 5b07c4449..000000000 --- a/cargo/remote/BUILD.cssparser-macros-0.6.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "reciprocal", # MPL-2.0 from expression "MPL-2.0" -]) - -# Generated Targets - -rust_proc_macro( - name = "cssparser_macros", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=cssparser-macros", - "manual", - ], - version = "0.6.0", - # buildifier: leave-alone - deps = [ - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) diff --git a/cargo/remote/BUILD.csv-1.1.6.bazel b/cargo/remote/BUILD.csv-1.1.6.bazel deleted file mode 100644 index 852af66b8..000000000 --- a/cargo/remote/BUILD.csv-1.1.6.bazel +++ /dev/null @@ -1,135 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "unencumbered", # Unlicense from expression "Unlicense OR MIT" -]) - -# Generated Targets - -# Unsupported target "bench" with type "bench" omitted - -# Unsupported target "cookbook-read-basic" with type "example" omitted - -# Unsupported target "cookbook-read-colon" with type "example" omitted - -# Unsupported target "cookbook-read-no-headers" with type "example" omitted - -# Unsupported target "cookbook-read-serde" with type "example" omitted - -# Unsupported target "cookbook-write-basic" with type "example" omitted - -# Unsupported target "cookbook-write-serde" with type "example" omitted - -# Unsupported target "tutorial-error-01" with type "example" omitted - -# Unsupported target "tutorial-error-02" with type "example" omitted - -# Unsupported target "tutorial-error-03" with type "example" omitted - -# Unsupported target "tutorial-error-04" with type "example" omitted - -# Unsupported target "tutorial-perf-alloc-01" with type "example" omitted - -# Unsupported target "tutorial-perf-alloc-02" with type "example" omitted - -# Unsupported target "tutorial-perf-alloc-03" with type "example" omitted - -# Unsupported target "tutorial-perf-core-01" with type "example" omitted - -# Unsupported target "tutorial-perf-serde-01" with type "example" omitted - -# Unsupported target "tutorial-perf-serde-02" with type "example" omitted - -# Unsupported target "tutorial-perf-serde-03" with type "example" omitted - -# Unsupported target "tutorial-pipeline-pop-01" with type "example" omitted - -# Unsupported target "tutorial-pipeline-search-01" with type "example" omitted - -# Unsupported target "tutorial-pipeline-search-02" with type "example" omitted - -# Unsupported target "tutorial-read-01" with type "example" omitted - -# Unsupported target "tutorial-read-delimiter-01" with type "example" omitted - -# Unsupported target "tutorial-read-headers-01" with type "example" omitted - -# Unsupported target "tutorial-read-headers-02" with type "example" omitted - -# Unsupported target "tutorial-read-serde-01" with type "example" omitted - -# Unsupported target "tutorial-read-serde-02" with type "example" omitted - -# Unsupported target "tutorial-read-serde-03" with type "example" omitted - -# Unsupported target "tutorial-read-serde-04" with type "example" omitted - -# Unsupported target "tutorial-read-serde-invalid-01" with type "example" omitted - -# Unsupported target "tutorial-read-serde-invalid-02" with type "example" omitted - -# Unsupported target "tutorial-setup-01" with type "example" omitted - -# Unsupported target "tutorial-write-01" with type "example" omitted - -# Unsupported target "tutorial-write-02" with type "example" omitted - -# Unsupported target "tutorial-write-delimiter-01" with type "example" omitted - -# Unsupported target "tutorial-write-serde-01" with type "example" omitted - -# Unsupported target "tutorial-write-serde-02" with type "example" omitted - -rust_library( - name = "csv", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=csv", - "manual", - ], - version = "1.1.6", - # buildifier: leave-alone - deps = [ - "@raze__bstr__0_2_17//:bstr", - "@raze__csv_core__0_1_10//:csv_core", - "@raze__itoa__1_0_3//:itoa", - "@raze__ryu__1_0_11//:ryu", - "@raze__serde__1_0_145//:serde", - ], -) - -# Unsupported target "tests" with type "test" omitted diff --git a/cargo/remote/BUILD.csv-core-0.1.10.bazel b/cargo/remote/BUILD.csv-core-0.1.10.bazel deleted file mode 100644 index 019857039..000000000 --- a/cargo/remote/BUILD.csv-core-0.1.10.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "unencumbered", # Unlicense from expression "Unlicense OR MIT" -]) - -# Generated Targets - -# Unsupported target "bench" with type "bench" omitted - -rust_library( - name = "csv_core", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "csv-core/src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=csv-core", - "manual", - ], - version = "0.1.10", - # buildifier: leave-alone - deps = [ - "@raze__memchr__2_5_0//:memchr", - ], -) diff --git a/cargo/remote/BUILD.derive_more-0.99.17.bazel b/cargo/remote/BUILD.derive_more-0.99.17.bazel deleted file mode 100644 index 93114463d..000000000 --- a/cargo/remote/BUILD.derive_more-0.99.17.bazel +++ /dev/null @@ -1,138 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "deny_missing_docs" with type "example" omitted - -rust_proc_macro( - name = "derive_more", - srcs = glob(["**/*.rs"]), - crate_features = [ - "add", - "add_assign", - "as_mut", - "as_ref", - "constructor", - "convert_case", - "default", - "deref", - "deref_mut", - "display", - "error", - "from", - "from_str", - "index", - "index_mut", - "into", - "into_iterator", - "is_variant", - "iterator", - "mul", - "mul_assign", - "not", - "rustc_version", - "sum", - "try_into", - "unwrap", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=derive_more", - "manual", - ], - version = "0.99.17", - # buildifier: leave-alone - deps = [ - "@raze__convert_case__0_4_0//:convert_case", - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) - -# Unsupported target "add" with type "test" omitted - -# Unsupported target "add_assign" with type "test" omitted - -# Unsupported target "as_mut" with type "test" omitted - -# Unsupported target "as_ref" with type "test" omitted - -# Unsupported target "boats_display_derive" with type "test" omitted - -# Unsupported target "constructor" with type "test" omitted - -# Unsupported target "deref" with type "test" omitted - -# Unsupported target "deref_mut" with type "test" omitted - -# Unsupported target "display" with type "test" omitted - -# Unsupported target "error" with type "test" omitted - -# Unsupported target "from" with type "test" omitted - -# Unsupported target "from_str" with type "test" omitted - -# Unsupported target "generics" with type "test" omitted - -# Unsupported target "index" with type "test" omitted - -# Unsupported target "index_mut" with type "test" omitted - -# Unsupported target "into" with type "test" omitted - -# Unsupported target "into_iterator" with type "test" omitted - -# Unsupported target "is_variant" with type "test" omitted - -# Unsupported target "lib" with type "test" omitted - -# Unsupported target "mul" with type "test" omitted - -# Unsupported target "mul_assign" with type "test" omitted - -# Unsupported target "no_std" with type "test" omitted - -# Unsupported target "not" with type "test" omitted - -# Unsupported target "sum" with type "test" omitted - -# Unsupported target "try_into" with type "test" omitted - -# Unsupported target "unwrap" with type "test" omitted diff --git a/cargo/remote/BUILD.digest-0.10.5.bazel b/cargo/remote/BUILD.digest-0.10.5.bazel deleted file mode 100644 index dc7f38d15..000000000 --- a/cargo/remote/BUILD.digest-0.10.5.bazel +++ /dev/null @@ -1,64 +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 "//cargo", 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 = "digest", - srcs = glob(["**/*.rs"]), - crate_features = [ - "alloc", - "block-buffer", - "core-api", - "default", - "mac", - "std", - "subtle", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=digest", - "manual", - ], - version = "0.10.5", - # buildifier: leave-alone - deps = [ - "@raze__block_buffer__0_10_3//:block_buffer", - "@raze__crypto_common__0_1_6//:crypto_common", - "@raze__subtle__2_4_1//:subtle", - ], -) diff --git a/cargo/remote/BUILD.dirs-next-2.0.0.bazel b/cargo/remote/BUILD.dirs-next-2.0.0.bazel deleted file mode 100644 index 244bb2d7f..000000000 --- a/cargo/remote/BUILD.dirs-next-2.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 "//cargo", 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 = "dirs_next", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=dirs-next", - "manual", - ], - version = "2.0.0", - # buildifier: leave-alone - deps = [ - "@raze__cfg_if__1_0_0//:cfg_if", - "@raze__dirs_sys_next__0_1_2//:dirs_sys_next", - ], -) diff --git a/cargo/remote/BUILD.dirs-sys-next-0.1.2.bazel b/cargo/remote/BUILD.dirs-sys-next-0.1.2.bazel deleted file mode 100644 index 426662649..000000000 --- a/cargo/remote/BUILD.dirs-sys-next-0.1.2.bazel +++ /dev/null @@ -1,77 +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 "//cargo", 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 = "dirs_sys_next", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=dirs-sys-next", - "manual", - ], - version = "0.1.2", - # buildifier: leave-alone - deps = [ - ] + selects.with_or({ - # cfg(unix) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi__0_3_9//:winapi", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.dissimilar-1.0.4.bazel b/cargo/remote/BUILD.dissimilar-1.0.4.bazel deleted file mode 100644 index 0452b9835..000000000 --- a/cargo/remote/BUILD.dissimilar-1.0.4.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0" -]) - -# Generated Targets - -# Unsupported target "bench" with type "bench" omitted - -rust_library( - name = "dissimilar", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=dissimilar", - "manual", - ], - version = "1.0.4", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "test" with type "test" omitted diff --git a/cargo/remote/BUILD.doc-comment-0.3.3.bazel b/cargo/remote/BUILD.doc-comment-0.3.3.bazel deleted file mode 100644 index bfaa3a649..000000000 --- a/cargo/remote/BUILD.doc-comment-0.3.3.bazel +++ /dev/null @@ -1,84 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "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 = "doc_comment_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.3.3", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "doc_comment", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=doc_comment", - "manual", - ], - version = "0.3.3", - # buildifier: leave-alone - deps = [ - ":doc_comment_build_script", - ], -) diff --git a/cargo/remote/BUILD.dtoa-0.4.8.bazel b/cargo/remote/BUILD.dtoa-0.4.8.bazel deleted file mode 100644 index 0e761f576..000000000 --- a/cargo/remote/BUILD.dtoa-0.4.8.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 "//cargo", 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 = "dtoa", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=dtoa", - "manual", - ], - version = "0.4.8", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "test" with type "test" omitted diff --git a/cargo/remote/BUILD.dtoa-short-0.3.3.bazel b/cargo/remote/BUILD.dtoa-short-0.3.3.bazel deleted file mode 100644 index 72275eecc..000000000 --- a/cargo/remote/BUILD.dtoa-short-0.3.3.bazel +++ /dev/null @@ -1,55 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "reciprocal", # MPL-2.0 from expression "MPL-2.0" -]) - -# Generated Targets - -rust_library( - name = "dtoa_short", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=dtoa-short", - "manual", - ], - version = "0.3.3", - # buildifier: leave-alone - deps = [ - "@raze__dtoa__0_4_8//:dtoa", - ], -) diff --git a/cargo/remote/BUILD.dunce-1.0.2.bazel b/cargo/remote/BUILD.dunce-1.0.2.bazel deleted file mode 100644 index 6cd9aaeb5..000000000 --- a/cargo/remote/BUILD.dunce-1.0.2.bazel +++ /dev/null @@ -1,54 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "unencumbered", # CC0-1.0 from expression "CC0-1.0" -]) - -# Generated Targets - -rust_library( - name = "dunce", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=dunce", - "manual", - ], - version = "1.0.2", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.either-1.8.0.bazel b/cargo/remote/BUILD.either-1.8.0.bazel deleted file mode 100644 index 87720cd14..000000000 --- a/cargo/remote/BUILD.either-1.8.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 "//cargo", 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 = "either", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "use_std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=either", - "manual", - ], - version = "1.8.0", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.encoding_rs-0.8.31.bazel b/cargo/remote/BUILD.encoding_rs-0.8.31.bazel deleted file mode 100644 index 549162aee..000000000 --- a/cargo/remote/BUILD.encoding_rs-0.8.31.bazel +++ /dev/null @@ -1,89 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "(Apache-2.0 OR MIT) AND BSD-3-Clause" -]) - -# 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 = "encoding_rs_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "alloc", - "default", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.8.31", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "encoding_rs", - srcs = glob(["**/*.rs"]), - crate_features = [ - "alloc", - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=encoding_rs", - "manual", - ], - version = "0.8.31", - # buildifier: leave-alone - deps = [ - ":encoding_rs_build_script", - "@raze__cfg_if__1_0_0//:cfg_if", - ], -) diff --git a/cargo/remote/BUILD.env_logger-0.9.1.bazel b/cargo/remote/BUILD.env_logger-0.9.1.bazel deleted file mode 100644 index b34441a4b..000000000 --- a/cargo/remote/BUILD.env_logger-0.9.1.bazel +++ /dev/null @@ -1,72 +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 "//cargo", 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 = [ - "atty", - "default", - "humantime", - "regex", - "termcolor", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=env_logger", - "manual", - ], - version = "0.9.1", - # buildifier: leave-alone - deps = [ - "@raze__atty__0_2_14//:atty", - "@raze__humantime__2_1_0//:humantime", - "@raze__log__0_4_17//:log", - "@raze__regex__1_6_0//:regex", - "@raze__termcolor__1_1_3//:termcolor", - ], -) - -# 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/cargo/remote/BUILD.fallible-iterator-0.2.0.bazel b/cargo/remote/BUILD.fallible-iterator-0.2.0.bazel deleted file mode 100644 index 788c13ea9..000000000 --- a/cargo/remote/BUILD.fallible-iterator-0.2.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 "//cargo", 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 = "fallible_iterator", - 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=fallible-iterator", - "manual", - ], - version = "0.2.0", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.fallible-streaming-iterator-0.1.9.bazel b/cargo/remote/BUILD.fallible-streaming-iterator-0.1.9.bazel deleted file mode 100644 index 7cdd88e17..000000000 --- a/cargo/remote/BUILD.fallible-streaming-iterator-0.1.9.bazel +++ /dev/null @@ -1,54 +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 "//cargo", 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 = "fallible_streaming_iterator", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=fallible-streaming-iterator", - "manual", - ], - version = "0.1.9", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.fastrand-1.8.0.bazel b/cargo/remote/BUILD.fastrand-1.8.0.bazel deleted file mode 100644 index 8af9a458f..000000000 --- a/cargo/remote/BUILD.fastrand-1.8.0.bazel +++ /dev/null @@ -1,60 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -# Unsupported target "bench" with type "bench" omitted - -rust_library( - name = "fastrand", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=fastrand", - "manual", - ], - version = "1.8.0", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "char" with type "test" omitted - -# Unsupported target "smoke" with type "test" omitted diff --git a/cargo/remote/BUILD.fixedbitset-0.4.2.bazel b/cargo/remote/BUILD.fixedbitset-0.4.2.bazel deleted file mode 100644 index 0d0ce8471..000000000 --- a/cargo/remote/BUILD.fixedbitset-0.4.2.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 "//cargo", 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 "benches" with type "bench" omitted - -rust_library( - name = "fixedbitset", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=fixedbitset", - "manual", - ], - version = "0.4.2", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.flate2-1.0.24.bazel b/cargo/remote/BUILD.flate2-1.0.24.bazel deleted file mode 100644 index fd6a9801d..000000000 --- a/cargo/remote/BUILD.flate2-1.0.24.bazel +++ /dev/null @@ -1,111 +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 "//cargo", 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 "compress_file" with type "example" omitted - -# Unsupported target "deflatedecoder-bufread" with type "example" omitted - -# Unsupported target "deflatedecoder-read" with type "example" omitted - -# Unsupported target "deflatedecoder-write" with type "example" omitted - -# Unsupported target "deflateencoder-bufread" with type "example" omitted - -# Unsupported target "deflateencoder-read" with type "example" omitted - -# Unsupported target "deflateencoder-write" with type "example" omitted - -# Unsupported target "gzbuilder" with type "example" omitted - -# Unsupported target "gzdecoder-bufread" with type "example" omitted - -# Unsupported target "gzdecoder-read" with type "example" omitted - -# Unsupported target "gzdecoder-write" with type "example" omitted - -# Unsupported target "gzencoder-bufread" with type "example" omitted - -# Unsupported target "gzencoder-read" with type "example" omitted - -# Unsupported target "gzencoder-write" with type "example" omitted - -# Unsupported target "gzmultidecoder-bufread" with type "example" omitted - -# Unsupported target "gzmultidecoder-read" with type "example" omitted - -# Unsupported target "zlibdecoder-bufread" with type "example" omitted - -# Unsupported target "zlibdecoder-read" with type "example" omitted - -# Unsupported target "zlibdecoder-write" with type "example" omitted - -# Unsupported target "zlibencoder-bufread" with type "example" omitted - -# Unsupported target "zlibencoder-read" with type "example" omitted - -# Unsupported target "zlibencoder-write" with type "example" omitted - -rust_library( - name = "flate2", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "miniz_oxide", - "rust_backend", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=flate2", - "manual", - ], - version = "1.0.24", - # buildifier: leave-alone - deps = [ - "@raze__crc32fast__1_3_2//:crc32fast", - "@raze__miniz_oxide__0_5_4//:miniz_oxide", - ], -) - -# Unsupported target "early-flush" with type "test" omitted - -# Unsupported target "empty-read" with type "test" omitted - -# Unsupported target "gunzip" with type "test" omitted - -# Unsupported target "zero-write" with type "test" omitted diff --git a/cargo/remote/BUILD.fluent-0.16.0.bazel b/cargo/remote/BUILD.fluent-0.16.0.bazel deleted file mode 100644 index 26e436d2f..000000000 --- a/cargo/remote/BUILD.fluent-0.16.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -rust_library( - name = "fluent", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=fluent", - "manual", - ], - version = "0.16.0", - # buildifier: leave-alone - deps = [ - "@raze__fluent_bundle__0_15_2//:fluent_bundle", - "@raze__unic_langid__0_9_0//:unic_langid", - ], -) diff --git a/cargo/remote/BUILD.fluent-bundle-0.15.2.bazel b/cargo/remote/BUILD.fluent-bundle-0.15.2.bazel deleted file mode 100644 index a587b8ff8..000000000 --- a/cargo/remote/BUILD.fluent-bundle-0.15.2.bazel +++ /dev/null @@ -1,67 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -# Unsupported target "resolver" with type "bench" omitted - -# Unsupported target "resolver_iai" with type "bench" omitted - -rust_library( - name = "fluent_bundle", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=fluent-bundle", - "manual", - ], - version = "0.15.2", - # buildifier: leave-alone - deps = [ - "@raze__fluent_langneg__0_13_0//:fluent_langneg", - "@raze__fluent_syntax__0_11_0//:fluent_syntax", - "@raze__intl_memoizer__0_5_1//:intl_memoizer", - "@raze__intl_pluralrules__7_0_1//:intl_pluralrules", - "@raze__rustc_hash__1_1_0//:rustc_hash", - "@raze__self_cell__0_10_2//:self_cell", - "@raze__smallvec__1_9_0//:smallvec", - "@raze__unic_langid__0_9_0//:unic_langid", - ], -) diff --git a/cargo/remote/BUILD.fluent-langneg-0.13.0.bazel b/cargo/remote/BUILD.fluent-langneg-0.13.0.bazel deleted file mode 100644 index 8d8abaf5e..000000000 --- a/cargo/remote/BUILD.fluent-langneg-0.13.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0" -]) - -# Generated Targets - -# Unsupported target "negotiate" with type "bench" omitted - -rust_library( - name = "fluent_langneg", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=fluent-langneg", - "manual", - ], - version = "0.13.0", - # buildifier: leave-alone - deps = [ - "@raze__unic_langid__0_9_0//:unic_langid", - ], -) diff --git a/cargo/remote/BUILD.fluent-syntax-0.11.0.bazel b/cargo/remote/BUILD.fluent-syntax-0.11.0.bazel deleted file mode 100644 index 0ddabf4a6..000000000 --- a/cargo/remote/BUILD.fluent-syntax-0.11.0.bazel +++ /dev/null @@ -1,116 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -# Unsupported target "parser" with type "bench" omitted - -# Unsupported target "parser_iai" with type "bench" omitted - -rust_binary( - # Prefix bin name to disambiguate from (probable) collision with lib name - # N.B.: The exact form of this is subject to change. - name = "cargo_bin_parser", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/bin/parser.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=parser", - "manual", - ], - version = "0.11.0", - # buildifier: leave-alone - deps = [ - ":fluent_syntax", - "@raze__thiserror__1_0_35//:thiserror", - ], -) - -rust_binary( - # Prefix bin name to disambiguate from (probable) collision with lib name - # N.B.: The exact form of this is subject to change. - name = "cargo_bin_update_fixtures", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/bin/update_fixtures.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=update_fixtures", - "manual", - ], - version = "0.11.0", - # buildifier: leave-alone - deps = [ - ":fluent_syntax", - "@raze__thiserror__1_0_35//:thiserror", - ], -) - -rust_library( - name = "fluent_syntax", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=fluent-syntax", - "manual", - ], - version = "0.11.0", - # buildifier: leave-alone - deps = [ - "@raze__thiserror__1_0_35//:thiserror", - ], -) - -# Unsupported target "parser_fixtures" with type "test" omitted diff --git a/cargo/remote/BUILD.fnv-1.0.7.bazel b/cargo/remote/BUILD.fnv-1.0.7.bazel deleted file mode 100644 index 803894eb5..000000000 --- a/cargo/remote/BUILD.fnv-1.0.7.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -rust_library( - name = "fnv", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "std", - ], - crate_root = "lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=fnv", - "manual", - ], - version = "1.0.7", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.foreign-types-0.3.2.bazel b/cargo/remote/BUILD.foreign-types-0.3.2.bazel deleted file mode 100644 index 4d167d1fe..000000000 --- a/cargo/remote/BUILD.foreign-types-0.3.2.bazel +++ /dev/null @@ -1,55 +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 "//cargo", 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 = "foreign_types", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=foreign-types", - "manual", - ], - version = "0.3.2", - # buildifier: leave-alone - deps = [ - "@raze__foreign_types_shared__0_1_1//:foreign_types_shared", - ], -) diff --git a/cargo/remote/BUILD.foreign-types-shared-0.1.1.bazel b/cargo/remote/BUILD.foreign-types-shared-0.1.1.bazel deleted file mode 100644 index fa157d787..000000000 --- a/cargo/remote/BUILD.foreign-types-shared-0.1.1.bazel +++ /dev/null @@ -1,54 +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 "//cargo", 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 = "foreign_types_shared", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=foreign-types-shared", - "manual", - ], - version = "0.1.1", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.form_urlencoded-1.1.0.bazel b/cargo/remote/BUILD.form_urlencoded-1.1.0.bazel deleted file mode 100644 index ac3173705..000000000 --- a/cargo/remote/BUILD.form_urlencoded-1.1.0.bazel +++ /dev/null @@ -1,55 +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 "//cargo", 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 = "form_urlencoded", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=form_urlencoded", - "manual", - ], - version = "1.1.0", - # buildifier: leave-alone - deps = [ - "@raze__percent_encoding__2_2_0//:percent_encoding", - ], -) diff --git a/cargo/remote/BUILD.futf-0.1.5.bazel b/cargo/remote/BUILD.futf-0.1.5.bazel deleted file mode 100644 index f0de3e561..000000000 --- a/cargo/remote/BUILD.futf-0.1.5.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 "//cargo", 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 = "futf", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=futf", - "manual", - ], - version = "0.1.5", - # buildifier: leave-alone - deps = [ - "@raze__mac__0_1_1//:mac", - "@raze__new_debug_unreachable__1_0_4//:new_debug_unreachable", - ], -) diff --git a/cargo/remote/BUILD.futures-0.3.24.bazel b/cargo/remote/BUILD.futures-0.3.24.bazel deleted file mode 100644 index 104d2d204..000000000 --- a/cargo/remote/BUILD.futures-0.3.24.bazel +++ /dev/null @@ -1,177 +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 "//cargo", 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 = "futures", - srcs = glob(["**/*.rs"]), - crate_features = [ - "alloc", - "async-await", - "default", - "executor", - "futures-executor", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=futures", - "manual", - ], - version = "0.3.24", - # buildifier: leave-alone - deps = [ - "@raze__futures_channel__0_3_24//:futures_channel", - "@raze__futures_core__0_3_24//:futures_core", - "@raze__futures_executor__0_3_24//:futures_executor", - "@raze__futures_io__0_3_24//:futures_io", - "@raze__futures_sink__0_3_24//:futures_sink", - "@raze__futures_task__0_3_24//:futures_task", - "@raze__futures_util__0_3_24//:futures_util", - ], -) - -# Unsupported target "_require_features" with type "test" omitted - -# Unsupported target "async_await_macros" with type "test" omitted - -# Unsupported target "auto_traits" with type "test" omitted - -# Unsupported target "compat" with type "test" omitted - -# Unsupported target "eager_drop" with type "test" omitted - -# Unsupported target "eventual" with type "test" omitted - -# Unsupported target "future_abortable" with type "test" omitted - -# Unsupported target "future_basic_combinators" with type "test" omitted - -# Unsupported target "future_fuse" with type "test" omitted - -# Unsupported target "future_inspect" with type "test" omitted - -# Unsupported target "future_join_all" with type "test" omitted - -# Unsupported target "future_obj" with type "test" omitted - -# Unsupported target "future_select_all" with type "test" omitted - -# Unsupported target "future_select_ok" with type "test" omitted - -# Unsupported target "future_shared" with type "test" omitted - -# Unsupported target "future_try_flatten_stream" with type "test" omitted - -# Unsupported target "future_try_join_all" with type "test" omitted - -# Unsupported target "io_buf_reader" with type "test" omitted - -# Unsupported target "io_buf_writer" with type "test" omitted - -# Unsupported target "io_cursor" with type "test" omitted - -# Unsupported target "io_line_writer" with type "test" omitted - -# Unsupported target "io_lines" with type "test" omitted - -# Unsupported target "io_read" with type "test" omitted - -# Unsupported target "io_read_exact" with type "test" omitted - -# Unsupported target "io_read_line" with type "test" omitted - -# Unsupported target "io_read_to_end" with type "test" omitted - -# Unsupported target "io_read_to_string" with type "test" omitted - -# Unsupported target "io_read_until" with type "test" omitted - -# Unsupported target "io_window" with type "test" omitted - -# Unsupported target "io_write" with type "test" omitted - -# Unsupported target "lock_mutex" with type "test" omitted - -# Unsupported target "macro_comma_support" with type "test" omitted - -# Unsupported target "object_safety" with type "test" omitted - -# Unsupported target "oneshot" with type "test" omitted - -# Unsupported target "ready_queue" with type "test" omitted - -# Unsupported target "recurse" with type "test" omitted - -# Unsupported target "sink" with type "test" omitted - -# Unsupported target "sink_fanout" with type "test" omitted - -# Unsupported target "stream" with type "test" omitted - -# Unsupported target "stream_abortable" with type "test" omitted - -# Unsupported target "stream_buffer_unordered" with type "test" omitted - -# Unsupported target "stream_catch_unwind" with type "test" omitted - -# Unsupported target "stream_futures_ordered" with type "test" omitted - -# Unsupported target "stream_futures_unordered" with type "test" omitted - -# Unsupported target "stream_into_async_read" with type "test" omitted - -# Unsupported target "stream_peekable" with type "test" omitted - -# Unsupported target "stream_select_all" with type "test" omitted - -# Unsupported target "stream_select_next_some" with type "test" omitted - -# Unsupported target "stream_split" with type "test" omitted - -# Unsupported target "stream_try_stream" with type "test" omitted - -# Unsupported target "stream_unfold" with type "test" omitted - -# Unsupported target "task_arc_wake" with type "test" omitted - -# Unsupported target "task_atomic_waker" with type "test" omitted - -# Unsupported target "test_macro" with type "test" omitted - -# Unsupported target "try_join" with type "test" omitted diff --git a/cargo/remote/BUILD.futures-channel-0.3.24.bazel b/cargo/remote/BUILD.futures-channel-0.3.24.bazel deleted file mode 100644 index 800507116..000000000 --- a/cargo/remote/BUILD.futures-channel-0.3.24.bazel +++ /dev/null @@ -1,106 +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 "//cargo", 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 = "futures_channel_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "alloc", - "default", - "futures-sink", - "sink", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.3.24", - visibility = ["//visibility:private"], - deps = [ - ], -) - -# Unsupported target "sync_mpsc" with type "bench" omitted - -rust_library( - name = "futures_channel", - srcs = glob(["**/*.rs"]), - crate_features = [ - "alloc", - "default", - "futures-sink", - "sink", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=futures-channel", - "manual", - ], - version = "0.3.24", - # buildifier: leave-alone - deps = [ - ":futures_channel_build_script", - "@raze__futures_core__0_3_24//:futures_core", - "@raze__futures_sink__0_3_24//:futures_sink", - ], -) - -# Unsupported target "channel" with type "test" omitted - -# Unsupported target "mpsc" with type "test" omitted - -# Unsupported target "mpsc-close" with type "test" omitted - -# Unsupported target "oneshot" with type "test" omitted diff --git a/cargo/remote/BUILD.futures-core-0.3.24.bazel b/cargo/remote/BUILD.futures-core-0.3.24.bazel deleted file mode 100644 index 66f724992..000000000 --- a/cargo/remote/BUILD.futures-core-0.3.24.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 "//cargo", 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 = "futures_core_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "alloc", - "default", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.3.24", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "futures_core", - srcs = glob(["**/*.rs"]), - crate_features = [ - "alloc", - "default", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=futures-core", - "manual", - ], - version = "0.3.24", - # buildifier: leave-alone - deps = [ - ":futures_core_build_script", - ], -) diff --git a/cargo/remote/BUILD.futures-executor-0.3.24.bazel b/cargo/remote/BUILD.futures-executor-0.3.24.bazel deleted file mode 100644 index 5aff204da..000000000 --- a/cargo/remote/BUILD.futures-executor-0.3.24.bazel +++ /dev/null @@ -1,62 +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 "//cargo", 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 "thread_notify" with type "bench" omitted - -rust_library( - name = "futures_executor", - srcs = glob(["**/*.rs"]), - crate_features = [ - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=futures-executor", - "manual", - ], - version = "0.3.24", - # buildifier: leave-alone - deps = [ - "@raze__futures_core__0_3_24//:futures_core", - "@raze__futures_task__0_3_24//:futures_task", - "@raze__futures_util__0_3_24//:futures_util", - ], -) - -# Unsupported target "local_pool" with type "test" omitted diff --git a/cargo/remote/BUILD.futures-io-0.3.24.bazel b/cargo/remote/BUILD.futures-io-0.3.24.bazel deleted file mode 100644 index 170bea43f..000000000 --- a/cargo/remote/BUILD.futures-io-0.3.24.bazel +++ /dev/null @@ -1,55 +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 "//cargo", 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 = "futures_io", - srcs = glob(["**/*.rs"]), - crate_features = [ - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=futures-io", - "manual", - ], - version = "0.3.24", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.futures-macro-0.3.24.bazel b/cargo/remote/BUILD.futures-macro-0.3.24.bazel deleted file mode 100644 index 56c833a58..000000000 --- a/cargo/remote/BUILD.futures-macro-0.3.24.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT OR Apache-2.0" -]) - -# Generated Targets - -rust_proc_macro( - name = "futures_macro", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=futures-macro", - "manual", - ], - version = "0.3.24", - # buildifier: leave-alone - deps = [ - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) diff --git a/cargo/remote/BUILD.futures-sink-0.3.24.bazel b/cargo/remote/BUILD.futures-sink-0.3.24.bazel deleted file mode 100644 index cecc138df..000000000 --- a/cargo/remote/BUILD.futures-sink-0.3.24.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 "//cargo", 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 = "futures_sink", - srcs = glob(["**/*.rs"]), - crate_features = [ - "alloc", - "default", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=futures-sink", - "manual", - ], - version = "0.3.24", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.futures-task-0.3.24.bazel b/cargo/remote/BUILD.futures-task-0.3.24.bazel deleted file mode 100644 index 9d0319196..000000000 --- a/cargo/remote/BUILD.futures-task-0.3.24.bazel +++ /dev/null @@ -1,88 +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 "//cargo", 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 = "futures_task_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "alloc", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.3.24", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "futures_task", - srcs = glob(["**/*.rs"]), - crate_features = [ - "alloc", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=futures-task", - "manual", - ], - version = "0.3.24", - # buildifier: leave-alone - deps = [ - ":futures_task_build_script", - ], -) diff --git a/cargo/remote/BUILD.futures-util-0.3.24.bazel b/cargo/remote/BUILD.futures-util-0.3.24.bazel deleted file mode 100644 index f3c731a37..000000000 --- a/cargo/remote/BUILD.futures-util-0.3.24.bazel +++ /dev/null @@ -1,130 +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 "//cargo", 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 = "futures_util_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "alloc", - "async-await", - "async-await-macro", - "channel", - "default", - "futures-channel", - "futures-io", - "futures-macro", - "futures-sink", - "io", - "memchr", - "sink", - "slab", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.3.24", - visibility = ["//visibility:private"], - deps = [ - ], -) - -# Unsupported target "flatten_unordered" with type "bench" omitted - -# Unsupported target "futures_unordered" with type "bench" omitted - -# Unsupported target "select" with type "bench" omitted - -rust_library( - name = "futures_util", - srcs = glob(["**/*.rs"]), - crate_features = [ - "alloc", - "async-await", - "async-await-macro", - "channel", - "default", - "futures-channel", - "futures-io", - "futures-macro", - "futures-sink", - "io", - "memchr", - "sink", - "slab", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - proc_macro_deps = [ - "@raze__futures_macro__0_3_24//:futures_macro", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=futures-util", - "manual", - ], - version = "0.3.24", - # buildifier: leave-alone - deps = [ - ":futures_util_build_script", - "@raze__futures_channel__0_3_24//:futures_channel", - "@raze__futures_core__0_3_24//:futures_core", - "@raze__futures_io__0_3_24//:futures_io", - "@raze__futures_sink__0_3_24//:futures_sink", - "@raze__futures_task__0_3_24//:futures_task", - "@raze__memchr__2_5_0//:memchr", - "@raze__pin_project_lite__0_2_9//:pin_project_lite", - "@raze__pin_utils__0_1_0//:pin_utils", - "@raze__slab__0_4_7//:slab", - ], -) diff --git a/cargo/remote/BUILD.fxhash-0.2.1.bazel b/cargo/remote/BUILD.fxhash-0.2.1.bazel deleted file mode 100644 index 248c1abc1..000000000 --- a/cargo/remote/BUILD.fxhash-0.2.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -# Unsupported target "fxhash" with type "bench" omitted - -rust_library( - name = "fxhash", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=fxhash", - "manual", - ], - version = "0.2.1", - # buildifier: leave-alone - deps = [ - "@raze__byteorder__1_4_3//:byteorder", - ], -) diff --git a/cargo/remote/BUILD.generic-array-0.14.6.bazel b/cargo/remote/BUILD.generic-array-0.14.6.bazel deleted file mode 100644 index dcd7cd76a..000000000 --- a/cargo/remote/BUILD.generic-array-0.14.6.bazel +++ /dev/null @@ -1,88 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "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 = "generic_array_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "more_lengths", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.14.6", - visibility = ["//visibility:private"], - deps = [ - "@raze__version_check__0_9_4//:version_check", - ], -) - -rust_library( - name = "generic_array", - srcs = glob(["**/*.rs"]), - crate_features = [ - "more_lengths", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=generic_array", - "manual", - ], - version = "0.14.6", - # buildifier: leave-alone - deps = [ - ":generic_array_build_script", - "@raze__typenum__1_15_0//:typenum", - ], -) diff --git a/cargo/remote/BUILD.getopts-0.2.21.bazel b/cargo/remote/BUILD.getopts-0.2.21.bazel deleted file mode 100644 index 86f24c2d0..000000000 --- a/cargo/remote/BUILD.getopts-0.2.21.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 "//cargo", 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 = "getopts", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=getopts", - "manual", - ], - version = "0.2.21", - # buildifier: leave-alone - deps = [ - "@raze__unicode_width__0_1_10//:unicode_width", - ], -) - -# Unsupported target "smoke" with type "test" omitted diff --git a/cargo/remote/BUILD.getrandom-0.1.16.bazel b/cargo/remote/BUILD.getrandom-0.1.16.bazel deleted file mode 100644 index a5b028b63..000000000 --- a/cargo/remote/BUILD.getrandom-0.1.16.bazel +++ /dev/null @@ -1,118 +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 "//cargo", 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 = "getrandom_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.1.16", - visibility = ["//visibility:private"], - deps = [ - ] + selects.with_or({ - # cfg(unix) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - ], - "//conditions:default": [], - }), -) - -# Unsupported target "mod" with type "bench" omitted - -rust_library( - name = "getrandom", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=getrandom", - "manual", - ], - version = "0.1.16", - # buildifier: leave-alone - deps = [ - ":getrandom_build_script", - "@raze__cfg_if__1_0_0//:cfg_if", - ] + selects.with_or({ - # cfg(unix) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - ], - "//conditions:default": [], - }), -) - -# Unsupported target "common" with type "test" omitted diff --git a/cargo/remote/BUILD.getrandom-0.2.7.bazel b/cargo/remote/BUILD.getrandom-0.2.7.bazel deleted file mode 100644 index 3dfabb194..000000000 --- a/cargo/remote/BUILD.getrandom-0.2.7.bazel +++ /dev/null @@ -1,79 +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 "//cargo", 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 = [ - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=getrandom", - "manual", - ], - version = "0.2.7", - # buildifier: leave-alone - deps = [ - "@raze__cfg_if__1_0_0//:cfg_if", - ] + selects.with_or({ - # cfg(unix) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//: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/cargo/remote/BUILD.gimli-0.26.2.bazel b/cargo/remote/BUILD.gimli-0.26.2.bazel deleted file mode 100644 index 05f4bcd54..000000000 --- a/cargo/remote/BUILD.gimli-0.26.2.bazel +++ /dev/null @@ -1,70 +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 "//cargo", 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 - -# Unsupported target "dwarf-validate" with type "example" omitted - -# Unsupported target "dwarfdump" with type "example" omitted - -# Unsupported target "simple" with type "example" omitted - -# Unsupported target "simple_line" with type "example" omitted - -rust_library( - name = "gimli", - srcs = glob(["**/*.rs"]), - crate_features = [ - "read", - "read-core", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=gimli", - "manual", - ], - version = "0.26.2", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "convert_self" with type "test" omitted - -# Unsupported target "parse_self" with type "test" omitted diff --git a/cargo/remote/BUILD.h2-0.3.14.bazel b/cargo/remote/BUILD.h2-0.3.14.bazel deleted file mode 100644 index ba8eaa9f7..000000000 --- a/cargo/remote/BUILD.h2-0.3.14.bazel +++ /dev/null @@ -1,71 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "akamai" with type "example" omitted - -# Unsupported target "client" with type "example" omitted - -# Unsupported target "server" with type "example" omitted - -rust_library( - name = "h2", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=h2", - "manual", - ], - version = "0.3.14", - # buildifier: leave-alone - deps = [ - "@raze__bytes__1_2_1//:bytes", - "@raze__fnv__1_0_7//:fnv", - "@raze__futures_core__0_3_24//:futures_core", - "@raze__futures_sink__0_3_24//:futures_sink", - "@raze__futures_util__0_3_24//:futures_util", - "@raze__http__0_2_8//:http", - "@raze__indexmap__1_9_1//:indexmap", - "@raze__slab__0_4_7//:slab", - "@raze__tokio__1_21_1//:tokio", - "@raze__tokio_util__0_7_4//:tokio_util", - "@raze__tracing__0_1_36//:tracing", - ], -) diff --git a/cargo/remote/BUILD.hashbrown-0.12.3.bazel b/cargo/remote/BUILD.hashbrown-0.12.3.bazel deleted file mode 100644 index 13a175519..000000000 --- a/cargo/remote/BUILD.hashbrown-0.12.3.bazel +++ /dev/null @@ -1,71 +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 "//cargo", 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 - -# Unsupported target "insert_unique_unchecked" with type "bench" omitted - -rust_library( - name = "hashbrown", - srcs = glob(["**/*.rs"]), - crate_features = [ - "ahash", - "default", - "inline-more", - "raw", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=hashbrown", - "manual", - ], - version = "0.12.3", - # buildifier: leave-alone - deps = [ - "@raze__ahash__0_7_6//:ahash", - ], -) - -# Unsupported target "hasher" with type "test" omitted - -# Unsupported target "rayon" with type "test" omitted - -# Unsupported target "serde" with type "test" omitted - -# Unsupported target "set" with type "test" omitted diff --git a/cargo/remote/BUILD.hashlink-0.8.1.bazel b/cargo/remote/BUILD.hashlink-0.8.1.bazel deleted file mode 100644 index ba81a7001..000000000 --- a/cargo/remote/BUILD.hashlink-0.8.1.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 "//cargo", 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 = "hashlink", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=hashlink", - "manual", - ], - version = "0.8.1", - # buildifier: leave-alone - deps = [ - "@raze__hashbrown__0_12_3//:hashbrown", - ], -) - -# Unsupported target "linked_hash_map" with type "test" omitted - -# Unsupported target "linked_hash_set" with type "test" omitted - -# Unsupported target "lru_cache" with type "test" omitted - -# Unsupported target "serde" with type "test" omitted diff --git a/cargo/remote/BUILD.heck-0.4.0.bazel b/cargo/remote/BUILD.heck-0.4.0.bazel deleted file mode 100644 index 21e3a046c..000000000 --- a/cargo/remote/BUILD.heck-0.4.0.bazel +++ /dev/null @@ -1,55 +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 "//cargo", 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 = "heck", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=heck", - "manual", - ], - version = "0.4.0", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.hermit-abi-0.1.19.bazel b/cargo/remote/BUILD.hermit-abi-0.1.19.bazel deleted file mode 100644 index 98366815a..000000000 --- a/cargo/remote/BUILD.hermit-abi-0.1.19.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 "//cargo", 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 = "hermit_abi", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=hermit-abi", - "manual", - ], - version = "0.1.19", - # buildifier: leave-alone - deps = [ - "@raze__libc__0_2_133//:libc", - ], -) diff --git a/cargo/remote/BUILD.hex-0.4.3.bazel b/cargo/remote/BUILD.hex-0.4.3.bazel deleted file mode 100644 index e8041509f..000000000 --- a/cargo/remote/BUILD.hex-0.4.3.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 "//cargo", 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 "hex" with type "bench" omitted - -rust_library( - name = "hex", - srcs = glob(["**/*.rs"]), - crate_features = [ - "alloc", - "default", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=hex", - "manual", - ], - version = "0.4.3", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "serde" with type "test" omitted - -# Unsupported target "version-number" with type "test" omitted diff --git a/cargo/remote/BUILD.html5ever-0.25.2.bazel b/cargo/remote/BUILD.html5ever-0.25.2.bazel deleted file mode 100644 index 2b6345c08..000000000 --- a/cargo/remote/BUILD.html5ever-0.25.2.bazel +++ /dev/null @@ -1,102 +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 "//cargo", 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 = "html5ever_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.25.2", - visibility = ["//visibility:private"], - deps = [ - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) - -# Unsupported target "html5ever" with type "bench" omitted - -# Unsupported target "arena" with type "example" omitted - -# Unsupported target "noop-tokenize" with type "example" omitted - -# Unsupported target "noop-tree-builder" with type "example" omitted - -# Unsupported target "print-tree-actions" with type "example" omitted - -# Unsupported target "tokenize" with type "example" omitted - -rust_library( - name = "html5ever", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=html5ever", - "manual", - ], - version = "0.25.2", - # buildifier: leave-alone - deps = [ - ":html5ever_build_script", - "@raze__log__0_4_17//:log", - "@raze__mac__0_1_1//:mac", - "@raze__markup5ever__0_10_1//:markup5ever", - ], -) diff --git a/cargo/remote/BUILD.html5ever-0.26.0.bazel b/cargo/remote/BUILD.html5ever-0.26.0.bazel deleted file mode 100644 index 84f8f9d3e..000000000 --- a/cargo/remote/BUILD.html5ever-0.26.0.bazel +++ /dev/null @@ -1,102 +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 "//cargo", 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 = "html5ever_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.26.0", - visibility = ["//visibility:private"], - deps = [ - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) - -# Unsupported target "html5ever" with type "bench" omitted - -# Unsupported target "arena" with type "example" omitted - -# Unsupported target "noop-tokenize" with type "example" omitted - -# Unsupported target "noop-tree-builder" with type "example" omitted - -# Unsupported target "print-tree-actions" with type "example" omitted - -# Unsupported target "tokenize" with type "example" omitted - -rust_library( - name = "html5ever", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=html5ever", - "manual", - ], - version = "0.26.0", - # buildifier: leave-alone - deps = [ - ":html5ever_build_script", - "@raze__log__0_4_17//:log", - "@raze__mac__0_1_1//:mac", - "@raze__markup5ever__0_11_0//:markup5ever", - ], -) diff --git a/cargo/remote/BUILD.htmlescape-0.3.1.bazel b/cargo/remote/BUILD.htmlescape-0.3.1.bazel deleted file mode 100644 index bbca6d411..000000000 --- a/cargo/remote/BUILD.htmlescape-0.3.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR (MIT OR MPL-2.0)" -]) - -# Generated Targets - -# Unsupported target "bench" with type "bench" omitted - -rust_library( - name = "htmlescape", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=htmlescape", - "manual", - ], - version = "0.3.1", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "test" with type "test" omitted diff --git a/cargo/remote/BUILD.http-0.2.8.bazel b/cargo/remote/BUILD.http-0.2.8.bazel deleted file mode 100644 index d37d58e17..000000000 --- a/cargo/remote/BUILD.http-0.2.8.bazel +++ /dev/null @@ -1,75 +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 "//cargo", 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 "header_map" with type "bench" omitted - -# Unsupported target "header_name" with type "bench" omitted - -# Unsupported target "header_name2" with type "bench" omitted - -# Unsupported target "header_value" with type "bench" omitted - -# Unsupported target "method" with type "bench" omitted - -# Unsupported target "uri" with type "bench" omitted - -rust_library( - name = "http", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=http", - "manual", - ], - version = "0.2.8", - # buildifier: leave-alone - deps = [ - "@raze__bytes__1_2_1//:bytes", - "@raze__fnv__1_0_7//:fnv", - "@raze__itoa__1_0_3//:itoa", - ], -) - -# Unsupported target "header_map" with type "test" omitted - -# Unsupported target "header_map_fuzz" with type "test" omitted - -# Unsupported target "status_code" with type "test" omitted diff --git a/cargo/remote/BUILD.http-body-0.4.5.bazel b/cargo/remote/BUILD.http-body-0.4.5.bazel deleted file mode 100644 index 147cfcb42..000000000 --- a/cargo/remote/BUILD.http-body-0.4.5.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "http_body", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=http-body", - "manual", - ], - version = "0.4.5", - # buildifier: leave-alone - deps = [ - "@raze__bytes__1_2_1//:bytes", - "@raze__http__0_2_8//:http", - "@raze__pin_project_lite__0_2_9//:pin_project_lite", - ], -) - -# Unsupported target "is_end_stream" with type "test" omitted diff --git a/cargo/remote/BUILD.httparse-1.8.0.bazel b/cargo/remote/BUILD.httparse-1.8.0.bazel deleted file mode 100644 index ffe33c0a1..000000000 --- a/cargo/remote/BUILD.httparse-1.8.0.bazel +++ /dev/null @@ -1,92 +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 "//cargo", 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 = "httparse_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "1.8.0", - visibility = ["//visibility:private"], - deps = [ - ], -) - -# Unsupported target "parse" with type "bench" omitted - -rust_library( - name = "httparse", - 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=httparse", - "manual", - ], - version = "1.8.0", - # buildifier: leave-alone - deps = [ - ":httparse_build_script", - ], -) - -# Unsupported target "uri" with type "test" omitted diff --git a/cargo/remote/BUILD.httpdate-1.0.2.bazel b/cargo/remote/BUILD.httpdate-1.0.2.bazel deleted file mode 100644 index 3abe97bdc..000000000 --- a/cargo/remote/BUILD.httpdate-1.0.2.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 "//cargo", 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 "benchmarks" with type "bench" omitted - -rust_library( - name = "httpdate", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=httpdate", - "manual", - ], - version = "1.0.2", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.humantime-2.1.0.bazel b/cargo/remote/BUILD.humantime-2.1.0.bazel deleted file mode 100644 index ad9206dce..000000000 --- a/cargo/remote/BUILD.humantime-2.1.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 "//cargo", 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 "datetime_format" with type "bench" omitted - -# Unsupported target "datetime_parse" with type "bench" omitted - -rust_library( - name = "humantime", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=humantime", - "manual", - ], - version = "2.1.0", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.hyper-0.14.20.bazel b/cargo/remote/BUILD.hyper-0.14.20.bazel deleted file mode 100644 index 91deac37f..000000000 --- a/cargo/remote/BUILD.hyper-0.14.20.bazel +++ /dev/null @@ -1,126 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "body" with type "bench" omitted - -# Unsupported target "connect" with type "bench" omitted - -# Unsupported target "end_to_end" with type "bench" omitted - -# Unsupported target "pipeline" with type "bench" omitted - -# Unsupported target "server" with type "bench" omitted - -# Unsupported target "client" with type "example" omitted - -# Unsupported target "client_json" with type "example" omitted - -# Unsupported target "echo" with type "example" omitted - -# Unsupported target "gateway" with type "example" omitted - -# Unsupported target "hello" with type "example" omitted - -# Unsupported target "http_proxy" with type "example" omitted - -# Unsupported target "multi_server" with type "example" omitted - -# Unsupported target "params" with type "example" omitted - -# Unsupported target "send_file" with type "example" omitted - -# Unsupported target "service_struct_impl" with type "example" omitted - -# Unsupported target "single_threaded" with type "example" omitted - -# Unsupported target "state" with type "example" omitted - -# Unsupported target "tower_client" with type "example" omitted - -# Unsupported target "tower_server" with type "example" omitted - -# Unsupported target "upgrades" with type "example" omitted - -# Unsupported target "web_api" with type "example" omitted - -rust_library( - name = "hyper", - srcs = glob(["**/*.rs"]), - crate_features = [ - "client", - "default", - "h2", - "http1", - "http2", - "runtime", - "socket2", - "tcp", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=hyper", - "manual", - ], - version = "0.14.20", - # buildifier: leave-alone - deps = [ - "@raze__bytes__1_2_1//:bytes", - "@raze__futures_channel__0_3_24//:futures_channel", - "@raze__futures_core__0_3_24//:futures_core", - "@raze__futures_util__0_3_24//:futures_util", - "@raze__h2__0_3_14//:h2", - "@raze__http__0_2_8//:http", - "@raze__http_body__0_4_5//:http_body", - "@raze__httparse__1_8_0//:httparse", - "@raze__httpdate__1_0_2//:httpdate", - "@raze__itoa__1_0_3//:itoa", - "@raze__pin_project_lite__0_2_9//:pin_project_lite", - "@raze__socket2__0_4_7//:socket2", - "@raze__tokio__1_21_1//:tokio", - "@raze__tower_service__0_3_2//:tower_service", - "@raze__tracing__0_1_36//:tracing", - "@raze__want__0_3_0//:want", - ], -) - -# Unsupported target "client" with type "test" omitted - -# Unsupported target "integration" with type "test" omitted - -# Unsupported target "server" with type "test" omitted diff --git a/cargo/remote/BUILD.hyper-rustls-0.22.1.bazel b/cargo/remote/BUILD.hyper-rustls-0.22.1.bazel deleted file mode 100644 index 783a6d777..000000000 --- a/cargo/remote/BUILD.hyper-rustls-0.22.1.bazel +++ /dev/null @@ -1,67 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR (ISC OR MIT)" -]) - -# Generated Targets - -# Unsupported target "client" with type "example" omitted - -# Unsupported target "server" with type "example" omitted - -rust_library( - name = "hyper_rustls", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=hyper-rustls", - "manual", - ], - version = "0.22.1", - # buildifier: leave-alone - deps = [ - "@raze__futures_util__0_3_24//:futures_util", - "@raze__hyper__0_14_20//:hyper", - "@raze__log__0_4_17//:log", - "@raze__rustls__0_19_1//:rustls", - "@raze__tokio__1_21_1//:tokio", - "@raze__tokio_rustls__0_22_0//:tokio_rustls", - "@raze__webpki__0_21_4//:webpki", - ], -) - -# Unsupported target "tests" with type "test" omitted diff --git a/cargo/remote/BUILD.hyper-timeout-0.4.1.bazel b/cargo/remote/BUILD.hyper-timeout-0.4.1.bazel deleted file mode 100644 index 33cbdcfa4..000000000 --- a/cargo/remote/BUILD.hyper-timeout-0.4.1.bazel +++ /dev/null @@ -1,60 +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 "//cargo", 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 "client" with type "example" omitted - -rust_library( - name = "hyper_timeout", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=hyper-timeout", - "manual", - ], - version = "0.4.1", - # buildifier: leave-alone - deps = [ - "@raze__hyper__0_14_20//:hyper", - "@raze__pin_project_lite__0_2_9//:pin_project_lite", - "@raze__tokio__1_21_1//:tokio", - "@raze__tokio_io_timeout__1_1_1//:tokio_io_timeout", - ], -) diff --git a/cargo/remote/BUILD.hyper-tls-0.5.0.bazel b/cargo/remote/BUILD.hyper-tls-0.5.0.bazel deleted file mode 100644 index 1da446d32..000000000 --- a/cargo/remote/BUILD.hyper-tls-0.5.0.bazel +++ /dev/null @@ -1,61 +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 "//cargo", 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 "client" with type "example" omitted - -rust_library( - name = "hyper_tls", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=hyper-tls", - "manual", - ], - version = "0.5.0", - # buildifier: leave-alone - deps = [ - "@raze__bytes__1_2_1//:bytes", - "@raze__hyper__0_14_20//:hyper", - "@raze__native_tls__0_2_10//:native_tls", - "@raze__tokio__1_21_1//:tokio", - "@raze__tokio_native_tls__0_3_0//:tokio_native_tls", - ], -) diff --git a/cargo/remote/BUILD.iana-time-zone-0.1.50.bazel b/cargo/remote/BUILD.iana-time-zone-0.1.50.bazel deleted file mode 100644 index 2169adefb..000000000 --- a/cargo/remote/BUILD.iana-time-zone-0.1.50.bazel +++ /dev/null @@ -1,80 +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 "//cargo", 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 "get_timezone" with type "example" omitted - -# Unsupported target "stress-test" with type "example" omitted - -rust_library( - name = "iana_time_zone", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - "fallback", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=iana-time-zone", - "manual", - ], - version = "0.1.50", - # buildifier: leave-alone - deps = [ - ] + selects.with_or({ - # cfg(any(target_os = "macos", target_os = "ios")) - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:aarch64-apple-darwin", - "@rules_rust//rust/platform:aarch64-apple-ios", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__core_foundation_sys__0_8_3//:core_foundation_sys", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(target_os = "windows") - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi__0_3_9//:winapi", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.id_tree-1.8.0.bazel b/cargo/remote/BUILD.id_tree-1.8.0.bazel deleted file mode 100644 index 5931766b0..000000000 --- a/cargo/remote/BUILD.id_tree-1.8.0.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "basic" with type "example" omitted - -rust_library( - name = "id_tree", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=id_tree", - "manual", - ], - version = "1.8.0", - # buildifier: leave-alone - deps = [ - "@raze__snowflake__1_3_0//:snowflake", - ], -) - -# Unsupported target "error_tests" with type "test" omitted diff --git a/cargo/remote/BUILD.idna-0.3.0.bazel b/cargo/remote/BUILD.idna-0.3.0.bazel deleted file mode 100644 index 7e9d7a2e4..000000000 --- a/cargo/remote/BUILD.idna-0.3.0.bazel +++ /dev/null @@ -1,62 +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 "//cargo", 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 "all" with type "bench" omitted - -rust_library( - name = "idna", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=idna", - "manual", - ], - version = "0.3.0", - # buildifier: leave-alone - deps = [ - "@raze__unicode_bidi__0_3_8//:unicode_bidi", - "@raze__unicode_normalization__0_1_22//:unicode_normalization", - ], -) - -# Unsupported target "tests" with type "test" omitted - -# Unsupported target "unit" with type "test" omitted diff --git a/cargo/remote/BUILD.indexmap-1.9.1.bazel b/cargo/remote/BUILD.indexmap-1.9.1.bazel deleted file mode 100644 index 754065831..000000000 --- a/cargo/remote/BUILD.indexmap-1.9.1.bazel +++ /dev/null @@ -1,100 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 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 = "indexmap_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "1.9.1", - visibility = ["//visibility:private"], - deps = [ - "@raze__autocfg__1_1_0//:autocfg", - ], -) - -# Unsupported target "bench" with type "bench" omitted - -# Unsupported target "faststring" with type "bench" omitted - -rust_library( - name = "indexmap", - srcs = glob(["**/*.rs"]), - crate_features = [ - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=indexmap", - "manual", - ], - version = "1.9.1", - # buildifier: leave-alone - deps = [ - ":indexmap_build_script", - "@raze__hashbrown__0_12_3//:hashbrown", - ], -) - -# Unsupported target "equivalent_trait" with type "test" omitted - -# Unsupported target "macros_full_path" with type "test" omitted - -# Unsupported target "quick" with type "test" omitted - -# Unsupported target "tests" with type "test" omitted diff --git a/cargo/remote/BUILD.indoc-1.0.7.bazel b/cargo/remote/BUILD.indoc-1.0.7.bazel deleted file mode 100644 index cac2c04f5..000000000 --- a/cargo/remote/BUILD.indoc-1.0.7.bazel +++ /dev/null @@ -1,64 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT OR Apache-2.0" -]) - -# Generated Targets - -rust_proc_macro( - name = "indoc", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=indoc", - "manual", - ], - version = "1.0.7", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "compiletest" with type "test" omitted - -# Unsupported target "test_formatdoc" with type "test" omitted - -# Unsupported target "test_indoc" with type "test" omitted - -# Unsupported target "test_unindent" with type "test" omitted - -# Unsupported target "test_writedoc" with type "test" omitted diff --git a/cargo/remote/BUILD.inflections-1.1.1.bazel b/cargo/remote/BUILD.inflections-1.1.1.bazel deleted file mode 100644 index 295ffc6fa..000000000 --- a/cargo/remote/BUILD.inflections-1.1.1.bazel +++ /dev/null @@ -1,54 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "inflections", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=inflections", - "manual", - ], - version = "1.1.1", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.instant-0.1.12.bazel b/cargo/remote/BUILD.instant-0.1.12.bazel deleted file mode 100644 index aef24857a..000000000 --- a/cargo/remote/BUILD.instant-0.1.12.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # BSD-3-Clause from expression "BSD-3-Clause" -]) - -# Generated Targets - -rust_library( - name = "instant", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=instant", - "manual", - ], - version = "0.1.12", - # buildifier: leave-alone - deps = [ - "@raze__cfg_if__1_0_0//:cfg_if", - ], -) - -# Unsupported target "wasm" with type "test" omitted diff --git a/cargo/remote/BUILD.intl-memoizer-0.5.1.bazel b/cargo/remote/BUILD.intl-memoizer-0.5.1.bazel deleted file mode 100644 index e87bb0f40..000000000 --- a/cargo/remote/BUILD.intl-memoizer-0.5.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -rust_library( - name = "intl_memoizer", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=intl-memoizer", - "manual", - ], - version = "0.5.1", - # buildifier: leave-alone - deps = [ - "@raze__type_map__0_4_0//:type_map", - "@raze__unic_langid__0_9_0//:unic_langid", - ], -) diff --git a/cargo/remote/BUILD.intl_pluralrules-7.0.1.bazel b/cargo/remote/BUILD.intl_pluralrules-7.0.1.bazel deleted file mode 100644 index 82ad5491d..000000000 --- a/cargo/remote/BUILD.intl_pluralrules-7.0.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -# Unsupported target "pluralrules" with type "bench" omitted - -rust_library( - name = "intl_pluralrules", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=intl_pluralrules", - "manual", - ], - version = "7.0.1", - # buildifier: leave-alone - deps = [ - "@raze__tinystr__0_3_4//:tinystr", - "@raze__unic_langid__0_9_0//:unic_langid", - ], -) diff --git a/cargo/remote/BUILD.ipnet-2.5.0.bazel b/cargo/remote/BUILD.ipnet-2.5.0.bazel deleted file mode 100644 index 11450889d..000000000 --- a/cargo/remote/BUILD.ipnet-2.5.0.bazel +++ /dev/null @@ -1,55 +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 "//cargo", 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 = "ipnet", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=ipnet", - "manual", - ], - version = "2.5.0", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.itertools-0.10.5.bazel b/cargo/remote/BUILD.itertools-0.10.5.bazel deleted file mode 100644 index 6e285814e..000000000 --- a/cargo/remote/BUILD.itertools-0.10.5.bazel +++ /dev/null @@ -1,98 +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 "//cargo", 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 "bench1" with type "bench" omitted - -# Unsupported target "combinations" with type "bench" omitted - -# Unsupported target "combinations_with_replacement" with type "bench" omitted - -# Unsupported target "fold_specialization" with type "bench" omitted - -# Unsupported target "powerset" with type "bench" omitted - -# Unsupported target "tree_fold1" with type "bench" omitted - -# Unsupported target "tuple_combinations" with type "bench" omitted - -# Unsupported target "tuples" with type "bench" omitted - -# Unsupported target "iris" with type "example" omitted - -rust_library( - name = "itertools", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "use_alloc", - "use_std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=itertools", - "manual", - ], - version = "0.10.5", - # buildifier: leave-alone - deps = [ - "@raze__either__1_8_0//:either", - ], -) - -# Unsupported target "adaptors_no_collect" with type "test" omitted - -# Unsupported target "flatten_ok" with type "test" omitted - -# Unsupported target "macros_hygiene" with type "test" omitted - -# Unsupported target "merge_join" with type "test" omitted - -# Unsupported target "peeking_take_while" with type "test" omitted - -# Unsupported target "quick" with type "test" omitted - -# Unsupported target "specializations" with type "test" omitted - -# Unsupported target "test_core" with type "test" omitted - -# Unsupported target "test_std" with type "test" omitted - -# Unsupported target "tuples" with type "test" omitted - -# Unsupported target "zip" with type "test" omitted diff --git a/cargo/remote/BUILD.itoa-0.4.8.bazel b/cargo/remote/BUILD.itoa-0.4.8.bazel deleted file mode 100644 index 72e076d63..000000000 --- a/cargo/remote/BUILD.itoa-0.4.8.bazel +++ /dev/null @@ -1,61 +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 "//cargo", 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 = "itoa", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "i128", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=itoa", - "manual", - ], - version = "0.4.8", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "test" with type "test" omitted diff --git a/cargo/remote/BUILD.itoa-1.0.3.bazel b/cargo/remote/BUILD.itoa-1.0.3.bazel deleted file mode 100644 index 69c8142ff..000000000 --- a/cargo/remote/BUILD.itoa-1.0.3.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 "//cargo", 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 = "itoa", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=itoa", - "manual", - ], - version = "1.0.3", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "test" with type "test" omitted diff --git a/cargo/remote/BUILD.jobserver-0.1.25.bazel b/cargo/remote/BUILD.jobserver-0.1.25.bazel deleted file mode 100644 index 620b1c76f..000000000 --- a/cargo/remote/BUILD.jobserver-0.1.25.bazel +++ /dev/null @@ -1,79 +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 "//cargo", 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 = "jobserver", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=jobserver", - "manual", - ], - version = "0.1.25", - # buildifier: leave-alone - deps = [ - ] + selects.with_or({ - # cfg(unix) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - ], - "//conditions:default": [], - }), -) - -# Unsupported target "client" with type "test" omitted - -# Unsupported target "client-of-myself" with type "test" omitted - -# Unsupported target "helper" with type "test" omitted - -# Unsupported target "make-as-a-client" with type "test" omitted - -# Unsupported target "server" with type "test" omitted diff --git a/cargo/remote/BUILD.js-sys-0.3.60.bazel b/cargo/remote/BUILD.js-sys-0.3.60.bazel deleted file mode 100644 index 017e00084..000000000 --- a/cargo/remote/BUILD.js-sys-0.3.60.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 "//cargo", 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 = "js_sys", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=js-sys", - "manual", - ], - version = "0.3.60", - # buildifier: leave-alone - deps = [ - "@raze__wasm_bindgen__0_2_83//:wasm_bindgen", - ], -) - -# Unsupported target "headless" with type "test" omitted - -# Unsupported target "wasm" with type "test" omitted diff --git a/cargo/remote/BUILD.kuchiki-0.8.1.bazel b/cargo/remote/BUILD.kuchiki-0.8.1.bazel deleted file mode 100644 index 3c4251d09..000000000 --- a/cargo/remote/BUILD.kuchiki-0.8.1.bazel +++ /dev/null @@ -1,62 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "find_matches" with type "example" omitted - -# Unsupported target "stack-overflow" with type "example" omitted - -rust_library( - name = "kuchiki", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=kuchiki", - "manual", - ], - version = "0.8.1", - # buildifier: leave-alone - deps = [ - "@raze__cssparser__0_27_2//:cssparser", - "@raze__html5ever__0_25_2//:html5ever", - "@raze__matches__0_1_9//:matches", - "@raze__selectors__0_22_0//:selectors", - ], -) diff --git a/cargo/remote/BUILD.lazy_static-1.4.0.bazel b/cargo/remote/BUILD.lazy_static-1.4.0.bazel deleted file mode 100644 index 897008321..000000000 --- a/cargo/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 "//cargo", 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/cargo/remote/BUILD.libc-0.2.133.bazel b/cargo/remote/BUILD.libc-0.2.133.bazel deleted file mode 100644 index 29348866e..000000000 --- a/cargo/remote/BUILD.libc-0.2.133.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 "//cargo", 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 = [ - "default", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.2.133", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "libc", - 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=libc", - "manual", - ], - version = "0.2.133", - # buildifier: leave-alone - deps = [ - ":libc_build_script", - ], -) - -# Unsupported target "const_fn" with type "test" omitted diff --git a/cargo/remote/BUILD.libsqlite3-sys-0.25.1.bazel b/cargo/remote/BUILD.libsqlite3-sys-0.25.1.bazel deleted file mode 100644 index 526817169..000000000 --- a/cargo/remote/BUILD.libsqlite3-sys-0.25.1.bazel +++ /dev/null @@ -1,106 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "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 = "libsqlite3_sys_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "bundled", - "bundled_bindings", - "cc", - "default", - "min_sqlite_version_3_6_23", - "min_sqlite_version_3_6_8", - "min_sqlite_version_3_7_7", - "pkg-config", - "vcpkg", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - links = "sqlite3", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.25.1", - visibility = ["//visibility:private"], - deps = [ - "@raze__cc__1_0_73//:cc", - "@raze__pkg_config__0_3_25//:pkg_config", - "@raze__vcpkg__0_2_15//:vcpkg", - ], -) - -rust_library( - name = "libsqlite3_sys", - srcs = glob(["**/*.rs"]), - crate_features = [ - "bundled", - "bundled_bindings", - "cc", - "default", - "min_sqlite_version_3_6_23", - "min_sqlite_version_3_6_8", - "min_sqlite_version_3_7_7", - "pkg-config", - "vcpkg", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=libsqlite3-sys", - "manual", - ], - version = "0.25.1", - # buildifier: leave-alone - deps = [ - ":libsqlite3_sys_build_script", - ], -) diff --git a/cargo/remote/BUILD.linkcheck-0.4.1-alpha.0.bazel b/cargo/remote/BUILD.linkcheck-0.4.1-alpha.0.bazel deleted file mode 100644 index 75e4eaa60..000000000 --- a/cargo/remote/BUILD.linkcheck-0.4.1-alpha.0.bazel +++ /dev/null @@ -1,72 +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 "//cargo", 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 = "linkcheck", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "serde", - "serde-1", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=linkcheck", - "manual", - ], - version = "0.4.1-alpha.0", - # buildifier: leave-alone - deps = [ - "@raze__bytes__1_2_1//:bytes", - "@raze__codespan__0_11_1//:codespan", - "@raze__dunce__1_0_2//:dunce", - "@raze__futures__0_3_24//:futures", - "@raze__http__0_2_8//:http", - "@raze__kuchiki__0_8_1//:kuchiki", - "@raze__lazy_static__1_4_0//:lazy_static", - "@raze__linkify__0_5_0//:linkify", - "@raze__log__0_4_17//:log", - "@raze__pulldown_cmark__0_8_0//:pulldown_cmark", - "@raze__regex__1_6_0//:regex", - "@raze__reqwest__0_11_3//:reqwest", - "@raze__serde__1_0_145//:serde", - "@raze__thiserror__1_0_35//:thiserror", - "@raze__url__2_3_1//:url", - ], -) diff --git a/cargo/remote/BUILD.linkify-0.5.0.bazel b/cargo/remote/BUILD.linkify-0.5.0.bazel deleted file mode 100644 index 5dfbdcea6..000000000 --- a/cargo/remote/BUILD.linkify-0.5.0.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 "//cargo", 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 "url" with type "bench" omitted - -rust_library( - name = "linkify", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=linkify", - "manual", - ], - version = "0.5.0", - # buildifier: leave-alone - deps = [ - "@raze__memchr__2_5_0//:memchr", - ], -) - -# Unsupported target "email" with type "test" omitted - -# Unsupported target "types" with type "test" omitted - -# Unsupported target "url" with type "test" omitted diff --git a/cargo/remote/BUILD.lock_api-0.4.9.bazel b/cargo/remote/BUILD.lock_api-0.4.9.bazel deleted file mode 100644 index 32f9f454b..000000000 --- a/cargo/remote/BUILD.lock_api-0.4.9.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 "//cargo", 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 = "lock_api_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.4.9", - visibility = ["//visibility:private"], - deps = [ - "@raze__autocfg__1_1_0//:autocfg", - ], -) - -rust_library( - name = "lock_api", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=lock_api", - "manual", - ], - version = "0.4.9", - # buildifier: leave-alone - deps = [ - ":lock_api_build_script", - "@raze__scopeguard__1_1_0//:scopeguard", - ], -) diff --git a/cargo/remote/BUILD.log-0.4.17.bazel b/cargo/remote/BUILD.log-0.4.17.bazel deleted file mode 100644 index 127b97d5a..000000000 --- a/cargo/remote/BUILD.log-0.4.17.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 "//cargo", 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.17", - 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.17", - # buildifier: leave-alone - deps = [ - ":log_build_script", - "@raze__cfg_if__1_0_0//:cfg_if", - ], -) - -# Unsupported target "filters" with type "test" omitted - -# Unsupported target "macros" with type "test" omitted diff --git a/cargo/remote/BUILD.mac-0.1.1.bazel b/cargo/remote/BUILD.mac-0.1.1.bazel deleted file mode 100644 index a12f33fb2..000000000 --- a/cargo/remote/BUILD.mac-0.1.1.bazel +++ /dev/null @@ -1,54 +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 "//cargo", 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 = "mac", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=mac", - "manual", - ], - version = "0.1.1", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.maplit-1.0.2.bazel b/cargo/remote/BUILD.maplit-1.0.2.bazel deleted file mode 100644 index 2b2bc4138..000000000 --- a/cargo/remote/BUILD.maplit-1.0.2.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 "//cargo", 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 = "maplit", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=maplit", - "manual", - ], - version = "1.0.2", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "tests" with type "test" omitted diff --git a/cargo/remote/BUILD.markup5ever-0.10.1.bazel b/cargo/remote/BUILD.markup5ever-0.10.1.bazel deleted file mode 100644 index 87c7d2fff..000000000 --- a/cargo/remote/BUILD.markup5ever-0.10.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 "//cargo", 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 = "markup5ever_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.10.1", - visibility = ["//visibility:private"], - deps = [ - "@raze__phf_codegen__0_8_0//:phf_codegen", - "@raze__string_cache_codegen__0_5_2//:string_cache_codegen", - ], -) - -rust_library( - name = "markup5ever", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=markup5ever", - "manual", - ], - version = "0.10.1", - # buildifier: leave-alone - deps = [ - ":markup5ever_build_script", - "@raze__log__0_4_17//:log", - "@raze__phf__0_8_0//:phf", - "@raze__string_cache__0_8_4//:string_cache", - "@raze__tendril__0_4_3//:tendril", - ], -) diff --git a/cargo/remote/BUILD.markup5ever-0.11.0.bazel b/cargo/remote/BUILD.markup5ever-0.11.0.bazel deleted file mode 100644 index de6c7bcd3..000000000 --- a/cargo/remote/BUILD.markup5ever-0.11.0.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 "//cargo", 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 = "markup5ever_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.11.0", - visibility = ["//visibility:private"], - deps = [ - "@raze__phf_codegen__0_10_0//:phf_codegen", - "@raze__string_cache_codegen__0_5_2//:string_cache_codegen", - ], -) - -rust_library( - name = "markup5ever", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=markup5ever", - "manual", - ], - version = "0.11.0", - # buildifier: leave-alone - deps = [ - ":markup5ever_build_script", - "@raze__log__0_4_17//:log", - "@raze__phf__0_10_1//:phf", - "@raze__string_cache__0_8_4//:string_cache", - "@raze__tendril__0_4_3//:tendril", - ], -) diff --git a/cargo/remote/BUILD.matches-0.1.9.bazel b/cargo/remote/BUILD.matches-0.1.9.bazel deleted file mode 100644 index 6a59682d2..000000000 --- a/cargo/remote/BUILD.matches-0.1.9.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "matches", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=matches", - "manual", - ], - version = "0.1.9", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "macro_use_one" with type "test" omitted - -# Unsupported target "use_star" with type "test" omitted diff --git a/cargo/remote/BUILD.memchr-2.5.0.bazel b/cargo/remote/BUILD.memchr-2.5.0.bazel deleted file mode 100644 index 5cab9e6fc..000000000 --- a/cargo/remote/BUILD.memchr-2.5.0.bazel +++ /dev/null @@ -1,88 +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 "//cargo", 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", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "2.5.0", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "memchr", - 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=memchr", - "manual", - ], - version = "2.5.0", - # buildifier: leave-alone - deps = [ - ":memchr_build_script", - ], -) diff --git a/cargo/remote/BUILD.memoffset-0.6.5.bazel b/cargo/remote/BUILD.memoffset-0.6.5.bazel deleted file mode 100644 index cee0e701f..000000000 --- a/cargo/remote/BUILD.memoffset-0.6.5.bazel +++ /dev/null @@ -1,87 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "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 = "memoffset_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.6.5", - visibility = ["//visibility:private"], - deps = [ - "@raze__autocfg__1_1_0//:autocfg", - ], -) - -rust_library( - name = "memoffset", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=memoffset", - "manual", - ], - version = "0.6.5", - # buildifier: leave-alone - deps = [ - ":memoffset_build_script", - ], -) diff --git a/cargo/remote/BUILD.mime-0.3.16.bazel b/cargo/remote/BUILD.mime-0.3.16.bazel deleted file mode 100644 index 63c09678c..000000000 --- a/cargo/remote/BUILD.mime-0.3.16.bazel +++ /dev/null @@ -1,60 +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 "//cargo", 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 "cmp" with type "bench" omitted - -# Unsupported target "fmt" with type "bench" omitted - -# Unsupported target "parse" with type "bench" omitted - -rust_library( - name = "mime", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=mime", - "manual", - ], - version = "0.3.16", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.mime_guess-2.0.4.bazel b/cargo/remote/BUILD.mime_guess-2.0.4.bazel deleted file mode 100644 index 0281ca2e8..000000000 --- a/cargo/remote/BUILD.mime_guess-2.0.4.bazel +++ /dev/null @@ -1,91 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "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 = "mime_guess_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 = "2.0.4", - visibility = ["//visibility:private"], - deps = [ - "@raze__unicase__2_6_0//:unicase", - ], -) - -# Unsupported target "benchmark" with type "bench" omitted - -# Unsupported target "rev_map" with type "example" omitted - -rust_library( - name = "mime_guess", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=mime_guess", - "manual", - ], - version = "2.0.4", - # buildifier: leave-alone - deps = [ - ":mime_guess_build_script", - "@raze__mime__0_3_16//:mime", - "@raze__unicase__2_6_0//:unicase", - ], -) diff --git a/cargo/remote/BUILD.minimal-lexical-0.2.1.bazel b/cargo/remote/BUILD.minimal-lexical-0.2.1.bazel deleted file mode 100644 index f801cc3f7..000000000 --- a/cargo/remote/BUILD.minimal-lexical-0.2.1.bazel +++ /dev/null @@ -1,79 +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 "//cargo", 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 = "minimal_lexical", - srcs = glob(["**/*.rs"]), - crate_features = [ - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=minimal-lexical", - "manual", - ], - version = "0.2.1", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "bellerophon" with type "test" omitted - -# Unsupported target "bellerophon_tests" with type "test" omitted - -# Unsupported target "integration_tests" with type "test" omitted - -# Unsupported target "lemire_tests" with type "test" omitted - -# Unsupported target "libm_tests" with type "test" omitted - -# Unsupported target "mask_tests" with type "test" omitted - -# Unsupported target "number_tests" with type "test" omitted - -# Unsupported target "parse_tests" with type "test" omitted - -# Unsupported target "rounding_tests" with type "test" omitted - -# Unsupported target "slow_tests" with type "test" omitted - -# Unsupported target "stackvec" with type "test" omitted - -# Unsupported target "vec_tests" with type "test" omitted diff --git a/cargo/remote/BUILD.miniz_oxide-0.5.4.bazel b/cargo/remote/BUILD.miniz_oxide-0.5.4.bazel deleted file mode 100644 index 4fb76a99a..000000000 --- a/cargo/remote/BUILD.miniz_oxide-0.5.4.bazel +++ /dev/null @@ -1,55 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT OR (Zlib OR Apache-2.0)" -]) - -# Generated Targets - -rust_library( - name = "miniz_oxide", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=miniz_oxide", - "manual", - ], - version = "0.5.4", - # buildifier: leave-alone - deps = [ - "@raze__adler__1_0_2//:adler", - ], -) diff --git a/cargo/remote/BUILD.mio-0.8.4.bazel b/cargo/remote/BUILD.mio-0.8.4.bazel deleted file mode 100644 index e4ff26a63..000000000 --- a/cargo/remote/BUILD.mio-0.8.4.bazel +++ /dev/null @@ -1,88 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "tcp_listenfd_server" with type "example" omitted - -# Unsupported target "tcp_server" with type "example" omitted - -# Unsupported target "udp_server" with type "example" omitted - -rust_library( - name = "mio", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - "default", - "net", - "os-ext", - "os-poll", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=mio", - "manual", - ], - version = "0.8.4", - # buildifier: leave-alone - deps = [ - "@raze__log__0_4_17//:log", - ] + selects.with_or({ - # cfg(unix) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__windows_sys__0_36_1//:windows_sys", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.multimap-0.8.3.bazel b/cargo/remote/BUILD.multimap-0.8.3.bazel deleted file mode 100644 index 980409246..000000000 --- a/cargo/remote/BUILD.multimap-0.8.3.bazel +++ /dev/null @@ -1,54 +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 "//cargo", 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 = "multimap", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=multimap", - "manual", - ], - version = "0.8.3", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.native-tls-0.2.10.bazel b/cargo/remote/BUILD.native-tls-0.2.10.bazel deleted file mode 100644 index dfd46a448..000000000 --- a/cargo/remote/BUILD.native-tls-0.2.10.bazel +++ /dev/null @@ -1,154 +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 "//cargo", 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 = "native_tls_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.10", - visibility = ["//visibility:private"], - deps = [ - ] + selects.with_or({ - # cfg(any(target_os = "macos", target_os = "ios")) - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:aarch64-apple-darwin", - "@rules_rust//rust/platform:aarch64-apple-ios", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__security_framework_sys__2_6_1//:security_framework_sys", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(not(any(target_os = "windows", target_os = "macos", target_os = "ios"))) - ( - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", - ): [ - "@raze__openssl_sys__0_9_75//:openssl_sys", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(target_os = "windows") - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - ], - "//conditions:default": [], - }), -) - -# Unsupported target "google-connect" with type "example" omitted - -# Unsupported target "simple-server" with type "example" omitted - -# Unsupported target "simple-server-pkcs8" with type "example" omitted - -rust_library( - name = "native_tls", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=native-tls", - "manual", - ], - version = "0.2.10", - # buildifier: leave-alone - deps = [ - ":native_tls_build_script", - ] + selects.with_or({ - # cfg(any(target_os = "macos", target_os = "ios")) - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:aarch64-apple-darwin", - "@rules_rust//rust/platform:aarch64-apple-ios", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__lazy_static__1_4_0//:lazy_static", - "@raze__libc__0_2_133//:libc", - "@raze__security_framework__2_7_0//:security_framework", - "@raze__security_framework_sys__2_6_1//:security_framework_sys", - "@raze__tempfile__3_3_0//:tempfile", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(not(any(target_os = "windows", target_os = "macos", target_os = "ios"))) - ( - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", - ): [ - "@raze__log__0_4_17//:log", - "@raze__openssl__0_10_41//:openssl", - "@raze__openssl_probe__0_1_5//:openssl_probe", - "@raze__openssl_sys__0_9_75//:openssl_sys", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(target_os = "windows") - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__schannel__0_1_20//:schannel", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.new_debug_unreachable-1.0.4.bazel b/cargo/remote/BUILD.new_debug_unreachable-1.0.4.bazel deleted file mode 100644 index c0df16d05..000000000 --- a/cargo/remote/BUILD.new_debug_unreachable-1.0.4.bazel +++ /dev/null @@ -1,67 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "simple" with type "example" omitted - -alias( - name = "new_debug_unreachable", - actual = ":debug_unreachable", - tags = [ - "cargo-raze", - "manual", - ], -) - -rust_library( - name = "debug_unreachable", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=debug_unreachable", - "manual", - ], - version = "1.0.4", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "check" with type "test" omitted diff --git a/cargo/remote/BUILD.nodrop-0.1.14.bazel b/cargo/remote/BUILD.nodrop-0.1.14.bazel deleted file mode 100644 index 4f7f1f450..000000000 --- a/cargo/remote/BUILD.nodrop-0.1.14.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 "//cargo", 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 = "nodrop", - 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=nodrop", - "manual", - ], - version = "0.1.14", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.nom-7.1.1.bazel b/cargo/remote/BUILD.nom-7.1.1.bazel deleted file mode 100644 index 774ef8c35..000000000 --- a/cargo/remote/BUILD.nom-7.1.1.bazel +++ /dev/null @@ -1,97 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "iterator" with type "example" omitted - -# Unsupported target "json" with type "example" omitted - -# Unsupported target "s_expression" with type "example" omitted - -# Unsupported target "string" with type "example" omitted - -rust_library( - name = "nom", - srcs = glob(["**/*.rs"]), - crate_features = [ - "alloc", - "default", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=nom", - "manual", - ], - version = "7.1.1", - # buildifier: leave-alone - deps = [ - "@raze__memchr__2_5_0//:memchr", - "@raze__minimal_lexical__0_2_1//:minimal_lexical", - ], -) - -# Unsupported target "arithmetic" with type "test" omitted - -# Unsupported target "arithmetic_ast" with type "test" omitted - -# Unsupported target "css" with type "test" omitted - -# Unsupported target "custom_errors" with type "test" omitted - -# Unsupported target "escaped" with type "test" omitted - -# Unsupported target "float" with type "test" omitted - -# Unsupported target "fnmut" with type "test" omitted - -# Unsupported target "ini" with type "test" omitted - -# Unsupported target "ini_str" with type "test" omitted - -# Unsupported target "issues" with type "test" omitted - -# Unsupported target "json" with type "test" omitted - -# Unsupported target "mp4" with type "test" omitted - -# Unsupported target "multiline" with type "test" omitted - -# Unsupported target "overflow" with type "test" omitted - -# Unsupported target "reborrow_fold" with type "test" omitted diff --git a/cargo/remote/BUILD.num-format-0.4.0.bazel b/cargo/remote/BUILD.num-format-0.4.0.bazel deleted file mode 100644 index 162aec6ff..000000000 --- a/cargo/remote/BUILD.num-format-0.4.0.bazel +++ /dev/null @@ -1,76 +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 "//cargo", 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 = "num_format", - 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=num-format", - "manual", - ], - version = "0.4.0", - # buildifier: leave-alone - deps = [ - "@raze__arrayvec__0_4_12//:arrayvec", - "@raze__itoa__0_4_8//:itoa", - ], -) - -# Unsupported target "test_errors" with type "test" omitted - -# Unsupported target "test_no_bytes_written" with type "test" omitted - -# Unsupported target "test_non_zero" with type "test" omitted - -# Unsupported target "test_num_bigint" with type "test" omitted - -# Unsupported target "test_serialization" with type "test" omitted - -# Unsupported target "test_signed" with type "test" omitted - -# Unsupported target "test_system_locale_unix" with type "test" omitted - -# Unsupported target "test_system_locale_windows" with type "test" omitted - -# Unsupported target "test_unsigned" with type "test" omitted diff --git a/cargo/remote/BUILD.num-integer-0.1.45.bazel b/cargo/remote/BUILD.num-integer-0.1.45.bazel deleted file mode 100644 index 022dd5e0e..000000000 --- a/cargo/remote/BUILD.num-integer-0.1.45.bazel +++ /dev/null @@ -1,100 +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 "//cargo", 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 = "num_integer_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.1.45", - visibility = ["//visibility:private"], - deps = [ - "@raze__autocfg__1_1_0//:autocfg", - ], -) - -# Unsupported target "average" with type "bench" omitted - -# Unsupported target "gcd" with type "bench" omitted - -# Unsupported target "roots" with type "bench" omitted - -rust_library( - name = "num_integer", - 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=num-integer", - "manual", - ], - version = "0.1.45", - # buildifier: leave-alone - deps = [ - ":num_integer_build_script", - "@raze__num_traits__0_2_15//:num_traits", - ], -) - -# Unsupported target "average" with type "test" omitted - -# Unsupported target "roots" with type "test" omitted diff --git a/cargo/remote/BUILD.num-traits-0.2.15.bazel b/cargo/remote/BUILD.num-traits-0.2.15.bazel deleted file mode 100644 index bb886fff2..000000000 --- a/cargo/remote/BUILD.num-traits-0.2.15.bazel +++ /dev/null @@ -1,89 +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 "//cargo", 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 = "num_traits_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.2.15", - visibility = ["//visibility:private"], - deps = [ - "@raze__autocfg__1_1_0//:autocfg", - ], -) - -rust_library( - name = "num_traits", - srcs = glob(["**/*.rs"]), - crate_features = [ - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=num-traits", - "manual", - ], - version = "0.2.15", - # buildifier: leave-alone - deps = [ - ":num_traits_build_script", - ], -) - -# Unsupported target "cast" with type "test" omitted diff --git a/cargo/remote/BUILD.num_cpus-1.13.1.bazel b/cargo/remote/BUILD.num_cpus-1.13.1.bazel deleted file mode 100644 index 3c78844bc..000000000 --- a/cargo/remote/BUILD.num_cpus-1.13.1.bazel +++ /dev/null @@ -1,71 +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 "//cargo", 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 "values" with type "example" omitted - -rust_library( - name = "num_cpus", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=num_cpus", - "manual", - ], - version = "1.13.1", - # buildifier: leave-alone - deps = [ - ] + selects.with_or({ - # cfg(not(windows)) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.num_enum-0.5.7.bazel b/cargo/remote/BUILD.num_enum-0.5.7.bazel deleted file mode 100644 index 362ef8f41..000000000 --- a/cargo/remote/BUILD.num_enum-0.5.7.bazel +++ /dev/null @@ -1,73 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # BSD-3-Clause from expression "BSD-3-Clause OR (MIT OR Apache-2.0)" -]) - -# Generated Targets - -rust_library( - name = "num_enum", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - proc_macro_deps = [ - "@raze__num_enum_derive__0_5_7//:num_enum_derive", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=num_enum", - "manual", - ], - version = "0.5.7", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "default" with type "test" omitted - -# Unsupported target "from_primitive" with type "test" omitted - -# Unsupported target "into_primitive" with type "test" omitted - -# Unsupported target "renamed_num_enum" with type "test" omitted - -# Unsupported target "try_build" with type "test" omitted - -# Unsupported target "try_from_primitive" with type "test" omitted - -# Unsupported target "unsafe_from_primitive" with type "test" omitted diff --git a/cargo/remote/BUILD.num_enum_derive-0.5.7.bazel b/cargo/remote/BUILD.num_enum_derive-0.5.7.bazel deleted file mode 100644 index 50c67da79..000000000 --- a/cargo/remote/BUILD.num_enum_derive-0.5.7.bazel +++ /dev/null @@ -1,60 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # BSD-3-Clause from expression "BSD-3-Clause OR (MIT OR Apache-2.0)" -]) - -# Generated Targets - -rust_proc_macro( - name = "num_enum_derive", - srcs = glob(["**/*.rs"]), - crate_features = [ - "proc-macro-crate", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=num_enum_derive", - "manual", - ], - version = "0.5.7", - # buildifier: leave-alone - deps = [ - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__proc_macro_crate__1_2_1//:proc_macro_crate", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) diff --git a/cargo/remote/BUILD.num_threads-0.1.6.bazel b/cargo/remote/BUILD.num_threads-0.1.6.bazel deleted file mode 100644 index 5d1451ffd..000000000 --- a/cargo/remote/BUILD.num_threads-0.1.6.bazel +++ /dev/null @@ -1,67 +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 "//cargo", 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 = "num_threads", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=num_threads", - "manual", - ], - version = "0.1.6", - # buildifier: leave-alone - deps = [ - ] + selects.with_or({ - # cfg(any(target_os = "macos", target_os = "ios", target_os = "freebsd")) - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:aarch64-apple-darwin", - "@rules_rust//rust/platform:aarch64-apple-ios", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.object-0.29.0.bazel b/cargo/remote/BUILD.object-0.29.0.bazel deleted file mode 100644 index 12147579f..000000000 --- a/cargo/remote/BUILD.object-0.29.0.bazel +++ /dev/null @@ -1,66 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -rust_library( - name = "object", - srcs = glob(["**/*.rs"]), - crate_features = [ - "archive", - "coff", - "elf", - "macho", - "pe", - "read_core", - "unaligned", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=object", - "manual", - ], - version = "0.29.0", - # buildifier: leave-alone - deps = [ - "@raze__memchr__2_5_0//:memchr", - ], -) - -# Unsupported target "integration" with type "test" omitted - -# Unsupported target "parse_self" with type "test" omitted diff --git a/cargo/remote/BUILD.once_cell-1.15.0.bazel b/cargo/remote/BUILD.once_cell-1.15.0.bazel deleted file mode 100644 index 298874847..000000000 --- a/cargo/remote/BUILD.once_cell-1.15.0.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 "//cargo", 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 "example" omitted - -# Unsupported target "bench_acquire" with type "example" omitted - -# Unsupported target "bench_vs_lazy_static" with type "example" omitted - -# Unsupported target "lazy_static" with type "example" omitted - -# Unsupported target "reentrant_init_deadlocks" with type "example" omitted - -# Unsupported target "regex" with type "example" omitted - -# Unsupported target "test_synchronization" with type "example" omitted - -rust_library( - name = "once_cell", - srcs = glob(["**/*.rs"]), - crate_features = [ - "alloc", - "default", - "race", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=once_cell", - "manual", - ], - version = "1.15.0", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "it" with type "test" omitted diff --git a/cargo/remote/BUILD.openssl-0.10.41.bazel b/cargo/remote/BUILD.openssl-0.10.41.bazel deleted file mode 100644 index 1c3974147..000000000 --- a/cargo/remote/BUILD.openssl-0.10.41.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "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 = "openssl_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.10.41", - visibility = ["//visibility:private"], - deps = [ - "@raze__openssl_sys__0_9_75//:openssl_sys", - ], -) - -# Unsupported target "mk_certs" with type "example" omitted - -rust_library( - name = "openssl", - srcs = glob(["**/*.rs"]), - aliases = { - "@raze__openssl_sys__0_9_75//:openssl_sys": "ffi", - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - proc_macro_deps = [ - "@raze__openssl_macros__0_1_0//:openssl_macros", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=openssl", - "manual", - ], - version = "0.10.41", - # buildifier: leave-alone - deps = [ - ":openssl_build_script", - "@raze__bitflags__1_3_2//:bitflags", - "@raze__cfg_if__1_0_0//:cfg_if", - "@raze__foreign_types__0_3_2//:foreign_types", - "@raze__libc__0_2_133//:libc", - "@raze__once_cell__1_15_0//:once_cell", - "@raze__openssl_sys__0_9_75//:openssl_sys", - ], -) diff --git a/cargo/remote/BUILD.openssl-macros-0.1.0.bazel b/cargo/remote/BUILD.openssl-macros-0.1.0.bazel deleted file mode 100644 index f693547b6..000000000 --- a/cargo/remote/BUILD.openssl-macros-0.1.0.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT OR Apache-2.0" -]) - -# Generated Targets - -rust_proc_macro( - name = "openssl_macros", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=openssl-macros", - "manual", - ], - version = "0.1.0", - # buildifier: leave-alone - deps = [ - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) diff --git a/cargo/remote/BUILD.openssl-probe-0.1.5.bazel b/cargo/remote/BUILD.openssl-probe-0.1.5.bazel deleted file mode 100644 index c26bbdf04..000000000 --- a/cargo/remote/BUILD.openssl-probe-0.1.5.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 "//cargo", 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 "probe" with type "example" omitted - -rust_library( - name = "openssl_probe", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=openssl-probe", - "manual", - ], - version = "0.1.5", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.openssl-sys-0.9.75.bazel b/cargo/remote/BUILD.openssl-sys-0.9.75.bazel deleted file mode 100644 index 546906870..000000000 --- a/cargo/remote/BUILD.openssl-sys-0.9.75.bazel +++ /dev/null @@ -1,106 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "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 = "openssl_sys_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build/main.rs", - data = glob(["**"]), - edition = "2015", - links = "openssl", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.9.75", - visibility = ["//visibility:private"], - deps = [ - "@raze__autocfg__1_1_0//:autocfg", - "@raze__cc__1_0_73//:cc", - "@raze__pkg_config__0_3_25//:pkg_config", - ] + selects.with_or({ - # cfg(target_env = "msvc") - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__vcpkg__0_2_15//:vcpkg", - ], - "//conditions:default": [], - }), -) - -rust_library( - name = "openssl_sys", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=openssl-sys", - "manual", - ], - version = "0.9.75", - # buildifier: leave-alone - deps = [ - ":openssl_sys_build_script", - "@raze__libc__0_2_133//:libc", - ] + selects.with_or({ - # cfg(target_env = "msvc") - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.parking_lot-0.12.1.bazel b/cargo/remote/BUILD.parking_lot-0.12.1.bazel deleted file mode 100644 index bd6ffc365..000000000 --- a/cargo/remote/BUILD.parking_lot-0.12.1.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 "//cargo", 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 = "parking_lot", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=parking_lot", - "manual", - ], - version = "0.12.1", - # buildifier: leave-alone - deps = [ - "@raze__lock_api__0_4_9//:lock_api", - "@raze__parking_lot_core__0_9_3//:parking_lot_core", - ], -) - -# Unsupported target "issue_203" with type "test" omitted diff --git a/cargo/remote/BUILD.parking_lot_core-0.9.3.bazel b/cargo/remote/BUILD.parking_lot_core-0.9.3.bazel deleted file mode 100644 index 9cd02fa89..000000000 --- a/cargo/remote/BUILD.parking_lot_core-0.9.3.bazel +++ /dev/null @@ -1,129 +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 "//cargo", 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 = "parking_lot_core_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.9.3", - visibility = ["//visibility:private"], - deps = [ - ] + selects.with_or({ - # cfg(unix) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__windows_sys__0_36_1//:windows_sys", - ], - "//conditions:default": [], - }), -) - -rust_library( - name = "parking_lot_core", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=parking_lot_core", - "manual", - ], - version = "0.9.3", - # buildifier: leave-alone - deps = [ - ":parking_lot_core_build_script", - "@raze__cfg_if__1_0_0//:cfg_if", - "@raze__smallvec__1_9_0//:smallvec", - ] + selects.with_or({ - # cfg(unix) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__windows_sys__0_36_1//:windows_sys", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.pct-str-1.1.0.bazel b/cargo/remote/BUILD.pct-str-1.1.0.bazel deleted file mode 100644 index b038863d2..000000000 --- a/cargo/remote/BUILD.pct-str-1.1.0.bazel +++ /dev/null @@ -1,61 +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 "//cargo", 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 "encode" with type "example" omitted - -# Unsupported target "str" with type "example" omitted - -# Unsupported target "string" with type "example" omitted - -rust_library( - name = "pct_str", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=pct-str", - "manual", - ], - version = "1.1.0", - # buildifier: leave-alone - deps = [ - "@raze__utf8_decode__1_0_1//:utf8_decode", - ], -) diff --git a/cargo/remote/BUILD.percent-encoding-2.2.0.bazel b/cargo/remote/BUILD.percent-encoding-2.2.0.bazel deleted file mode 100644 index cb4cc5742..000000000 --- a/cargo/remote/BUILD.percent-encoding-2.2.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 "//cargo", 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 = "percent_encoding", - srcs = glob(["**/*.rs"]), - crate_features = [ - "alloc", - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=percent-encoding", - "manual", - ], - version = "2.2.0", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.petgraph-0.6.2.bazel b/cargo/remote/BUILD.petgraph-0.6.2.bazel deleted file mode 100644 index cecb05c80..000000000 --- a/cargo/remote/BUILD.petgraph-0.6.2.bazel +++ /dev/null @@ -1,102 +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 "//cargo", 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 "bellman_ford" with type "bench" omitted - -# Unsupported target "dijkstra" with type "bench" omitted - -# Unsupported target "feedback_arc_set" with type "bench" omitted - -# Unsupported target "floyd_warshall" with type "bench" omitted - -# Unsupported target "iso" with type "bench" omitted - -# Unsupported target "k_shortest_path" with type "bench" omitted - -# Unsupported target "matching" with type "bench" omitted - -# Unsupported target "matrix_graph" with type "bench" omitted - -# Unsupported target "ograph" with type "bench" omitted - -# Unsupported target "serialize" with type "bench" omitted - -# Unsupported target "stable_graph" with type "bench" omitted - -# Unsupported target "unionfind" with type "bench" omitted - -rust_library( - name = "petgraph", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=petgraph", - "manual", - ], - version = "0.6.2", - # buildifier: leave-alone - deps = [ - "@raze__fixedbitset__0_4_2//:fixedbitset", - "@raze__indexmap__1_9_1//:indexmap", - ], -) - -# Unsupported target "floyd_warshall" with type "test" omitted - -# Unsupported target "graph" with type "test" omitted - -# Unsupported target "graphmap" with type "test" omitted - -# Unsupported target "iso" with type "test" omitted - -# Unsupported target "k_shortest_path" with type "test" omitted - -# Unsupported target "list" with type "test" omitted - -# Unsupported target "matching" with type "test" omitted - -# Unsupported target "operator" with type "test" omitted - -# Unsupported target "quickcheck" with type "test" omitted - -# Unsupported target "stable_graph" with type "test" omitted - -# Unsupported target "unionfind" with type "test" omitted diff --git a/cargo/remote/BUILD.phf-0.10.1.bazel b/cargo/remote/BUILD.phf-0.10.1.bazel deleted file mode 100644 index e8b54c474..000000000 --- a/cargo/remote/BUILD.phf-0.10.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "phf", - 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=phf", - "manual", - ], - version = "0.10.1", - # buildifier: leave-alone - deps = [ - "@raze__phf_shared__0_10_0//:phf_shared", - ], -) diff --git a/cargo/remote/BUILD.phf-0.11.1.bazel b/cargo/remote/BUILD.phf-0.11.1.bazel deleted file mode 100644 index aa659fbb2..000000000 --- a/cargo/remote/BUILD.phf-0.11.1.bazel +++ /dev/null @@ -1,62 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "phf", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "macros", - "phf_macros", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2021", - proc_macro_deps = [ - "@raze__phf_macros__0_11_1//:phf_macros", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=phf", - "manual", - ], - version = "0.11.1", - # buildifier: leave-alone - deps = [ - "@raze__phf_shared__0_11_1//:phf_shared", - ], -) diff --git a/cargo/remote/BUILD.phf-0.8.0.bazel b/cargo/remote/BUILD.phf-0.8.0.bazel deleted file mode 100644 index b5e8d7e7f..000000000 --- a/cargo/remote/BUILD.phf-0.8.0.bazel +++ /dev/null @@ -1,64 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "phf", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "macros", - "phf_macros", - "proc-macro-hack", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - proc_macro_deps = [ - "@raze__phf_macros__0_8_0//:phf_macros", - "@raze__proc_macro_hack__0_5_19//:proc_macro_hack", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=phf", - "manual", - ], - version = "0.8.0", - # buildifier: leave-alone - deps = [ - "@raze__phf_shared__0_8_0//:phf_shared", - ], -) diff --git a/cargo/remote/BUILD.phf_codegen-0.10.0.bazel b/cargo/remote/BUILD.phf_codegen-0.10.0.bazel deleted file mode 100644 index 3ccb66d39..000000000 --- a/cargo/remote/BUILD.phf_codegen-0.10.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "phf_codegen", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=phf_codegen", - "manual", - ], - version = "0.10.0", - # buildifier: leave-alone - deps = [ - "@raze__phf_generator__0_10_0//:phf_generator", - "@raze__phf_shared__0_10_0//:phf_shared", - ], -) diff --git a/cargo/remote/BUILD.phf_codegen-0.8.0.bazel b/cargo/remote/BUILD.phf_codegen-0.8.0.bazel deleted file mode 100644 index 50d57f7a7..000000000 --- a/cargo/remote/BUILD.phf_codegen-0.8.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "phf_codegen", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=phf_codegen", - "manual", - ], - version = "0.8.0", - # buildifier: leave-alone - deps = [ - "@raze__phf_generator__0_8_0//:phf_generator", - "@raze__phf_shared__0_8_0//:phf_shared", - ], -) diff --git a/cargo/remote/BUILD.phf_generator-0.10.0.bazel b/cargo/remote/BUILD.phf_generator-0.10.0.bazel deleted file mode 100644 index a2c418e61..000000000 --- a/cargo/remote/BUILD.phf_generator-0.10.0.bazel +++ /dev/null @@ -1,85 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "benches" with type "bench" omitted - -rust_binary( - # Prefix bin name to disambiguate from (probable) collision with lib name - # N.B.: The exact form of this is subject to change. - name = "cargo_bin_gen_hash_test", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/bin/gen_hash_test.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=gen_hash_test", - "manual", - ], - version = "0.10.0", - # buildifier: leave-alone - deps = [ - ":phf_generator", - "@raze__phf_shared__0_10_0//:phf_shared", - "@raze__rand__0_8_5//:rand", - ], -) - -rust_library( - name = "phf_generator", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=phf_generator", - "manual", - ], - version = "0.10.0", - # buildifier: leave-alone - deps = [ - "@raze__phf_shared__0_10_0//:phf_shared", - "@raze__rand__0_8_5//:rand", - ], -) diff --git a/cargo/remote/BUILD.phf_generator-0.11.1.bazel b/cargo/remote/BUILD.phf_generator-0.11.1.bazel deleted file mode 100644 index c9e0eed87..000000000 --- a/cargo/remote/BUILD.phf_generator-0.11.1.bazel +++ /dev/null @@ -1,85 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "benches" with type "bench" omitted - -rust_binary( - # Prefix bin name to disambiguate from (probable) collision with lib name - # N.B.: The exact form of this is subject to change. - name = "cargo_bin_gen_hash_test", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/bin/gen_hash_test.rs", - data = [], - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=gen_hash_test", - "manual", - ], - version = "0.11.1", - # buildifier: leave-alone - deps = [ - ":phf_generator", - "@raze__phf_shared__0_11_1//:phf_shared", - "@raze__rand__0_8_5//:rand", - ], -) - -rust_library( - name = "phf_generator", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=phf_generator", - "manual", - ], - version = "0.11.1", - # buildifier: leave-alone - deps = [ - "@raze__phf_shared__0_11_1//:phf_shared", - "@raze__rand__0_8_5//:rand", - ], -) diff --git a/cargo/remote/BUILD.phf_generator-0.8.0.bazel b/cargo/remote/BUILD.phf_generator-0.8.0.bazel deleted file mode 100644 index 3cfd7b61a..000000000 --- a/cargo/remote/BUILD.phf_generator-0.8.0.bazel +++ /dev/null @@ -1,85 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "benches" with type "bench" omitted - -rust_binary( - # Prefix bin name to disambiguate from (probable) collision with lib name - # N.B.: The exact form of this is subject to change. - name = "cargo_bin_gen_hash_test", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/bin/gen_hash_test.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=gen_hash_test", - "manual", - ], - version = "0.8.0", - # buildifier: leave-alone - deps = [ - ":phf_generator", - "@raze__phf_shared__0_8_0//:phf_shared", - "@raze__rand__0_7_3//:rand", - ], -) - -rust_library( - name = "phf_generator", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=phf_generator", - "manual", - ], - version = "0.8.0", - # buildifier: leave-alone - deps = [ - "@raze__phf_shared__0_8_0//:phf_shared", - "@raze__rand__0_7_3//:rand", - ], -) diff --git a/cargo/remote/BUILD.phf_macros-0.11.1.bazel b/cargo/remote/BUILD.phf_macros-0.11.1.bazel deleted file mode 100644 index 2d448b68b..000000000 --- a/cargo/remote/BUILD.phf_macros-0.11.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_proc_macro( - name = "phf_macros", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=phf_macros", - "manual", - ], - version = "0.11.1", - # buildifier: leave-alone - deps = [ - "@raze__phf_generator__0_11_1//:phf_generator", - "@raze__phf_shared__0_11_1//:phf_shared", - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) diff --git a/cargo/remote/BUILD.phf_macros-0.8.0.bazel b/cargo/remote/BUILD.phf_macros-0.8.0.bazel deleted file mode 100644 index b01e32cdd..000000000 --- a/cargo/remote/BUILD.phf_macros-0.8.0.bazel +++ /dev/null @@ -1,68 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "bench" with type "bench" omitted - -rust_proc_macro( - name = "phf_macros", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - proc_macro_deps = [ - "@raze__proc_macro_hack__0_5_19//:proc_macro_hack", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=phf_macros", - "manual", - ], - version = "0.8.0", - # buildifier: leave-alone - deps = [ - "@raze__phf_generator__0_8_0//:phf_generator", - "@raze__phf_shared__0_8_0//:phf_shared", - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) - -# Unsupported target "compiletest" with type "test" omitted - -# Unsupported target "test" with type "test" omitted diff --git a/cargo/remote/BUILD.phf_shared-0.10.0.bazel b/cargo/remote/BUILD.phf_shared-0.10.0.bazel deleted file mode 100644 index db49af10f..000000000 --- a/cargo/remote/BUILD.phf_shared-0.10.0.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "phf_shared", - 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=phf_shared", - "manual", - ], - version = "0.10.0", - # buildifier: leave-alone - deps = [ - "@raze__siphasher__0_3_10//:siphasher", - ], -) diff --git a/cargo/remote/BUILD.phf_shared-0.11.1.bazel b/cargo/remote/BUILD.phf_shared-0.11.1.bazel deleted file mode 100644 index 9781852f0..000000000 --- a/cargo/remote/BUILD.phf_shared-0.11.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "phf_shared", - srcs = glob(["**/*.rs"]), - crate_features = [ - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=phf_shared", - "manual", - ], - version = "0.11.1", - # buildifier: leave-alone - deps = [ - "@raze__siphasher__0_3_10//:siphasher", - ], -) diff --git a/cargo/remote/BUILD.phf_shared-0.8.0.bazel b/cargo/remote/BUILD.phf_shared-0.8.0.bazel deleted file mode 100644 index 26390ab91..000000000 --- a/cargo/remote/BUILD.phf_shared-0.8.0.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "phf_shared", - 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=phf_shared", - "manual", - ], - version = "0.8.0", - # buildifier: leave-alone - deps = [ - "@raze__siphasher__0_3_10//:siphasher", - ], -) diff --git a/cargo/remote/BUILD.pin-project-1.0.12.bazel b/cargo/remote/BUILD.pin-project-1.0.12.bazel deleted file mode 100644 index 3f558cf1a..000000000 --- a/cargo/remote/BUILD.pin-project-1.0.12.bazel +++ /dev/null @@ -1,101 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -# Unsupported target "enum-default" with type "example" omitted - -# Unsupported target "enum-default-expanded" with type "example" omitted - -# Unsupported target "not_unpin" with type "example" omitted - -# Unsupported target "not_unpin-expanded" with type "example" omitted - -# Unsupported target "pinned_drop" with type "example" omitted - -# Unsupported target "pinned_drop-expanded" with type "example" omitted - -# Unsupported target "project_replace" with type "example" omitted - -# Unsupported target "project_replace-expanded" with type "example" omitted - -# Unsupported target "struct-default" with type "example" omitted - -# Unsupported target "struct-default-expanded" with type "example" omitted - -# Unsupported target "unsafe_unpin" with type "example" omitted - -# Unsupported target "unsafe_unpin-expanded" with type "example" omitted - -rust_library( - name = "pin_project", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - proc_macro_deps = [ - "@raze__pin_project_internal__1_0_12//:pin_project_internal", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=pin-project", - "manual", - ], - version = "1.0.12", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "cfg" with type "test" omitted - -# Unsupported target "compiletest" with type "test" omitted - -# Unsupported target "drop_order" with type "test" omitted - -# Unsupported target "expandtest" with type "test" omitted - -# Unsupported target "lint" with type "test" omitted - -# Unsupported target "pin_project" with type "test" omitted - -# Unsupported target "pinned_drop" with type "test" omitted - -# Unsupported target "proper_unpin" with type "test" omitted - -# Unsupported target "repr_packed" with type "test" omitted - -# Unsupported target "unsafe_unpin" with type "test" omitted diff --git a/cargo/remote/BUILD.pin-project-internal-1.0.12.bazel b/cargo/remote/BUILD.pin-project-internal-1.0.12.bazel deleted file mode 100644 index 7c0f2bfe7..000000000 --- a/cargo/remote/BUILD.pin-project-internal-1.0.12.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -rust_proc_macro( - name = "pin_project_internal", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=pin-project-internal", - "manual", - ], - version = "1.0.12", - # buildifier: leave-alone - deps = [ - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) diff --git a/cargo/remote/BUILD.pin-project-lite-0.2.9.bazel b/cargo/remote/BUILD.pin-project-lite-0.2.9.bazel deleted file mode 100644 index c31db7085..000000000 --- a/cargo/remote/BUILD.pin-project-lite-0.2.9.bazel +++ /dev/null @@ -1,66 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -rust_library( - name = "pin_project_lite", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=pin-project-lite", - "manual", - ], - version = "0.2.9", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "compiletest" with type "test" omitted - -# Unsupported target "drop_order" with type "test" omitted - -# Unsupported target "expandtest" with type "test" omitted - -# Unsupported target "lint" with type "test" omitted - -# Unsupported target "proper_unpin" with type "test" omitted - -# Unsupported target "test" with type "test" omitted diff --git a/cargo/remote/BUILD.pin-utils-0.1.0.bazel b/cargo/remote/BUILD.pin-utils-0.1.0.bazel deleted file mode 100644 index 1c51ba08e..000000000 --- a/cargo/remote/BUILD.pin-utils-0.1.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 "//cargo", 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 = "pin_utils", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=pin-utils", - "manual", - ], - version = "0.1.0", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "projection" with type "test" omitted - -# Unsupported target "stack_pin" with type "test" omitted diff --git a/cargo/remote/BUILD.pkg-config-0.3.25.bazel b/cargo/remote/BUILD.pkg-config-0.3.25.bazel deleted file mode 100644 index 534c33780..000000000 --- a/cargo/remote/BUILD.pkg-config-0.3.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 "//cargo", 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 = "pkg_config", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=pkg-config", - "manual", - ], - version = "0.3.25", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "test" with type "test" omitted diff --git a/cargo/remote/BUILD.ppv-lite86-0.2.16.bazel b/cargo/remote/BUILD.ppv-lite86-0.2.16.bazel deleted file mode 100644 index aaada0e58..000000000 --- a/cargo/remote/BUILD.ppv-lite86-0.2.16.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 "//cargo", 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 = "ppv_lite86", - srcs = glob(["**/*.rs"]), - crate_features = [ - "simd", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=ppv-lite86", - "manual", - ], - version = "0.2.16", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.precomputed-hash-0.1.1.bazel b/cargo/remote/BUILD.precomputed-hash-0.1.1.bazel deleted file mode 100644 index ae420fe88..000000000 --- a/cargo/remote/BUILD.precomputed-hash-0.1.1.bazel +++ /dev/null @@ -1,54 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "precomputed_hash", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=precomputed-hash", - "manual", - ], - version = "0.1.1", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.proc-macro-crate-1.2.1.bazel b/cargo/remote/BUILD.proc-macro-crate-1.2.1.bazel deleted file mode 100644 index 5237c0314..000000000 --- a/cargo/remote/BUILD.proc-macro-crate-1.2.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -rust_library( - name = "proc_macro_crate", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=proc-macro-crate", - "manual", - ], - version = "1.2.1", - # buildifier: leave-alone - deps = [ - "@raze__once_cell__1_15_0//:once_cell", - "@raze__thiserror__1_0_35//:thiserror", - "@raze__toml__0_5_9//:toml", - ], -) diff --git a/cargo/remote/BUILD.proc-macro-hack-0.5.19.bazel b/cargo/remote/BUILD.proc-macro-hack-0.5.19.bazel deleted file mode 100644 index 59a613da0..000000000 --- a/cargo/remote/BUILD.proc-macro-hack-0.5.19.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 "//cargo", 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_macro_hack_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.5.19", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_proc_macro( - name = "proc_macro_hack", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=proc-macro-hack", - "manual", - ], - version = "0.5.19", - # buildifier: leave-alone - deps = [ - ":proc_macro_hack_build_script", - ], -) - -# Unsupported target "compiletest" with type "test" omitted diff --git a/cargo/remote/BUILD.proc-macro-nested-0.1.7.bazel b/cargo/remote/BUILD.proc-macro-nested-0.1.7.bazel deleted file mode 100644 index bbb58391f..000000000 --- a/cargo/remote/BUILD.proc-macro-nested-0.1.7.bazel +++ /dev/null @@ -1,84 +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 "//cargo", 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_macro_nested_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.1.7", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "proc_macro_nested", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=proc-macro-nested", - "manual", - ], - version = "0.1.7", - # buildifier: leave-alone - deps = [ - ":proc_macro_nested_build_script", - ], -) diff --git a/cargo/remote/BUILD.proc-macro2-1.0.43.bazel b/cargo/remote/BUILD.proc-macro2-1.0.43.bazel deleted file mode 100644 index a7a4c9fad..000000000 --- a/cargo/remote/BUILD.proc-macro2-1.0.43.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 "//cargo", 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.43", - 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.43", - # buildifier: leave-alone - deps = [ - ":proc_macro2_build_script", - "@raze__unicode_ident__1_0_4//:unicode_ident", - ], -) - -# 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/cargo/remote/BUILD.prost-0.11.0.bazel b/cargo/remote/BUILD.prost-0.11.0.bazel deleted file mode 100644 index 8f95f607c..000000000 --- a/cargo/remote/BUILD.prost-0.11.0.bazel +++ /dev/null @@ -1,64 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0" -]) - -# Generated Targets - -# Unsupported target "varint" with type "bench" omitted - -rust_library( - name = "prost", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "prost-derive", - "std", - ], - crate_root = "src/lib.rs", - data = [], - compile_data = glob(["**/*.md"]), - edition = "2021", - proc_macro_deps = [ - "@raze__prost_derive__0_11_0//:prost_derive", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=prost", - "manual", - ], - version = "0.11.0", - # buildifier: leave-alone - deps = [ - "@raze__bytes__1_2_1//:bytes", - ], -) diff --git a/cargo/remote/BUILD.prost-build-0.11.1.bazel b/cargo/remote/BUILD.prost-build-0.11.1.bazel deleted file mode 100644 index e8a8b9df2..000000000 --- a/cargo/remote/BUILD.prost-build-0.11.1.bazel +++ /dev/null @@ -1,67 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0" -]) - -# Generated Targets - -rust_library( - name = "prost_build", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=prost-build", - "manual", - ], - version = "0.11.1", - # buildifier: leave-alone - deps = [ - "@raze__bytes__1_2_1//:bytes", - "@raze__heck__0_4_0//:heck", - "@raze__itertools__0_10_5//:itertools", - "@raze__lazy_static__1_4_0//:lazy_static", - "@raze__log__0_4_17//:log", - "@raze__multimap__0_8_3//:multimap", - "@raze__petgraph__0_6_2//:petgraph", - "@raze__prost__0_11_0//:prost", - "@raze__prost_types__0_11_1//:prost_types", - "@raze__regex__1_6_0//:regex", - "@raze__tempfile__3_3_0//:tempfile", - "@raze__which__4_3_0//:which", - ], -) diff --git a/cargo/remote/BUILD.prost-derive-0.11.0.bazel b/cargo/remote/BUILD.prost-derive-0.11.0.bazel deleted file mode 100644 index ad8c7c85b..000000000 --- a/cargo/remote/BUILD.prost-derive-0.11.0.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0" -]) - -# Generated Targets - -rust_proc_macro( - name = "prost_derive", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=prost-derive", - "manual", - ], - version = "0.11.0", - # buildifier: leave-alone - deps = [ - "@raze__anyhow__1_0_65//:anyhow", - "@raze__itertools__0_10_5//:itertools", - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) diff --git a/cargo/remote/BUILD.prost-types-0.11.1.bazel b/cargo/remote/BUILD.prost-types-0.11.1.bazel deleted file mode 100644 index 895c28aee..000000000 --- a/cargo/remote/BUILD.prost-types-0.11.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0" -]) - -# Generated Targets - -rust_library( - name = "prost_types", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=prost-types", - "manual", - ], - version = "0.11.1", - # buildifier: leave-alone - deps = [ - "@raze__bytes__1_2_1//:bytes", - "@raze__prost__0_11_0//:prost", - ], -) diff --git a/cargo/remote/BUILD.pulldown-cmark-0.8.0.bazel b/cargo/remote/BUILD.pulldown-cmark-0.8.0.bazel deleted file mode 100644 index 35781965e..000000000 --- a/cargo/remote/BUILD.pulldown-cmark-0.8.0.bazel +++ /dev/null @@ -1,140 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "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 = "pulldown_cmark_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "getopts", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.8.0", - visibility = ["//visibility:private"], - deps = [ - ], -) - -# Unsupported target "html_rendering" with type "bench" omitted - -# Unsupported target "lib" with type "bench" omitted - -rust_binary( - # Prefix bin name to disambiguate from (probable) collision with lib name - # N.B.: The exact form of this is subject to change. - name = "cargo_bin_pulldown_cmark", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "getopts", - ], - crate_root = "src/main.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=pulldown-cmark", - "manual", - ], - version = "0.8.0", - # buildifier: leave-alone - deps = [ - ":pulldown_cmark", - ":pulldown_cmark_build_script", - "@raze__bitflags__1_3_2//:bitflags", - "@raze__getopts__0_2_21//:getopts", - "@raze__memchr__2_5_0//:memchr", - "@raze__unicase__2_6_0//:unicase", - ], -) - -# Unsupported target "broken-link-callbacks" with type "example" omitted - -# Unsupported target "event-filter" with type "example" omitted - -# Unsupported target "string-to-string" with type "example" omitted - -rust_library( - name = "pulldown_cmark", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "getopts", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=pulldown-cmark", - "manual", - ], - version = "0.8.0", - # buildifier: leave-alone - deps = [ - ":pulldown_cmark_build_script", - "@raze__bitflags__1_3_2//:bitflags", - "@raze__getopts__0_2_21//:getopts", - "@raze__memchr__2_5_0//:memchr", - "@raze__unicase__2_6_0//:unicase", - ], -) - -# Unsupported target "errors" with type "test" omitted - -# Unsupported target "html" with type "test" omitted - -# Unsupported target "lib" with type "test" omitted diff --git a/cargo/remote/BUILD.pulldown-cmark-0.9.2.bazel b/cargo/remote/BUILD.pulldown-cmark-0.9.2.bazel deleted file mode 100644 index b4289c862..000000000 --- a/cargo/remote/BUILD.pulldown-cmark-0.9.2.bazel +++ /dev/null @@ -1,144 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "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 = "pulldown_cmark_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "getopts", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.9.2", - visibility = ["//visibility:private"], - deps = [ - ], -) - -# Unsupported target "html_rendering" with type "bench" omitted - -# Unsupported target "lib" with type "bench" omitted - -# Unsupported target "markdown-it" with type "bench" omitted - -rust_binary( - # Prefix bin name to disambiguate from (probable) collision with lib name - # N.B.: The exact form of this is subject to change. - name = "cargo_bin_pulldown_cmark", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "getopts", - ], - crate_root = "src/main.rs", - data = [], - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=pulldown-cmark", - "manual", - ], - version = "0.9.2", - # buildifier: leave-alone - deps = [ - ":pulldown_cmark", - ":pulldown_cmark_build_script", - "@raze__bitflags__1_3_2//:bitflags", - "@raze__getopts__0_2_21//:getopts", - "@raze__memchr__2_5_0//:memchr", - "@raze__unicase__2_6_0//:unicase", - ], -) - -# Unsupported target "broken-link-callbacks" with type "example" omitted - -# Unsupported target "event-filter" with type "example" omitted - -# Unsupported target "string-to-string" with type "example" omitted - -rust_library( - name = "pulldown_cmark", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "getopts", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=pulldown-cmark", - "manual", - ], - version = "0.9.2", - # buildifier: leave-alone - deps = [ - ":pulldown_cmark_build_script", - "@raze__bitflags__1_3_2//:bitflags", - "@raze__getopts__0_2_21//:getopts", - "@raze__memchr__2_5_0//:memchr", - "@raze__unicase__2_6_0//:unicase", - ], -) - -# Unsupported target "errors" with type "test" omitted - -# Unsupported target "html" with type "test" omitted - -# Unsupported target "lib" with type "test" omitted - -# Unsupported target "serde" with type "test" omitted diff --git a/cargo/remote/BUILD.pyo3-0.17.1.bazel b/cargo/remote/BUILD.pyo3-0.17.1.bazel deleted file mode 100644 index 1d06bbe97..000000000 --- a/cargo/remote/BUILD.pyo3-0.17.1.bazel +++ /dev/null @@ -1,228 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "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 = "pyo3_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "abi3", - "abi3-py310", - "abi3-py39", - "default", - "extension-module", - "indoc", - "macros", - "pyo3-macros", - "unindent", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.17.1", - visibility = ["//visibility:private"], - deps = [ - "@raze__pyo3_build_config__0_17_1//:pyo3_build_config", - ], -) - -# Unsupported target "bench_call" with type "bench" omitted - -# Unsupported target "bench_dict" with type "bench" omitted - -# Unsupported target "bench_err" with type "bench" omitted - -# Unsupported target "bench_frompyobject" with type "bench" omitted - -# Unsupported target "bench_gil" with type "bench" omitted - -# Unsupported target "bench_intern" with type "bench" omitted - -# Unsupported target "bench_list" with type "bench" omitted - -# Unsupported target "bench_pyclass" with type "bench" omitted - -# Unsupported target "bench_pyobject" with type "bench" omitted - -# Unsupported target "bench_set" with type "bench" omitted - -# Unsupported target "bench_tuple" with type "bench" omitted - -rust_library( - name = "pyo3", - srcs = glob(["**/*.rs"]), - crate_features = [ - "abi3", - "abi3-py310", - "abi3-py39", - "default", - "extension-module", - "indoc", - "macros", - "pyo3-macros", - "unindent", - ], - crate_root = "src/lib.rs", - data = [], - compile_data = glob(["**/*.md"]), - edition = "2018", - proc_macro_deps = [ - "@raze__indoc__1_0_7//:indoc", - "@raze__pyo3_macros__0_17_1//:pyo3_macros", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=pyo3", - "manual", - ], - version = "0.17.1", - # buildifier: leave-alone - deps = [ - ":pyo3_build_script", - "@raze__cfg_if__1_0_0//:cfg_if", - "@raze__libc__0_2_133//:libc", - "@raze__memoffset__0_6_5//:memoffset", - "@raze__parking_lot__0_12_1//:parking_lot", - "@raze__pyo3_ffi__0_17_1//:pyo3_ffi", - "@raze__unindent__0_1_10//:unindent", - ], -) - -# Unsupported target "common" with type "test" omitted - -# Unsupported target "test_anyhow" with type "test" omitted - -# Unsupported target "test_append_to_inittab" with type "test" omitted - -# Unsupported target "test_arithmetics" with type "test" omitted - -# Unsupported target "test_arithmetics_protos" with type "test" omitted - -# Unsupported target "test_buffer" with type "test" omitted - -# Unsupported target "test_buffer_protocol" with type "test" omitted - -# Unsupported target "test_buffer_protocol_pyproto" with type "test" omitted - -# Unsupported target "test_bytes" with type "test" omitted - -# Unsupported target "test_class_attributes" with type "test" omitted - -# Unsupported target "test_class_basics" with type "test" omitted - -# Unsupported target "test_class_conversion" with type "test" omitted - -# Unsupported target "test_class_new" with type "test" omitted - -# Unsupported target "test_compile_error" with type "test" omitted - -# Unsupported target "test_datetime" with type "test" omitted - -# Unsupported target "test_default_impls" with type "test" omitted - -# Unsupported target "test_dict_iter" with type "test" omitted - -# Unsupported target "test_enum" with type "test" omitted - -# Unsupported target "test_exceptions" with type "test" omitted - -# Unsupported target "test_frompyobject" with type "test" omitted - -# Unsupported target "test_gc" with type "test" omitted - -# Unsupported target "test_gc_pyproto" with type "test" omitted - -# Unsupported target "test_getter_setter" with type "test" omitted - -# Unsupported target "test_inheritance" with type "test" omitted - -# Unsupported target "test_macros" with type "test" omitted - -# Unsupported target "test_mapping" with type "test" omitted - -# Unsupported target "test_mapping_pyproto" with type "test" omitted - -# Unsupported target "test_methods" with type "test" omitted - -# Unsupported target "test_module" with type "test" omitted - -# Unsupported target "test_multiple_pymethods" with type "test" omitted - -# Unsupported target "test_not_msrv" with type "test" omitted - -# Unsupported target "test_pep_587" with type "test" omitted - -# Unsupported target "test_proto_methods" with type "test" omitted - -# Unsupported target "test_pyfunction" with type "test" omitted - -# Unsupported target "test_pyproto" with type "test" omitted - -# Unsupported target "test_pyself" with type "test" omitted - -# Unsupported target "test_sequence" with type "test" omitted - -# Unsupported target "test_sequence_pyproto" with type "test" omitted - -# Unsupported target "test_serde" with type "test" omitted - -# Unsupported target "test_string" with type "test" omitted - -# Unsupported target "test_super" with type "test" omitted - -# Unsupported target "test_text_signature" with type "test" omitted - -# Unsupported target "test_unsendable_dict" with type "test" omitted - -# Unsupported target "test_variable_arguments" with type "test" omitted - -# Unsupported target "test_various" with type "test" omitted - -# Unsupported target "test_wrap_pyfunction_deduction" with type "test" omitted diff --git a/cargo/remote/BUILD.pyo3-build-config-0.17.1.bazel b/cargo/remote/BUILD.pyo3-build-config-0.17.1.bazel deleted file mode 100644 index 2d7f311c9..000000000 --- a/cargo/remote/BUILD.pyo3-build-config-0.17.1.bazel +++ /dev/null @@ -1,100 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "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 = "pyo3_build_config_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - "PYO3_NO_PYTHON": "1", - }, - crate_features = [ - "abi3", - "abi3-py310", - "abi3-py39", - "default", - "extension-module", - "resolve-config", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.17.1", - visibility = ["//visibility:private"], - deps = [ - "@raze__target_lexicon__0_12_4//:target_lexicon", - ], -) - -rust_library( - name = "pyo3_build_config", - srcs = glob(["**/*.rs"]), - crate_features = [ - "abi3", - "abi3-py310", - "abi3-py39", - "default", - "extension-module", - "resolve-config", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=pyo3-build-config", - "manual", - ], - version = "0.17.1", - # buildifier: leave-alone - deps = [ - ":pyo3_build_config_build_script", - "@raze__once_cell__1_15_0//:once_cell", - "@raze__target_lexicon__0_12_4//:target_lexicon", - ], -) diff --git a/cargo/remote/BUILD.pyo3-ffi-0.17.1.bazel b/cargo/remote/BUILD.pyo3-ffi-0.17.1.bazel deleted file mode 100644 index d9f240208..000000000 --- a/cargo/remote/BUILD.pyo3-ffi-0.17.1.bazel +++ /dev/null @@ -1,97 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "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 = "pyo3_ffi_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "abi3", - "abi3-py310", - "abi3-py39", - "default", - "extension-module", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - links = "python", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.17.1", - visibility = ["//visibility:private"], - deps = [ - "@raze__pyo3_build_config__0_17_1//:pyo3_build_config", - ], -) - -rust_library( - name = "pyo3_ffi", - srcs = glob(["**/*.rs"]), - crate_features = [ - "abi3", - "abi3-py310", - "abi3-py39", - "default", - "extension-module", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=pyo3-ffi", - "manual", - ], - version = "0.17.1", - # buildifier: leave-alone - deps = [ - ":pyo3_ffi_build_script", - "@raze__libc__0_2_133//:libc", - ], -) diff --git a/cargo/remote/BUILD.pyo3-macros-0.17.1.bazel b/cargo/remote/BUILD.pyo3-macros-0.17.1.bazel deleted file mode 100644 index 2c8403f0a..000000000 --- a/cargo/remote/BUILD.pyo3-macros-0.17.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0" -]) - -# Generated Targets - -rust_proc_macro( - name = "pyo3_macros", - srcs = glob(["**/*.rs"]), - crate_features = [ - "abi3", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=pyo3-macros", - "manual", - ], - version = "0.17.1", - # buildifier: leave-alone - deps = [ - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__pyo3_macros_backend__0_17_1//:pyo3_macros_backend", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) diff --git a/cargo/remote/BUILD.pyo3-macros-backend-0.17.1.bazel b/cargo/remote/BUILD.pyo3-macros-backend-0.17.1.bazel deleted file mode 100644 index 565c6a94c..000000000 --- a/cargo/remote/BUILD.pyo3-macros-backend-0.17.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0" -]) - -# Generated Targets - -rust_library( - name = "pyo3_macros_backend", - srcs = glob(["**/*.rs"]), - crate_features = [ - "abi3", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=pyo3-macros-backend", - "manual", - ], - version = "0.17.1", - # buildifier: leave-alone - deps = [ - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) diff --git a/cargo/remote/BUILD.quote-1.0.21.bazel b/cargo/remote/BUILD.quote-1.0.21.bazel deleted file mode 100644 index 92c9f990e..000000000 --- a/cargo/remote/BUILD.quote-1.0.21.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 "//cargo", 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 = "quote_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.21", - visibility = ["//visibility:private"], - deps = [ - ], -) - -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.21", - # buildifier: leave-alone - deps = [ - ":quote_build_script", - "@raze__proc_macro2__1_0_43//:proc_macro2", - ], -) - -# Unsupported target "compiletest" with type "test" omitted - -# Unsupported target "test" with type "test" omitted diff --git a/cargo/remote/BUILD.rand-0.7.3.bazel b/cargo/remote/BUILD.rand-0.7.3.bazel deleted file mode 100644 index 3b55a73be..000000000 --- a/cargo/remote/BUILD.rand-0.7.3.bazel +++ /dev/null @@ -1,107 +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 "//cargo", 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 "generators" with type "bench" omitted - -# Unsupported target "misc" with type "bench" omitted - -# Unsupported target "seq" with type "bench" omitted - -# Unsupported target "weighted" with type "bench" omitted - -# Unsupported target "monte-carlo" with type "example" omitted - -# Unsupported target "monty-hall" with type "example" omitted - -rust_library( - name = "rand", - srcs = glob(["**/*.rs"]), - aliases = { - "@raze__getrandom__0_1_16//:getrandom": "getrandom_package", - }, - crate_features = [ - "alloc", - "default", - "getrandom", - "getrandom_package", - "libc", - "rand_pcg", - "small_rng", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=rand", - "manual", - ], - version = "0.7.3", - # buildifier: leave-alone - deps = [ - "@raze__getrandom__0_1_16//:getrandom", - "@raze__rand_core__0_5_1//:rand_core", - "@raze__rand_pcg__0_2_1//:rand_pcg", - ] + selects.with_or({ - # cfg(not(target_os = "emscripten")) - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__rand_chacha__0_2_2//:rand_chacha", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(unix) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.rand-0.8.5.bazel b/cargo/remote/BUILD.rand-0.8.5.bazel deleted file mode 100644 index d0dbf909e..000000000 --- a/cargo/remote/BUILD.rand-0.8.5.bazel +++ /dev/null @@ -1,79 +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 "//cargo", 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"]), - aliases = { - }, - crate_features = [ - "alloc", - "default", - "getrandom", - "libc", - "rand_chacha", - "small_rng", - "std", - "std_rng", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=rand", - "manual", - ], - version = "0.8.5", - # buildifier: leave-alone - deps = [ - "@raze__rand_chacha__0_3_1//:rand_chacha", - "@raze__rand_core__0_6_4//:rand_core", - ] + selects.with_or({ - # cfg(unix) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.rand_chacha-0.2.2.bazel b/cargo/remote/BUILD.rand_chacha-0.2.2.bazel deleted file mode 100644 index 96059368b..000000000 --- a/cargo/remote/BUILD.rand_chacha-0.2.2.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 "//cargo", 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_chacha", - srcs = glob(["**/*.rs"]), - crate_features = [ - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=rand_chacha", - "manual", - ], - version = "0.2.2", - # buildifier: leave-alone - deps = [ - "@raze__ppv_lite86__0_2_16//:ppv_lite86", - "@raze__rand_core__0_5_1//:rand_core", - ], -) diff --git a/cargo/remote/BUILD.rand_chacha-0.3.1.bazel b/cargo/remote/BUILD.rand_chacha-0.3.1.bazel deleted file mode 100644 index 8cc8be08d..000000000 --- a/cargo/remote/BUILD.rand_chacha-0.3.1.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 "//cargo", 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_chacha", - srcs = glob(["**/*.rs"]), - crate_features = [ - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=rand_chacha", - "manual", - ], - version = "0.3.1", - # buildifier: leave-alone - deps = [ - "@raze__ppv_lite86__0_2_16//:ppv_lite86", - "@raze__rand_core__0_6_4//:rand_core", - ], -) diff --git a/cargo/remote/BUILD.rand_core-0.5.1.bazel b/cargo/remote/BUILD.rand_core-0.5.1.bazel deleted file mode 100644 index cb1833e41..000000000 --- a/cargo/remote/BUILD.rand_core-0.5.1.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 "//cargo", 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 = [ - "alloc", - "getrandom", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=rand_core", - "manual", - ], - version = "0.5.1", - # buildifier: leave-alone - deps = [ - "@raze__getrandom__0_1_16//:getrandom", - ], -) diff --git a/cargo/remote/BUILD.rand_core-0.6.4.bazel b/cargo/remote/BUILD.rand_core-0.6.4.bazel deleted file mode 100644 index cc71b70f0..000000000 --- a/cargo/remote/BUILD.rand_core-0.6.4.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 "//cargo", 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 = [ - "alloc", - "getrandom", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=rand_core", - "manual", - ], - version = "0.6.4", - # buildifier: leave-alone - deps = [ - "@raze__getrandom__0_2_7//:getrandom", - ], -) diff --git a/cargo/remote/BUILD.rand_hc-0.2.0.bazel b/cargo/remote/BUILD.rand_hc-0.2.0.bazel deleted file mode 100644 index 6301df689..000000000 --- a/cargo/remote/BUILD.rand_hc-0.2.0.bazel +++ /dev/null @@ -1,55 +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 "//cargo", 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_hc", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=rand_hc", - "manual", - ], - version = "0.2.0", - # buildifier: leave-alone - deps = [ - "@raze__rand_core__0_5_1//:rand_core", - ], -) diff --git a/cargo/remote/BUILD.rand_pcg-0.2.1.bazel b/cargo/remote/BUILD.rand_pcg-0.2.1.bazel deleted file mode 100644 index c02e2c73a..000000000 --- a/cargo/remote/BUILD.rand_pcg-0.2.1.bazel +++ /dev/null @@ -1,61 +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 "//cargo", 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_pcg", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=rand_pcg", - "manual", - ], - version = "0.2.1", - # buildifier: leave-alone - deps = [ - "@raze__rand_core__0_5_1//:rand_core", - ], -) - -# Unsupported target "lcg128xsl64" with type "test" omitted - -# Unsupported target "lcg64xsh32" with type "test" omitted - -# Unsupported target "mcg128xsl64" with type "test" omitted diff --git a/cargo/remote/BUILD.redox_syscall-0.2.16.bazel b/cargo/remote/BUILD.redox_syscall-0.2.16.bazel deleted file mode 100644 index 5cc45bfc2..000000000 --- a/cargo/remote/BUILD.redox_syscall-0.2.16.bazel +++ /dev/null @@ -1,64 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -alias( - name = "redox_syscall", - actual = ":syscall", - tags = [ - "cargo-raze", - "manual", - ], -) - -rust_library( - name = "syscall", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=syscall", - "manual", - ], - version = "0.2.16", - # buildifier: leave-alone - deps = [ - "@raze__bitflags__1_3_2//:bitflags", - ], -) diff --git a/cargo/remote/BUILD.redox_users-0.4.3.bazel b/cargo/remote/BUILD.redox_users-0.4.3.bazel deleted file mode 100644 index 345f9a5a3..000000000 --- a/cargo/remote/BUILD.redox_users-0.4.3.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "redox_users", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=redox_users", - "manual", - ], - version = "0.4.3", - # buildifier: leave-alone - deps = [ - "@raze__getrandom__0_2_7//:getrandom", - "@raze__redox_syscall__0_2_16//:redox_syscall", - "@raze__thiserror__1_0_35//:thiserror", - ], -) diff --git a/cargo/remote/BUILD.regex-1.6.0.bazel b/cargo/remote/BUILD.regex-1.6.0.bazel deleted file mode 100644 index 6aa55f581..000000000 --- a/cargo/remote/BUILD.regex-1.6.0.bazel +++ /dev/null @@ -1,104 +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 "//cargo", 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", - "default", - "memchr", - "perf", - "perf-cache", - "perf-dfa", - "perf-inline", - "perf-literal", - "std", - "unicode", - "unicode-age", - "unicode-bool", - "unicode-case", - "unicode-gencat", - "unicode-perl", - "unicode-script", - "unicode-segment", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=regex", - "manual", - ], - version = "1.6.0", - # buildifier: leave-alone - deps = [ - "@raze__aho_corasick__0_7_19//:aho_corasick", - "@raze__memchr__2_5_0//:memchr", - "@raze__regex_syntax__0_6_27//: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/cargo/remote/BUILD.regex-automata-0.1.10.bazel b/cargo/remote/BUILD.regex-automata-0.1.10.bazel deleted file mode 100644 index 2230de4c8..000000000 --- a/cargo/remote/BUILD.regex-automata-0.1.10.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "unencumbered", # Unlicense from expression "Unlicense OR MIT" -]) - -# Generated Targets - -rust_library( - name = "regex_automata", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=regex-automata", - "manual", - ], - version = "0.1.10", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "default" with type "test" omitted diff --git a/cargo/remote/BUILD.regex-syntax-0.6.27.bazel b/cargo/remote/BUILD.regex-syntax-0.6.27.bazel deleted file mode 100644 index 07cbbae5e..000000000 --- a/cargo/remote/BUILD.regex-syntax-0.6.27.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 "//cargo", 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 = [ - "default", - "unicode", - "unicode-age", - "unicode-bool", - "unicode-case", - "unicode-gencat", - "unicode-perl", - "unicode-script", - "unicode-segment", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=regex-syntax", - "manual", - ], - version = "0.6.27", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.remove_dir_all-0.5.3.bazel b/cargo/remote/BUILD.remove_dir_all-0.5.3.bazel deleted file mode 100644 index 41fb93d70..000000000 --- a/cargo/remote/BUILD.remove_dir_all-0.5.3.bazel +++ /dev/null @@ -1,64 +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 "//cargo", 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 = "remove_dir_all", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=remove_dir_all", - "manual", - ], - version = "0.5.3", - # buildifier: leave-alone - deps = [ - ] + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi__0_3_9//:winapi", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.reqwest-0.11.3.bazel b/cargo/remote/BUILD.reqwest-0.11.3.bazel deleted file mode 100644 index 9715c45d7..000000000 --- a/cargo/remote/BUILD.reqwest-0.11.3.bazel +++ /dev/null @@ -1,165 +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 "//cargo", 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 "blocking" with type "example" omitted - -# Unsupported target "form" with type "example" omitted - -# Unsupported target "json_dynamic" with type "example" omitted - -# Unsupported target "json_typed" with type "example" omitted - -# Unsupported target "simple" with type "example" omitted - -# Unsupported target "tor_socks" with type "example" omitted - -rust_library( - name = "reqwest", - srcs = glob(["**/*.rs"]), - aliases = { - "@raze__native_tls__0_2_10//:native_tls": "native_tls_crate", - }, - crate_features = [ - "__rustls", - "__tls", - "default", - "default-tls", - "hyper-rustls", - "hyper-tls", - "json", - "mime_guess", - "multipart", - "native-tls", - "native-tls-crate", - "rustls", - "rustls-native-certs", - "rustls-tls", - "rustls-tls-native-roots", - "rustls-tls-webpki-roots", - "serde_json", - "socks", - "stream", - "tokio-native-tls", - "tokio-rustls", - "tokio-socks", - "webpki-roots", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=reqwest", - "manual", - ], - version = "0.11.3", - # buildifier: leave-alone - deps = [ - "@raze__bytes__1_2_1//:bytes", - "@raze__http__0_2_8//:http", - "@raze__hyper_timeout__0_4_1//:hyper_timeout", - "@raze__mime_guess__2_0_4//:mime_guess", - "@raze__serde__1_0_145//:serde", - "@raze__serde_json__1_0_85//:serde_json", - "@raze__serde_urlencoded__0_7_1//:serde_urlencoded", - "@raze__url__2_3_1//:url", - ] + selects.with_or({ - # cfg(not(target_arch = "wasm32")) - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__base64__0_13_0//:base64", - "@raze__encoding_rs__0_8_31//:encoding_rs", - "@raze__futures_core__0_3_24//:futures_core", - "@raze__futures_util__0_3_24//:futures_util", - "@raze__http_body__0_4_5//:http_body", - "@raze__hyper__0_14_20//:hyper", - "@raze__hyper_rustls__0_22_1//:hyper_rustls", - "@raze__hyper_tls__0_5_0//:hyper_tls", - "@raze__ipnet__2_5_0//:ipnet", - "@raze__lazy_static__1_4_0//:lazy_static", - "@raze__log__0_4_17//:log", - "@raze__mime__0_3_16//:mime", - "@raze__native_tls__0_2_10//:native_tls", - "@raze__percent_encoding__2_2_0//:percent_encoding", - "@raze__pin_project_lite__0_2_9//:pin_project_lite", - "@raze__rustls__0_19_1//:rustls", - "@raze__rustls_native_certs__0_5_0//:rustls_native_certs", - "@raze__tokio__1_21_1//:tokio", - "@raze__tokio_native_tls__0_3_0//:tokio_native_tls", - "@raze__tokio_rustls__0_22_0//:tokio_rustls", - "@raze__tokio_socks__0_5_1//:tokio_socks", - "@raze__webpki_roots__0_21_1//:webpki_roots", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winreg__0_7_0//:winreg", - ], - "//conditions:default": [], - }), -) - -# Unsupported target "badssl" with type "test" omitted - -# Unsupported target "blocking" with type "test" omitted - -# Unsupported target "brotli" with type "test" omitted - -# Unsupported target "client" with type "test" omitted - -# Unsupported target "cookie" with type "test" omitted - -# Unsupported target "gzip" with type "test" omitted - -# Unsupported target "multipart" with type "test" omitted - -# Unsupported target "proxy" with type "test" omitted - -# Unsupported target "redirect" with type "test" omitted - -# Unsupported target "timeouts" with type "test" omitted - -# Unsupported target "wasm_simple" with type "test" omitted diff --git a/cargo/remote/BUILD.ring-0.16.20.bazel b/cargo/remote/BUILD.ring-0.16.20.bazel deleted file mode 100644 index bd808f77e..000000000 --- a/cargo/remote/BUILD.ring-0.16.20.bazel +++ /dev/null @@ -1,180 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "restricted", # no license -]) - -# 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 = "ring_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "alloc", - "default", - "dev_urandom_fallback", - "once_cell", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - links = "ring-asm", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.16.20", - visibility = ["//visibility:private"], - deps = [ - "@raze__cc__1_0_73//:cc", - ] + selects.with_or({ - # cfg(any(target_arch = "x86", target_arch = "x86_64", all(any(target_arch = "aarch64", target_arch = "arm"), any(target_os = "android", target_os = "fuchsia", target_os = "linux")))) - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(any(target_os = "android", target_os = "linux")) - ( - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", - ): [ - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(target_os = "windows") - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - ], - "//conditions:default": [], - }), -) - -rust_library( - name = "ring", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - "alloc", - "default", - "dev_urandom_fallback", - "once_cell", - ], - crate_root = "src/lib.rs", - data = [], - compile_data = glob(["src/**/*.der"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=ring", - "manual", - ], - version = "0.16.20", - # buildifier: leave-alone - deps = [ - ":ring_build_script", - "@raze__untrusted__0_7_1//:untrusted", - ] + selects.with_or({ - # cfg(any(target_arch = "x86", target_arch = "x86_64", all(any(target_arch = "aarch64", target_arch = "arm"), any(target_os = "android", target_os = "fuchsia", target_os = "linux")))) - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__spin__0_5_2//:spin", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(any(target_os = "android", target_os = "linux")) - ( - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", - ): [ - "@raze__libc__0_2_133//:libc", - "@raze__once_cell__1_15_0//:once_cell", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(target_os = "windows") - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi__0_3_9//:winapi", - ], - "//conditions:default": [], - }), -) - -# Unsupported target "aead_tests" with type "test" omitted - -# Unsupported target "agreement_tests" with type "test" omitted - -# Unsupported target "constant_time_tests" with type "test" omitted - -# Unsupported target "digest_tests" with type "test" omitted - -# Unsupported target "ecdsa_tests" with type "test" omitted - -# Unsupported target "ed25519_tests" with type "test" omitted - -# Unsupported target "hkdf_tests" with type "test" omitted - -# Unsupported target "hmac_tests" with type "test" omitted - -# Unsupported target "pbkdf2_tests" with type "test" omitted - -# Unsupported target "quic_tests" with type "test" omitted - -# Unsupported target "rand_tests" with type "test" omitted - -# Unsupported target "rsa_tests" with type "test" omitted - -# Unsupported target "signature_tests" with type "test" omitted diff --git a/cargo/remote/BUILD.rusqlite-0.28.0.bazel b/cargo/remote/BUILD.rusqlite-0.28.0.bazel deleted file mode 100644 index 694c3adab..000000000 --- a/cargo/remote/BUILD.rusqlite-0.28.0.bazel +++ /dev/null @@ -1,75 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "cache" with type "bench" omitted - -# Unsupported target "exec" with type "bench" omitted - -rust_library( - name = "rusqlite", - srcs = glob(["**/*.rs"]), - crate_features = [ - "bundled", - "collation", - "functions", - "modern_sqlite", - "trace", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=rusqlite", - "manual", - ], - version = "0.28.0", - # buildifier: leave-alone - deps = [ - "@raze__bitflags__1_3_2//:bitflags", - "@raze__fallible_iterator__0_2_0//:fallible_iterator", - "@raze__fallible_streaming_iterator__0_1_9//:fallible_streaming_iterator", - "@raze__hashlink__0_8_1//:hashlink", - "@raze__libsqlite3_sys__0_25_1//:libsqlite3_sys", - "@raze__smallvec__1_9_0//:smallvec", - ], -) - -# Unsupported target "config_log" with type "test" omitted - -# Unsupported target "deny_single_threaded_sqlite_config" with type "test" omitted - -# Unsupported target "vtab" with type "test" omitted diff --git a/cargo/remote/BUILD.rustc-demangle-0.1.21.bazel b/cargo/remote/BUILD.rustc-demangle-0.1.21.bazel deleted file mode 100644 index c9e262fd0..000000000 --- a/cargo/remote/BUILD.rustc-demangle-0.1.21.bazel +++ /dev/null @@ -1,54 +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 "//cargo", 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 = "rustc_demangle", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=rustc-demangle", - "manual", - ], - version = "0.1.21", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.rustc-hash-1.1.0.bazel b/cargo/remote/BUILD.rustc-hash-1.1.0.bazel deleted file mode 100644 index ef9757495..000000000 --- a/cargo/remote/BUILD.rustc-hash-1.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -rust_library( - name = "rustc_hash", - 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=rustc-hash", - "manual", - ], - version = "1.1.0", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.rustc_version-0.4.0.bazel b/cargo/remote/BUILD.rustc_version-0.4.0.bazel deleted file mode 100644 index 831fec6c2..000000000 --- a/cargo/remote/BUILD.rustc_version-0.4.0.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 "//cargo", 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 = "rustc_version", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=rustc_version", - "manual", - ], - version = "0.4.0", - # buildifier: leave-alone - deps = [ - "@raze__semver__1_0_14//:semver", - ], -) - -# Unsupported target "all" with type "test" omitted diff --git a/cargo/remote/BUILD.rustls-0.19.1.bazel b/cargo/remote/BUILD.rustls-0.19.1.bazel deleted file mode 100644 index ebe1d2221..000000000 --- a/cargo/remote/BUILD.rustls-0.19.1.bazel +++ /dev/null @@ -1,81 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR (ISC OR MIT)" -]) - -# Generated Targets - -# Unsupported target "benchmarks" with type "bench" omitted - -# Unsupported target "bench" with type "example" omitted - -# Unsupported target "bogo_shim" with type "example" omitted - -# Unsupported target "limitedclient" with type "example" omitted - -# Unsupported target "simple_0rtt_client" with type "example" omitted - -# Unsupported target "simpleclient" with type "example" omitted - -# Unsupported target "trytls_shim" with type "example" omitted - -rust_library( - name = "rustls", - srcs = glob(["**/*.rs"]), - crate_features = [ - "dangerous_configuration", - "default", - "log", - "logging", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=rustls", - "manual", - ], - version = "0.19.1", - # buildifier: leave-alone - deps = [ - "@raze__base64__0_13_0//:base64", - "@raze__log__0_4_17//:log", - "@raze__ring__0_16_20//:ring", - "@raze__sct__0_6_1//:sct", - "@raze__webpki__0_21_4//:webpki", - ], -) - -# Unsupported target "api" with type "test" omitted - -# Unsupported target "benchmarks" with type "test" omitted diff --git a/cargo/remote/BUILD.rustls-native-certs-0.5.0.bazel b/cargo/remote/BUILD.rustls-native-certs-0.5.0.bazel deleted file mode 100644 index d11a3a8f2..000000000 --- a/cargo/remote/BUILD.rustls-native-certs-0.5.0.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR (ISC OR MIT)" -]) - -# Generated Targets - -# Unsupported target "google" with type "example" omitted - -rust_library( - name = "rustls_native_certs", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - "default", - "rustls", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=rustls-native-certs", - "manual", - ], - version = "0.5.0", - # buildifier: leave-alone - deps = [ - "@raze__rustls__0_19_1//:rustls", - ] + selects.with_or({ - # cfg(all(unix, not(target_os = "macos"))) - ( - "@rules_rust//rust/platform:x86_64-unknown-linux-gnu", - "@rules_rust//rust/platform:aarch64-apple-ios", - "@rules_rust//rust/platform:aarch64-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__openssl_probe__0_1_5//:openssl_probe", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(target_os = "macos") - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:aarch64-apple-darwin", - ): [ - "@raze__security_framework__2_7_0//:security_framework", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__schannel__0_1_20//:schannel", - ], - "//conditions:default": [], - }), -) - -# Unsupported target "compare_mozilla" with type "test" omitted - -# Unsupported target "smoketests" with type "test" omitted diff --git a/cargo/remote/BUILD.rustversion-1.0.9.bazel b/cargo/remote/BUILD.rustversion-1.0.9.bazel deleted file mode 100644 index f7cd95129..000000000 --- a/cargo/remote/BUILD.rustversion-1.0.9.bazel +++ /dev/null @@ -1,92 +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 "//cargo", 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 = "rustversion_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build/build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "1.0.9", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_proc_macro( - name = "rustversion", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=rustversion", - "manual", - ], - version = "1.0.9", - # buildifier: leave-alone - deps = [ - ":rustversion_build_script", - ], -) - -# Unsupported target "compiletest" with type "test" omitted - -# Unsupported target "test_const" with type "test" omitted - -# Unsupported target "test_eval" with type "test" omitted - -# Unsupported target "test_parse" with type "test" omitted diff --git a/cargo/remote/BUILD.ryu-1.0.11.bazel b/cargo/remote/BUILD.ryu-1.0.11.bazel deleted file mode 100644 index 8a07e87f5..000000000 --- a/cargo/remote/BUILD.ryu-1.0.11.bazel +++ /dev/null @@ -1,72 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR BSL-1.0" -]) - -# Generated Targets - -# Unsupported target "bench" with type "bench" omitted - -# Unsupported target "upstream_benchmark" with type "example" omitted - -rust_library( - name = "ryu", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=ryu", - "manual", - ], - version = "1.0.11", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "common_test" with type "test" omitted - -# Unsupported target "d2s_table_test" with type "test" omitted - -# Unsupported target "d2s_test" with type "test" omitted - -# Unsupported target "exhaustive" with type "test" omitted - -# Unsupported target "f2s_test" with type "test" omitted - -# Unsupported target "s2d_test" with type "test" omitted - -# Unsupported target "s2f_test" with type "test" omitted diff --git a/cargo/remote/BUILD.same-file-1.0.6.bazel b/cargo/remote/BUILD.same-file-1.0.6.bazel deleted file mode 100644 index 368e78441..000000000 --- a/cargo/remote/BUILD.same-file-1.0.6.bazel +++ /dev/null @@ -1,68 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "unencumbered", # Unlicense from expression "Unlicense OR MIT" -]) - -# Generated Targets - -# Unsupported target "is_same_file" with type "example" omitted - -# Unsupported target "is_stderr" with type "example" omitted - -rust_library( - name = "same_file", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=same-file", - "manual", - ], - version = "1.0.6", - # buildifier: leave-alone - deps = [ - ] + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi_util__0_1_5//:winapi_util", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.schannel-0.1.20.bazel b/cargo/remote/BUILD.schannel-0.1.20.bazel deleted file mode 100644 index e01ccf408..000000000 --- a/cargo/remote/BUILD.schannel-0.1.20.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "schannel", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=schannel", - "manual", - ], - version = "0.1.20", - # buildifier: leave-alone - deps = [ - "@raze__lazy_static__1_4_0//:lazy_static", - "@raze__windows_sys__0_36_1//:windows_sys", - ], -) diff --git a/cargo/remote/BUILD.scopeguard-1.1.0.bazel b/cargo/remote/BUILD.scopeguard-1.1.0.bazel deleted file mode 100644 index 4330fb9b1..000000000 --- a/cargo/remote/BUILD.scopeguard-1.1.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 "//cargo", 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 "readme" with type "example" omitted - -rust_library( - name = "scopeguard", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "use_std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=scopeguard", - "manual", - ], - version = "1.1.0", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.sct-0.6.1.bazel b/cargo/remote/BUILD.sct-0.6.1.bazel deleted file mode 100644 index a3b4d7cb6..000000000 --- a/cargo/remote/BUILD.sct-0.6.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR (ISC OR MIT)" -]) - -# Generated Targets - -rust_library( - name = "sct", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=sct", - "manual", - ], - version = "0.6.1", - # buildifier: leave-alone - deps = [ - "@raze__ring__0_16_20//:ring", - "@raze__untrusted__0_7_1//:untrusted", - ], -) diff --git a/cargo/remote/BUILD.security-framework-2.7.0.bazel b/cargo/remote/BUILD.security-framework-2.7.0.bazel deleted file mode 100644 index a8585bdf5..000000000 --- a/cargo/remote/BUILD.security-framework-2.7.0.bazel +++ /dev/null @@ -1,67 +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 "//cargo", 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 "client" with type "example" omitted - -# Unsupported target "find_internet_password" with type "example" omitted - -# Unsupported target "set_internet_password" with type "example" omitted - -rust_library( - name = "security_framework", - srcs = glob(["**/*.rs"]), - crate_features = [ - "OSX_10_9", - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=security-framework", - "manual", - ], - version = "2.7.0", - # buildifier: leave-alone - deps = [ - "@raze__bitflags__1_3_2//:bitflags", - "@raze__core_foundation__0_9_3//:core_foundation", - "@raze__core_foundation_sys__0_8_3//:core_foundation_sys", - "@raze__libc__0_2_133//:libc", - "@raze__security_framework_sys__2_6_1//:security_framework_sys", - ], -) diff --git a/cargo/remote/BUILD.security-framework-sys-2.6.1.bazel b/cargo/remote/BUILD.security-framework-sys-2.6.1.bazel deleted file mode 100644 index 34c7be79a..000000000 --- a/cargo/remote/BUILD.security-framework-sys-2.6.1.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 "//cargo", 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 = "security_framework_sys", - srcs = glob(["**/*.rs"]), - crate_features = [ - "OSX_10_9", - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=security-framework-sys", - "manual", - ], - version = "2.6.1", - # buildifier: leave-alone - deps = [ - "@raze__core_foundation_sys__0_8_3//:core_foundation_sys", - "@raze__libc__0_2_133//:libc", - ], -) diff --git a/cargo/remote/BUILD.selectors-0.22.0.bazel b/cargo/remote/BUILD.selectors-0.22.0.bazel deleted file mode 100644 index 1a0cf9a93..000000000 --- a/cargo/remote/BUILD.selectors-0.22.0.bazel +++ /dev/null @@ -1,98 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "reciprocal", # MPL-2.0 from expression "MPL-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 = "selectors_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.22.0", - visibility = ["//visibility:private"], - deps = [ - "@raze__phf_codegen__0_8_0//:phf_codegen", - ], -) - -rust_library( - name = "selectors", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "lib.rs", - data = [], - edition = "2015", - proc_macro_deps = [ - "@raze__derive_more__0_99_17//:derive_more", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=selectors", - "manual", - ], - version = "0.22.0", - # buildifier: leave-alone - deps = [ - ":selectors_build_script", - "@raze__bitflags__1_3_2//:bitflags", - "@raze__cssparser__0_27_2//:cssparser", - "@raze__fxhash__0_2_1//:fxhash", - "@raze__log__0_4_17//:log", - "@raze__matches__0_1_9//:matches", - "@raze__phf__0_8_0//:phf", - "@raze__precomputed_hash__0_1_1//:precomputed_hash", - "@raze__servo_arc__0_1_1//:servo_arc", - "@raze__smallvec__1_9_0//:smallvec", - "@raze__thin_slice__0_1_1//:thin_slice", - ], -) diff --git a/cargo/remote/BUILD.self_cell-0.10.2.bazel b/cargo/remote/BUILD.self_cell-0.10.2.bazel deleted file mode 100644 index 7f8d4282e..000000000 --- a/cargo/remote/BUILD.self_cell-0.10.2.bazel +++ /dev/null @@ -1,54 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0" -]) - -# Generated Targets - -rust_library( - name = "self_cell", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=self_cell", - "manual", - ], - version = "0.10.2", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.semver-1.0.14.bazel b/cargo/remote/BUILD.semver-1.0.14.bazel deleted file mode 100644 index e5e0054e3..000000000 --- a/cargo/remote/BUILD.semver-1.0.14.bazel +++ /dev/null @@ -1,98 +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 "//cargo", 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 = "semver_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "1.0.14", - visibility = ["//visibility:private"], - deps = [ - ], -) - -# Unsupported target "parse" with type "bench" omitted - -rust_library( - name = "semver", - 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=semver", - "manual", - ], - version = "1.0.14", - # buildifier: leave-alone - deps = [ - ":semver_build_script", - ], -) - -# Unsupported target "test_autotrait" with type "test" omitted - -# Unsupported target "test_identifier" with type "test" omitted - -# Unsupported target "test_version" with type "test" omitted - -# Unsupported target "test_version_req" with type "test" omitted diff --git a/cargo/remote/BUILD.serde-1.0.145.bazel b/cargo/remote/BUILD.serde-1.0.145.bazel deleted file mode 100644 index 6308c953f..000000000 --- a/cargo/remote/BUILD.serde-1.0.145.bazel +++ /dev/null @@ -1,97 +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 "//cargo", 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 = "serde_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "derive", - "rc", - "serde_derive", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "1.0.145", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "serde", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "derive", - "rc", - "serde_derive", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - proc_macro_deps = [ - "@raze__serde_derive__1_0_145//:serde_derive", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=serde", - "manual", - ], - version = "1.0.145", - # buildifier: leave-alone - deps = [ - ":serde_build_script", - ], -) diff --git a/cargo/remote/BUILD.serde-aux-4.0.0.bazel b/cargo/remote/BUILD.serde-aux-4.0.0.bazel deleted file mode 100644 index 074c3e72e..000000000 --- a/cargo/remote/BUILD.serde-aux-4.0.0.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "serde_aux", - srcs = glob(["**/*.rs"]), - crate_features = [ - "chrono", - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2021", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=serde-aux", - "manual", - ], - version = "4.0.0", - # buildifier: leave-alone - deps = [ - "@raze__chrono__0_4_22//:chrono", - "@raze__serde__1_0_145//:serde", - "@raze__serde_json__1_0_85//:serde_json", - ], -) diff --git a/cargo/remote/BUILD.serde_derive-1.0.145.bazel b/cargo/remote/BUILD.serde_derive-1.0.145.bazel deleted file mode 100644 index fcf51e82f..000000000 --- a/cargo/remote/BUILD.serde_derive-1.0.145.bazel +++ /dev/null @@ -1,89 +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 "//cargo", 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 = "serde_derive_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "1.0.145", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_proc_macro( - name = "serde_derive", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=serde_derive", - "manual", - ], - version = "1.0.145", - # buildifier: leave-alone - deps = [ - ":serde_derive_build_script", - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) diff --git a/cargo/remote/BUILD.serde_json-1.0.85.bazel b/cargo/remote/BUILD.serde_json-1.0.85.bazel deleted file mode 100644 index 0118ae1e3..000000000 --- a/cargo/remote/BUILD.serde_json-1.0.85.bazel +++ /dev/null @@ -1,105 +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 "//cargo", 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 = "serde_json_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "1.0.85", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "serde_json", - 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=serde_json", - "manual", - ], - version = "1.0.85", - # buildifier: leave-alone - deps = [ - ":serde_json_build_script", - "@raze__itoa__1_0_3//:itoa", - "@raze__ryu__1_0_11//:ryu", - "@raze__serde__1_0_145//:serde", - ], -) - -# Unsupported target "compiletest" with type "test" omitted - -# Unsupported target "debug" with type "test" omitted - -# Unsupported target "lexical" with type "test" omitted - -# Unsupported target "map" with type "test" omitted - -# Unsupported target "regression" with type "test" omitted - -# Unsupported target "stream" with type "test" omitted - -# Unsupported target "test" with type "test" omitted diff --git a/cargo/remote/BUILD.serde_repr-0.1.9.bazel b/cargo/remote/BUILD.serde_repr-0.1.9.bazel deleted file mode 100644 index a37931bb6..000000000 --- a/cargo/remote/BUILD.serde_repr-0.1.9.bazel +++ /dev/null @@ -1,61 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT OR Apache-2.0" -]) - -# Generated Targets - -rust_proc_macro( - name = "serde_repr", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=serde_repr", - "manual", - ], - version = "0.1.9", - # buildifier: leave-alone - deps = [ - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) - -# Unsupported target "compiletest" with type "test" omitted - -# Unsupported target "test" with type "test" omitted diff --git a/cargo/remote/BUILD.serde_tuple-0.5.0.bazel b/cargo/remote/BUILD.serde_tuple-0.5.0.bazel deleted file mode 100644 index a9c815dc3..000000000 --- a/cargo/remote/BUILD.serde_tuple-0.5.0.bazel +++ /dev/null @@ -1,60 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "simple" with type "example" omitted - -rust_library( - name = "serde_tuple", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - proc_macro_deps = [ - "@raze__serde_tuple_macros__0_5_0//:serde_tuple_macros", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=serde_tuple", - "manual", - ], - version = "0.5.0", - # buildifier: leave-alone - deps = [ - "@raze__serde__1_0_145//:serde", - ], -) diff --git a/cargo/remote/BUILD.serde_tuple_macros-0.5.0.bazel b/cargo/remote/BUILD.serde_tuple_macros-0.5.0.bazel deleted file mode 100644 index f8f0fdba1..000000000 --- a/cargo/remote/BUILD.serde_tuple_macros-0.5.0.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_proc_macro( - name = "serde_tuple_macros", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=serde_tuple_macros", - "manual", - ], - version = "0.5.0", - # buildifier: leave-alone - deps = [ - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) diff --git a/cargo/remote/BUILD.serde_urlencoded-0.7.1.bazel b/cargo/remote/BUILD.serde_urlencoded-0.7.1.bazel deleted file mode 100644 index e304d78c5..000000000 --- a/cargo/remote/BUILD.serde_urlencoded-0.7.1.bazel +++ /dev/null @@ -1,62 +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 "//cargo", 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 = "serde_urlencoded", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=serde_urlencoded", - "manual", - ], - version = "0.7.1", - # buildifier: leave-alone - deps = [ - "@raze__form_urlencoded__1_1_0//:form_urlencoded", - "@raze__itoa__1_0_3//:itoa", - "@raze__ryu__1_0_11//:ryu", - "@raze__serde__1_0_145//:serde", - ], -) - -# Unsupported target "test_deserialize" with type "test" omitted - -# Unsupported target "test_serialize" with type "test" omitted diff --git a/cargo/remote/BUILD.servo_arc-0.1.1.bazel b/cargo/remote/BUILD.servo_arc-0.1.1.bazel deleted file mode 100644 index 0548f9038..000000000 --- a/cargo/remote/BUILD.servo_arc-0.1.1.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 "//cargo", 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 = "servo_arc", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=servo_arc", - "manual", - ], - version = "0.1.1", - # buildifier: leave-alone - deps = [ - "@raze__nodrop__0_1_14//:nodrop", - "@raze__stable_deref_trait__1_2_0//:stable_deref_trait", - ], -) diff --git a/cargo/remote/BUILD.sha1-0.6.1.bazel b/cargo/remote/BUILD.sha1-0.6.1.bazel deleted file mode 100644 index 70cf9a3dd..000000000 --- a/cargo/remote/BUILD.sha1-0.6.1.bazel +++ /dev/null @@ -1,55 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # BSD-3-Clause from expression "BSD-3-Clause" -]) - -# Generated Targets - -rust_library( - name = "sha1", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=sha1", - "manual", - ], - version = "0.6.1", - # buildifier: leave-alone - deps = [ - "@raze__sha1_smol__1_0_0//:sha1_smol", - ], -) diff --git a/cargo/remote/BUILD.sha1_smol-1.0.0.bazel b/cargo/remote/BUILD.sha1_smol-1.0.0.bazel deleted file mode 100644 index 733313ea3..000000000 --- a/cargo/remote/BUILD.sha1_smol-1.0.0.bazel +++ /dev/null @@ -1,54 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # BSD-3-Clause from expression "BSD-3-Clause" -]) - -# Generated Targets - -rust_library( - name = "sha1_smol", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=sha1_smol", - "manual", - ], - version = "1.0.0", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.signal-hook-registry-1.4.0.bazel b/cargo/remote/BUILD.signal-hook-registry-1.4.0.bazel deleted file mode 100644 index af82a8d7d..000000000 --- a/cargo/remote/BUILD.signal-hook-registry-1.4.0.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -rust_library( - name = "signal_hook_registry", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=signal-hook-registry", - "manual", - ], - version = "1.4.0", - # buildifier: leave-alone - deps = [ - "@raze__libc__0_2_133//:libc", - ], -) - -# Unsupported target "unregister_signal" with type "test" omitted diff --git a/cargo/remote/BUILD.siphasher-0.3.10.bazel b/cargo/remote/BUILD.siphasher-0.3.10.bazel deleted file mode 100644 index f31c4ec4d..000000000 --- a/cargo/remote/BUILD.siphasher-0.3.10.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 "//cargo", 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 = "siphasher", - 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=siphasher", - "manual", - ], - version = "0.3.10", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.slab-0.4.7.bazel b/cargo/remote/BUILD.slab-0.4.7.bazel deleted file mode 100644 index 4c4eb1b03..000000000 --- a/cargo/remote/BUILD.slab-0.4.7.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "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 = "slab_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.4.7", - visibility = ["//visibility:private"], - deps = [ - "@raze__autocfg__1_1_0//:autocfg", - ], -) - -rust_library( - name = "slab", - 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=slab", - "manual", - ], - version = "0.4.7", - # buildifier: leave-alone - deps = [ - ":slab_build_script", - ], -) - -# Unsupported target "serde" with type "test" omitted - -# Unsupported target "slab" with type "test" omitted diff --git a/cargo/remote/BUILD.slog-2.7.0.bazel b/cargo/remote/BUILD.slog-2.7.0.bazel deleted file mode 100644 index ddf7d10bb..000000000 --- a/cargo/remote/BUILD.slog-2.7.0.bazel +++ /dev/null @@ -1,98 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MPL-2.0 OR (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 = "slog_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "max_level_trace", - "release_max_level_debug", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "2.7.0", - visibility = ["//visibility:private"], - deps = [ - ], -) - -# Unsupported target "named" with type "example" omitted - -# Unsupported target "singlethread" with type "example" omitted - -# Unsupported target "struct-log-self" with type "example" omitted - -rust_library( - name = "slog", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "max_level_trace", - "release_max_level_debug", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=slog", - "manual", - ], - version = "2.7.0", - # buildifier: leave-alone - deps = [ - ":slog_build_script", - ], -) diff --git a/cargo/remote/BUILD.slog-async-2.7.0.bazel b/cargo/remote/BUILD.slog-async-2.7.0.bazel deleted file mode 100644 index a673e025e..000000000 --- a/cargo/remote/BUILD.slog-async-2.7.0.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MPL-2.0 OR (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 = "slog_async_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "2.7.0", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "slog_async", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=slog-async", - "manual", - ], - version = "2.7.0", - # buildifier: leave-alone - deps = [ - ":slog_async_build_script", - "@raze__crossbeam_channel__0_5_6//:crossbeam_channel", - "@raze__slog__2_7_0//:slog", - "@raze__take_mut__0_2_2//:take_mut", - "@raze__thread_local__1_1_4//:thread_local", - ], -) diff --git a/cargo/remote/BUILD.slog-envlogger-2.2.0.bazel b/cargo/remote/BUILD.slog-envlogger-2.2.0.bazel deleted file mode 100644 index deecd3b8b..000000000 --- a/cargo/remote/BUILD.slog-envlogger-2.2.0.bazel +++ /dev/null @@ -1,71 +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 "//cargo", 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 "proper" with type "example" omitted - -# Unsupported target "scopes" with type "example" omitted - -# Unsupported target "simple" with type "example" omitted - -rust_library( - name = "slog_envlogger", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "regex", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=slog-envlogger", - "manual", - ], - version = "2.2.0", - # buildifier: leave-alone - deps = [ - "@raze__log__0_4_17//:log", - "@raze__regex__1_6_0//:regex", - "@raze__slog__2_7_0//:slog", - "@raze__slog_async__2_7_0//:slog_async", - "@raze__slog_scope__4_4_0//:slog_scope", - "@raze__slog_stdlog__4_1_1//:slog_stdlog", - "@raze__slog_term__2_9_0//:slog_term", - ], -) - -# Unsupported target "regexp_filter" with type "test" omitted diff --git a/cargo/remote/BUILD.slog-scope-4.4.0.bazel b/cargo/remote/BUILD.slog-scope-4.4.0.bazel deleted file mode 100644 index f3296d23a..000000000 --- a/cargo/remote/BUILD.slog-scope-4.4.0.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MPL-2.0 OR (MIT OR Apache-2.0)" -]) - -# Generated Targets - -# Unsupported target "compact-color" with type "example" omitted - -rust_library( - name = "slog_scope", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=slog-scope", - "manual", - ], - version = "4.4.0", - # buildifier: leave-alone - deps = [ - "@raze__arc_swap__1_5_1//:arc_swap", - "@raze__lazy_static__1_4_0//:lazy_static", - "@raze__slog__2_7_0//:slog", - ], -) diff --git a/cargo/remote/BUILD.slog-stdlog-4.1.1.bazel b/cargo/remote/BUILD.slog-stdlog-4.1.1.bazel deleted file mode 100644 index 606aaf82a..000000000 --- a/cargo/remote/BUILD.slog-stdlog-4.1.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MPL-2.0 OR (MIT OR Apache-2.0)" -]) - -# Generated Targets - -rust_library( - name = "slog_stdlog", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=slog-stdlog", - "manual", - ], - version = "4.1.1", - # buildifier: leave-alone - deps = [ - "@raze__log__0_4_17//:log", - "@raze__slog__2_7_0//:slog", - "@raze__slog_scope__4_4_0//:slog_scope", - ], -) diff --git a/cargo/remote/BUILD.slog-term-2.9.0.bazel b/cargo/remote/BUILD.slog-term-2.9.0.bazel deleted file mode 100644 index 9d3cb843e..000000000 --- a/cargo/remote/BUILD.slog-term-2.9.0.bazel +++ /dev/null @@ -1,73 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MPL-2.0 OR (MIT OR Apache-2.0)" -]) - -# Generated Targets - -# Unsupported target "compact" with type "example" omitted - -# Unsupported target "compact-color" with type "example" omitted - -# Unsupported target "full" with type "example" omitted - -# Unsupported target "full-color" with type "example" omitted - -# Unsupported target "full-color-oorder" with type "example" omitted - -# Unsupported target "to-file" with type "example" omitted - -rust_library( - name = "slog_term", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=slog-term", - "manual", - ], - version = "2.9.0", - # buildifier: leave-alone - deps = [ - "@raze__atty__0_2_14//:atty", - "@raze__slog__2_7_0//:slog", - "@raze__term__0_7_0//:term", - "@raze__thread_local__1_1_4//:thread_local", - "@raze__time__0_3_14//:time", - ], -) - -# Unsupported target "term" with type "test" omitted diff --git a/cargo/remote/BUILD.smallvec-1.9.0.bazel b/cargo/remote/BUILD.smallvec-1.9.0.bazel deleted file mode 100644 index 35d02e59e..000000000 --- a/cargo/remote/BUILD.smallvec-1.9.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 "//cargo", 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 = "smallvec", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=smallvec", - "manual", - ], - version = "1.9.0", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "macro" with type "test" omitted diff --git a/cargo/remote/BUILD.snafu-0.7.2.bazel b/cargo/remote/BUILD.snafu-0.7.2.bazel deleted file mode 100644 index bdecb4d2e..000000000 --- a/cargo/remote/BUILD.snafu-0.7.2.bazel +++ /dev/null @@ -1,134 +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 "//cargo", 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 = "snafu", - srcs = glob(["**/*.rs"]), - crate_features = [ - "backtrace", - "backtraces", - "default", - "rust_1_39", - "rust_1_46", - "std", - ], - crate_root = "src/lib.rs", - data = [], - compile_data = glob(["**/*.md"]), - edition = "2018", - proc_macro_deps = [ - "@raze__snafu_derive__0_7_2//:snafu_derive", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=snafu", - "manual", - ], - version = "0.7.2", - # buildifier: leave-alone - deps = [ - "@raze__backtrace__0_3_66//:backtrace", - "@raze__doc_comment__0_3_3//:doc_comment", - ], -) - -# Unsupported target "backtrace" with type "test" omitted - -# Unsupported target "backtrace-optional" with type "test" omitted - -# Unsupported target "backtrace-optional-enabled" with type "test" omitted - -# Unsupported target "backtrace_attributes" with type "test" omitted - -# Unsupported target "basic" with type "test" omitted - -# Unsupported target "boxed_error_trait_object" with type "test" omitted - -# Unsupported target "build-leaf-error" with type "test" omitted - -# Unsupported target "context_selector_name" with type "test" omitted - -# Unsupported target "default_error_display" with type "test" omitted - -# Unsupported target "display-shorthand" with type "test" omitted - -# Unsupported target "doc_comment" with type "test" omitted - -# Unsupported target "ensure" with type "test" omitted - -# Unsupported target "error_chain" with type "test" omitted - -# Unsupported target "generics" with type "test" omitted - -# Unsupported target "generics_with_default" with type "test" omitted - -# Unsupported target "implicit" with type "test" omitted - -# Unsupported target "location" with type "test" omitted - -# Unsupported target "mapping_result_without_try_operator" with type "test" omitted - -# Unsupported target "module" with type "test" omitted - -# Unsupported target "multiple_attributes" with type "test" omitted - -# Unsupported target "name-conflicts" with type "test" omitted - -# Unsupported target "no_context" with type "test" omitted - -# Unsupported target "opaque" with type "test" omitted - -# Unsupported target "options" with type "test" omitted - -# Unsupported target "premade_error" with type "test" omitted - -# Unsupported target "raw_idents" with type "test" omitted - -# Unsupported target "recursive_error" with type "test" omitted - -# Unsupported target "report" with type "test" omitted - -# Unsupported target "send_between_threads" with type "test" omitted - -# Unsupported target "single_use_lifetimes_lint" with type "test" omitted - -# Unsupported target "source_attributes" with type "test" omitted - -# Unsupported target "stringly_typed" with type "test" omitted - -# Unsupported target "structs" with type "test" omitted - -# Unsupported target "visibility" with type "test" omitted diff --git a/cargo/remote/BUILD.snafu-derive-0.7.2.bazel b/cargo/remote/BUILD.snafu-derive-0.7.2.bazel deleted file mode 100644 index b4e32faad..000000000 --- a/cargo/remote/BUILD.snafu-derive-0.7.2.bazel +++ /dev/null @@ -1,60 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT OR Apache-2.0" -]) - -# Generated Targets - -rust_proc_macro( - name = "snafu_derive", - srcs = glob(["**/*.rs"]), - crate_features = [ - "rust_1_39", - "rust_1_46", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=snafu-derive", - "manual", - ], - version = "0.7.2", - # buildifier: leave-alone - deps = [ - "@raze__heck__0_4_0//:heck", - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) diff --git a/cargo/remote/BUILD.snowflake-1.3.0.bazel b/cargo/remote/BUILD.snowflake-1.3.0.bazel deleted file mode 100644 index 46831c2ab..000000000 --- a/cargo/remote/BUILD.snowflake-1.3.0.bazel +++ /dev/null @@ -1,55 +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 "//cargo", 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 = "snowflake", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=snowflake", - "manual", - ], - version = "1.3.0", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.socket2-0.4.7.bazel b/cargo/remote/BUILD.socket2-0.4.7.bazel deleted file mode 100644 index a7879ac47..000000000 --- a/cargo/remote/BUILD.socket2-0.4.7.bazel +++ /dev/null @@ -1,78 +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 "//cargo", 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 = "socket2", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - "all", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=socket2", - "manual", - ], - version = "0.4.7", - # buildifier: leave-alone - deps = [ - ] + selects.with_or({ - # cfg(unix) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi__0_3_9//:winapi", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.spin-0.5.2.bazel b/cargo/remote/BUILD.spin-0.5.2.bazel deleted file mode 100644 index ab8974baa..000000000 --- a/cargo/remote/BUILD.spin-0.5.2.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "debug" with type "example" omitted - -rust_library( - name = "spin", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=spin", - "manual", - ], - version = "0.5.2", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.stable_deref_trait-1.2.0.bazel b/cargo/remote/BUILD.stable_deref_trait-1.2.0.bazel deleted file mode 100644 index bd74c553d..000000000 --- a/cargo/remote/BUILD.stable_deref_trait-1.2.0.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 "//cargo", 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 = "stable_deref_trait", - srcs = glob(["**/*.rs"]), - crate_features = [ - "alloc", - "default", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=stable_deref_trait", - "manual", - ], - version = "1.2.0", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.string_cache-0.8.4.bazel b/cargo/remote/BUILD.string_cache-0.8.4.bazel deleted file mode 100644 index 17a0363fd..000000000 --- a/cargo/remote/BUILD.string_cache-0.8.4.bazel +++ /dev/null @@ -1,67 +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 "//cargo", 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 "simple" with type "example" omitted - -rust_library( - name = "string_cache", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "serde", - "serde_support", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=string_cache", - "manual", - ], - version = "0.8.4", - # buildifier: leave-alone - deps = [ - "@raze__new_debug_unreachable__1_0_4//:new_debug_unreachable", - "@raze__once_cell__1_15_0//:once_cell", - "@raze__parking_lot__0_12_1//:parking_lot", - "@raze__phf_shared__0_10_0//:phf_shared", - "@raze__precomputed_hash__0_1_1//:precomputed_hash", - "@raze__serde__1_0_145//:serde", - ], -) - -# Unsupported target "small-stack" with type "test" omitted diff --git a/cargo/remote/BUILD.string_cache_codegen-0.5.2.bazel b/cargo/remote/BUILD.string_cache_codegen-0.5.2.bazel deleted file mode 100644 index 729345917..000000000 --- a/cargo/remote/BUILD.string_cache_codegen-0.5.2.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 "//cargo", 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 = "string_cache_codegen", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=string_cache_codegen", - "manual", - ], - version = "0.5.2", - # buildifier: leave-alone - deps = [ - "@raze__phf_generator__0_10_0//:phf_generator", - "@raze__phf_shared__0_10_0//:phf_shared", - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - ], -) diff --git a/cargo/remote/BUILD.strum-0.24.1.bazel b/cargo/remote/BUILD.strum-0.24.1.bazel deleted file mode 100644 index 353128c12..000000000 --- a/cargo/remote/BUILD.strum-0.24.1.bazel +++ /dev/null @@ -1,61 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "strum", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "derive", - "std", - "strum_macros", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - proc_macro_deps = [ - "@raze__strum_macros__0_24_3//:strum_macros", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=strum", - "manual", - ], - version = "0.24.1", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.strum_macros-0.24.3.bazel b/cargo/remote/BUILD.strum_macros-0.24.3.bazel deleted file mode 100644 index 39afed1c2..000000000 --- a/cargo/remote/BUILD.strum_macros-0.24.3.bazel +++ /dev/null @@ -1,61 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_proc_macro( - name = "strum_macros", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - proc_macro_deps = [ - "@raze__rustversion__1_0_9//:rustversion", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=strum_macros", - "manual", - ], - version = "0.24.3", - # buildifier: leave-alone - deps = [ - "@raze__heck__0_4_0//:heck", - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) diff --git a/cargo/remote/BUILD.subtle-2.4.1.bazel b/cargo/remote/BUILD.subtle-2.4.1.bazel deleted file mode 100644 index 0d969f04c..000000000 --- a/cargo/remote/BUILD.subtle-2.4.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # BSD-3-Clause from expression "BSD-3-Clause" -]) - -# Generated Targets - -rust_library( - name = "subtle", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=subtle", - "manual", - ], - version = "2.4.1", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "mod" with type "test" omitted diff --git a/cargo/remote/BUILD.syn-1.0.100.bazel b/cargo/remote/BUILD.syn-1.0.100.bazel deleted file mode 100644 index a395be52a..000000000 --- a/cargo/remote/BUILD.syn-1.0.100.bazel +++ /dev/null @@ -1,169 +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 "//cargo", 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", - "extra-traits", - "fold", - "full", - "parsing", - "printing", - "proc-macro", - "quote", - "visit", - "visit-mut", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "1.0.100", - 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", - "extra-traits", - "fold", - "full", - "parsing", - "printing", - "proc-macro", - "quote", - "visit", - "visit-mut", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=syn", - "manual", - ], - version = "1.0.100", - # buildifier: leave-alone - deps = [ - ":syn_build_script", - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__unicode_ident__1_0_4//:unicode_ident", - ], -) - -# Unsupported target "regression" with type "test" omitted - -# 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/cargo/remote/BUILD.take_mut-0.2.2.bazel b/cargo/remote/BUILD.take_mut-0.2.2.bazel deleted file mode 100644 index 6e85fe1e3..000000000 --- a/cargo/remote/BUILD.take_mut-0.2.2.bazel +++ /dev/null @@ -1,54 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "take_mut", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=take_mut", - "manual", - ], - version = "0.2.2", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.target-lexicon-0.12.4.bazel b/cargo/remote/BUILD.target-lexicon-0.12.4.bazel deleted file mode 100644 index f38e4a678..000000000 --- a/cargo/remote/BUILD.target-lexicon-0.12.4.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "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 = "target_lexicon_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.12.4", - visibility = ["//visibility:private"], - deps = [ - ], -) - -# Unsupported target "host" with type "example" omitted - -# Unsupported target "misc" with type "example" omitted - -rust_library( - name = "target_lexicon", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=target-lexicon", - "manual", - ], - version = "0.12.4", - # buildifier: leave-alone - deps = [ - ":target_lexicon_build_script", - ], -) diff --git a/cargo/remote/BUILD.tempfile-3.3.0.bazel b/cargo/remote/BUILD.tempfile-3.3.0.bazel deleted file mode 100644 index d9e9c1806..000000000 --- a/cargo/remote/BUILD.tempfile-3.3.0.bazel +++ /dev/null @@ -1,88 +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 "//cargo", 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 = "tempfile", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=tempfile", - "manual", - ], - version = "3.3.0", - # buildifier: leave-alone - deps = [ - "@raze__cfg_if__1_0_0//:cfg_if", - "@raze__fastrand__1_8_0//:fastrand", - "@raze__remove_dir_all__0_5_3//:remove_dir_all", - ] + selects.with_or({ - # cfg(any(unix, target_os = "wasi")) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi__0_3_9//:winapi", - ], - "//conditions:default": [], - }), -) - -# Unsupported target "namedtempfile" with type "test" omitted - -# Unsupported target "spooled" with type "test" omitted - -# Unsupported target "tempdir" with type "test" omitted - -# Unsupported target "tempfile" with type "test" omitted diff --git a/cargo/remote/BUILD.tendril-0.4.3.bazel b/cargo/remote/BUILD.tendril-0.4.3.bazel deleted file mode 100644 index adc9df84e..000000000 --- a/cargo/remote/BUILD.tendril-0.4.3.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 "//cargo", 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 "fuzz" with type "example" omitted - -rust_library( - name = "tendril", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=tendril", - "manual", - ], - version = "0.4.3", - # buildifier: leave-alone - deps = [ - "@raze__futf__0_1_5//:futf", - "@raze__mac__0_1_1//:mac", - "@raze__utf_8__0_7_6//:utf_8", - ], -) diff --git a/cargo/remote/BUILD.term-0.7.0.bazel b/cargo/remote/BUILD.term-0.7.0.bazel deleted file mode 100644 index 1d857641d..000000000 --- a/cargo/remote/BUILD.term-0.7.0.bazel +++ /dev/null @@ -1,71 +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 "//cargo", 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 = "term", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=term", - "manual", - ], - version = "0.7.0", - proc_macro_deps = [ - "@raze__rustversion__1_0_9//:rustversion", - ], - # buildifier: leave-alone - deps = [ - "@raze__dirs_next__2_0_0//:dirs_next", - ] + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi__0_3_9//:winapi", - ], - "//conditions:default": [], - }), -) - -# Unsupported target "terminfo" with type "test" omitted diff --git a/cargo/remote/BUILD.termcolor-1.1.3.bazel b/cargo/remote/BUILD.termcolor-1.1.3.bazel deleted file mode 100644 index 3d08e7ec5..000000000 --- a/cargo/remote/BUILD.termcolor-1.1.3.bazel +++ /dev/null @@ -1,64 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "unencumbered", # Unlicense from expression "Unlicense OR MIT" -]) - -# Generated Targets - -rust_library( - name = "termcolor", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=termcolor", - "manual", - ], - version = "1.1.3", - # buildifier: leave-alone - deps = [ - ] + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi_util__0_1_5//:winapi_util", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.thin-slice-0.1.1.bazel b/cargo/remote/BUILD.thin-slice-0.1.1.bazel deleted file mode 100644 index c389f18ae..000000000 --- a/cargo/remote/BUILD.thin-slice-0.1.1.bazel +++ /dev/null @@ -1,54 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "reciprocal", # MPL-2.0 from expression "MPL-2.0" -]) - -# Generated Targets - -rust_library( - name = "thin_slice", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=thin-slice", - "manual", - ], - version = "0.1.1", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.thiserror-1.0.35.bazel b/cargo/remote/BUILD.thiserror-1.0.35.bazel deleted file mode 100644 index 4d27d8c48..000000000 --- a/cargo/remote/BUILD.thiserror-1.0.35.bazel +++ /dev/null @@ -1,113 +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 "//cargo", 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 = "thiserror_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "1.0.35", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "thiserror", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - proc_macro_deps = [ - "@raze__thiserror_impl__1_0_35//:thiserror_impl", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=thiserror", - "manual", - ], - version = "1.0.35", - # buildifier: leave-alone - deps = [ - ":thiserror_build_script", - ], -) - -# Unsupported target "compiletest" with type "test" omitted - -# Unsupported target "test_backtrace" with type "test" omitted - -# Unsupported target "test_deprecated" with type "test" omitted - -# Unsupported target "test_display" with type "test" omitted - -# Unsupported target "test_error" with type "test" omitted - -# Unsupported target "test_expr" with type "test" omitted - -# Unsupported target "test_from" with type "test" omitted - -# Unsupported target "test_generics" with type "test" omitted - -# Unsupported target "test_lints" with type "test" omitted - -# Unsupported target "test_option" with type "test" omitted - -# Unsupported target "test_path" with type "test" omitted - -# Unsupported target "test_source" with type "test" omitted - -# Unsupported target "test_transparent" with type "test" omitted diff --git a/cargo/remote/BUILD.thiserror-impl-1.0.35.bazel b/cargo/remote/BUILD.thiserror-impl-1.0.35.bazel deleted file mode 100644 index 6998ae01d..000000000 --- a/cargo/remote/BUILD.thiserror-impl-1.0.35.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT OR Apache-2.0" -]) - -# Generated Targets - -rust_proc_macro( - name = "thiserror_impl", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=thiserror-impl", - "manual", - ], - version = "1.0.35", - # buildifier: leave-alone - deps = [ - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) diff --git a/cargo/remote/BUILD.thread_local-1.1.4.bazel b/cargo/remote/BUILD.thread_local-1.1.4.bazel deleted file mode 100644 index 0d60d0c9f..000000000 --- a/cargo/remote/BUILD.thread_local-1.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -# Unsupported target "thread_local" with type "bench" omitted - -rust_library( - name = "thread_local", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=thread_local", - "manual", - ], - version = "1.1.4", - # buildifier: leave-alone - deps = [ - "@raze__once_cell__1_15_0//:once_cell", - ], -) diff --git a/cargo/remote/BUILD.time-0.1.44.bazel b/cargo/remote/BUILD.time-0.1.44.bazel deleted file mode 100644 index 90cb6eb82..000000000 --- a/cargo/remote/BUILD.time-0.1.44.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 "//cargo", 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 = "time", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=time", - "manual", - ], - version = "0.1.44", - # buildifier: leave-alone - deps = [ - "@raze__libc__0_2_133//:libc", - ] + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi__0_3_9//:winapi", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.time-0.3.14.bazel b/cargo/remote/BUILD.time-0.3.14.bazel deleted file mode 100644 index 38d33dcb9..000000000 --- a/cargo/remote/BUILD.time-0.3.14.bazel +++ /dev/null @@ -1,84 +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 "//cargo", 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 "benchmarks" with type "bench" omitted - -rust_library( - name = "time", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - "alloc", - "default", - "formatting", - "itoa", - "local-offset", - "macros", - "std", - "time-macros", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2021", - proc_macro_deps = [ - "@raze__time_macros__0_2_4//:time_macros", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=time", - "manual", - ], - version = "0.3.14", - # buildifier: leave-alone - deps = [ - "@raze__itoa__1_0_3//:itoa", - ] + selects.with_or({ - # cfg(target_family = "unix") - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - "@raze__num_threads__0_1_6//:num_threads", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.time-macros-0.2.4.bazel b/cargo/remote/BUILD.time-macros-0.2.4.bazel deleted file mode 100644 index 1c8e6d394..000000000 --- a/cargo/remote/BUILD.time-macros-0.2.4.bazel +++ /dev/null @@ -1,54 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT OR Apache-2.0" -]) - -# Generated Targets - -rust_proc_macro( - name = "time_macros", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=time-macros", - "manual", - ], - version = "0.2.4", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.tinystr-0.3.4.bazel b/cargo/remote/BUILD.tinystr-0.3.4.bazel deleted file mode 100644 index a40a9c5c5..000000000 --- a/cargo/remote/BUILD.tinystr-0.3.4.bazel +++ /dev/null @@ -1,64 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -# Unsupported target "construct" with type "bench" omitted - -# Unsupported target "tinystr" with type "bench" omitted - -# Unsupported target "main" with type "example" omitted - -rust_library( - name = "tinystr", - 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=tinystr", - "manual", - ], - version = "0.3.4", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "main" with type "test" omitted diff --git a/cargo/remote/BUILD.tinyvec-1.6.0.bazel b/cargo/remote/BUILD.tinyvec-1.6.0.bazel deleted file mode 100644 index 7444df4ff..000000000 --- a/cargo/remote/BUILD.tinyvec-1.6.0.bazel +++ /dev/null @@ -1,66 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Zlib from expression "Zlib OR (Apache-2.0 OR MIT)" -]) - -# Generated Targets - -# Unsupported target "macros" with type "bench" omitted - -# Unsupported target "smallvec" with type "bench" omitted - -rust_library( - name = "tinyvec", - srcs = glob(["**/*.rs"]), - crate_features = [ - "alloc", - "default", - "tinyvec_macros", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=tinyvec", - "manual", - ], - version = "1.6.0", - # buildifier: leave-alone - deps = [ - "@raze__tinyvec_macros__0_1_0//:tinyvec_macros", - ], -) - -# Unsupported target "arrayvec" with type "test" omitted - -# Unsupported target "tinyvec" with type "test" omitted diff --git a/cargo/remote/BUILD.tinyvec_macros-0.1.0.bazel b/cargo/remote/BUILD.tinyvec_macros-0.1.0.bazel deleted file mode 100644 index f877a095e..000000000 --- a/cargo/remote/BUILD.tinyvec_macros-0.1.0.bazel +++ /dev/null @@ -1,54 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT OR (Apache-2.0 OR Zlib)" -]) - -# Generated Targets - -rust_library( - name = "tinyvec_macros", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=tinyvec_macros", - "manual", - ], - version = "0.1.0", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.tokio-1.21.1.bazel b/cargo/remote/BUILD.tokio-1.21.1.bazel deleted file mode 100644 index 9db4a89b4..000000000 --- a/cargo/remote/BUILD.tokio-1.21.1.bazel +++ /dev/null @@ -1,443 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "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 = "tokio_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "bytes", - "default", - "fs", - "full", - "io-std", - "io-util", - "libc", - "macros", - "memchr", - "mio", - "net", - "num_cpus", - "once_cell", - "parking_lot", - "process", - "rt", - "rt-multi-thread", - "signal", - "signal-hook-registry", - "socket2", - "sync", - "time", - "tokio-macros", - "winapi", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "1.21.1", - visibility = ["//visibility:private"], - deps = [ - "@raze__autocfg__1_1_0//:autocfg", - ] + selects.with_or({ - # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64"))) - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(unix) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - ], - "//conditions:default": [], - }), -) - -rust_library( - name = "tokio", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - "bytes", - "default", - "fs", - "full", - "io-std", - "io-util", - "libc", - "macros", - "memchr", - "mio", - "net", - "num_cpus", - "once_cell", - "parking_lot", - "process", - "rt", - "rt-multi-thread", - "signal", - "signal-hook-registry", - "socket2", - "sync", - "time", - "tokio-macros", - "winapi", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - proc_macro_deps = [ - "@raze__tokio_macros__1_8_0//:tokio_macros", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=tokio", - "manual", - ], - version = "1.21.1", - # buildifier: leave-alone - deps = [ - ":tokio_build_script", - "@raze__bytes__1_2_1//:bytes", - "@raze__memchr__2_5_0//:memchr", - "@raze__mio__0_8_4//:mio", - "@raze__num_cpus__1_13_1//:num_cpus", - "@raze__once_cell__1_15_0//:once_cell", - "@raze__parking_lot__0_12_1//:parking_lot", - "@raze__pin_project_lite__0_2_9//:pin_project_lite", - ] + selects.with_or({ - # cfg(not(any(target_arch = "wasm32", target_arch = "wasm64"))) - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__socket2__0_4_7//:socket2", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(unix) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - "@raze__signal_hook_registry__1_4_0//:signal_hook_registry", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi__0_3_9//:winapi", - ], - "//conditions:default": [], - }), -) - -# Unsupported target "_require_full" with type "test" omitted - -# Unsupported target "async_send_sync" with type "test" omitted - -# Unsupported target "buffered" with type "test" omitted - -# Unsupported target "fs" with type "test" omitted - -# Unsupported target "fs_copy" with type "test" omitted - -# Unsupported target "fs_dir" with type "test" omitted - -# Unsupported target "fs_file" with type "test" omitted - -# Unsupported target "fs_link" with type "test" omitted - -# Unsupported target "io_async_fd" with type "test" omitted - -# Unsupported target "io_async_read" with type "test" omitted - -# Unsupported target "io_buf_reader" with type "test" omitted - -# Unsupported target "io_buf_writer" with type "test" omitted - -# Unsupported target "io_chain" with type "test" omitted - -# Unsupported target "io_copy" with type "test" omitted - -# Unsupported target "io_copy_bidirectional" with type "test" omitted - -# Unsupported target "io_driver" with type "test" omitted - -# Unsupported target "io_driver_drop" with type "test" omitted - -# Unsupported target "io_fill_buf" with type "test" omitted - -# Unsupported target "io_lines" with type "test" omitted - -# Unsupported target "io_mem_stream" with type "test" omitted - -# Unsupported target "io_panic" with type "test" omitted - -# Unsupported target "io_poll_aio" with type "test" omitted - -# Unsupported target "io_read" with type "test" omitted - -# Unsupported target "io_read_buf" with type "test" omitted - -# Unsupported target "io_read_exact" with type "test" omitted - -# Unsupported target "io_read_line" with type "test" omitted - -# Unsupported target "io_read_to_end" with type "test" omitted - -# Unsupported target "io_read_to_string" with type "test" omitted - -# Unsupported target "io_read_until" with type "test" omitted - -# Unsupported target "io_split" with type "test" omitted - -# Unsupported target "io_take" with type "test" omitted - -# Unsupported target "io_util_empty" with type "test" omitted - -# Unsupported target "io_write" with type "test" omitted - -# Unsupported target "io_write_all" with type "test" omitted - -# Unsupported target "io_write_all_buf" with type "test" omitted - -# Unsupported target "io_write_buf" with type "test" omitted - -# Unsupported target "io_write_int" with type "test" omitted - -# Unsupported target "join_handle_panic" with type "test" omitted - -# Unsupported target "macros_join" with type "test" omitted - -# Unsupported target "macros_pin" with type "test" omitted - -# Unsupported target "macros_rename_test" with type "test" omitted - -# Unsupported target "macros_select" with type "test" omitted - -# Unsupported target "macros_test" with type "test" omitted - -# Unsupported target "macros_try_join" with type "test" omitted - -# Unsupported target "named_pipe" with type "test" omitted - -# Unsupported target "net_bind_resource" with type "test" omitted - -# Unsupported target "net_lookup_host" with type "test" omitted - -# Unsupported target "net_panic" with type "test" omitted - -# Unsupported target "no_rt" with type "test" omitted - -# Unsupported target "process_arg0" with type "test" omitted - -# Unsupported target "process_issue_2174" with type "test" omitted - -# Unsupported target "process_issue_42" with type "test" omitted - -# Unsupported target "process_kill_on_drop" with type "test" omitted - -# Unsupported target "process_raw_handle" with type "test" omitted - -# Unsupported target "process_smoke" with type "test" omitted - -# Unsupported target "rt_basic" with type "test" omitted - -# Unsupported target "rt_common" with type "test" omitted - -# Unsupported target "rt_handle_block_on" with type "test" omitted - -# Unsupported target "rt_metrics" with type "test" omitted - -# Unsupported target "rt_panic" with type "test" omitted - -# Unsupported target "rt_threaded" with type "test" omitted - -# Unsupported target "signal_ctrl_c" with type "test" omitted - -# Unsupported target "signal_drop_recv" with type "test" omitted - -# Unsupported target "signal_drop_rt" with type "test" omitted - -# Unsupported target "signal_drop_signal" with type "test" omitted - -# Unsupported target "signal_multi_rt" with type "test" omitted - -# Unsupported target "signal_no_rt" with type "test" omitted - -# Unsupported target "signal_notify_both" with type "test" omitted - -# Unsupported target "signal_panic" with type "test" omitted - -# Unsupported target "signal_twice" with type "test" omitted - -# Unsupported target "signal_usr1" with type "test" omitted - -# Unsupported target "sync_barrier" with type "test" omitted - -# Unsupported target "sync_broadcast" with type "test" omitted - -# Unsupported target "sync_errors" with type "test" omitted - -# Unsupported target "sync_mpsc" with type "test" omitted - -# Unsupported target "sync_mutex" with type "test" omitted - -# Unsupported target "sync_mutex_owned" with type "test" omitted - -# Unsupported target "sync_notify" with type "test" omitted - -# Unsupported target "sync_once_cell" with type "test" omitted - -# Unsupported target "sync_oneshot" with type "test" omitted - -# Unsupported target "sync_panic" with type "test" omitted - -# Unsupported target "sync_rwlock" with type "test" omitted - -# Unsupported target "sync_semaphore" with type "test" omitted - -# Unsupported target "sync_semaphore_owned" with type "test" omitted - -# Unsupported target "sync_watch" with type "test" omitted - -# Unsupported target "task_abort" with type "test" omitted - -# Unsupported target "task_blocking" with type "test" omitted - -# Unsupported target "task_builder" with type "test" omitted - -# Unsupported target "task_join_set" with type "test" omitted - -# Unsupported target "task_local" with type "test" omitted - -# Unsupported target "task_local_set" with type "test" omitted - -# Unsupported target "task_panic" with type "test" omitted - -# Unsupported target "tcp_accept" with type "test" omitted - -# Unsupported target "tcp_connect" with type "test" omitted - -# Unsupported target "tcp_echo" with type "test" omitted - -# Unsupported target "tcp_into_split" with type "test" omitted - -# Unsupported target "tcp_into_std" with type "test" omitted - -# Unsupported target "tcp_peek" with type "test" omitted - -# Unsupported target "tcp_shutdown" with type "test" omitted - -# Unsupported target "tcp_socket" with type "test" omitted - -# Unsupported target "tcp_split" with type "test" omitted - -# Unsupported target "tcp_stream" with type "test" omitted - -# Unsupported target "test_clock" with type "test" omitted - -# Unsupported target "time_interval" with type "test" omitted - -# Unsupported target "time_panic" with type "test" omitted - -# Unsupported target "time_pause" with type "test" omitted - -# Unsupported target "time_rt" with type "test" omitted - -# Unsupported target "time_sleep" with type "test" omitted - -# Unsupported target "time_timeout" with type "test" omitted - -# Unsupported target "udp" with type "test" omitted - -# Unsupported target "uds_cred" with type "test" omitted - -# Unsupported target "uds_datagram" with type "test" omitted - -# Unsupported target "uds_split" with type "test" omitted - -# Unsupported target "uds_stream" with type "test" omitted - -# Unsupported target "unwindsafe" with type "test" omitted diff --git a/cargo/remote/BUILD.tokio-io-timeout-1.1.1.bazel b/cargo/remote/BUILD.tokio-io-timeout-1.1.1.bazel deleted file mode 100644 index 7f0cb0435..000000000 --- a/cargo/remote/BUILD.tokio-io-timeout-1.1.1.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 "//cargo", 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 = "tokio_io_timeout", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=tokio-io-timeout", - "manual", - ], - version = "1.1.1", - # buildifier: leave-alone - deps = [ - "@raze__pin_project_lite__0_2_9//:pin_project_lite", - "@raze__tokio__1_21_1//:tokio", - ], -) diff --git a/cargo/remote/BUILD.tokio-macros-1.8.0.bazel b/cargo/remote/BUILD.tokio-macros-1.8.0.bazel deleted file mode 100644 index da30f19ac..000000000 --- a/cargo/remote/BUILD.tokio-macros-1.8.0.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_proc_macro( - name = "tokio_macros", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=tokio-macros", - "manual", - ], - version = "1.8.0", - # buildifier: leave-alone - deps = [ - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - ], -) diff --git a/cargo/remote/BUILD.tokio-native-tls-0.3.0.bazel b/cargo/remote/BUILD.tokio-native-tls-0.3.0.bazel deleted file mode 100644 index bb61a44f6..000000000 --- a/cargo/remote/BUILD.tokio-native-tls-0.3.0.bazel +++ /dev/null @@ -1,66 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "download-rust-lang" with type "example" omitted - -# Unsupported target "echo" with type "example" omitted - -rust_library( - name = "tokio_native_tls", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=tokio-native-tls", - "manual", - ], - version = "0.3.0", - # buildifier: leave-alone - deps = [ - "@raze__native_tls__0_2_10//:native_tls", - "@raze__tokio__1_21_1//:tokio", - ], -) - -# Unsupported target "bad" with type "test" omitted - -# Unsupported target "google" with type "test" omitted - -# Unsupported target "smoke" with type "test" omitted diff --git a/cargo/remote/BUILD.tokio-rustls-0.22.0.bazel b/cargo/remote/BUILD.tokio-rustls-0.22.0.bazel deleted file mode 100644 index bdc0a4e8e..000000000 --- a/cargo/remote/BUILD.tokio-rustls-0.22.0.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 "//cargo", 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 = "tokio_rustls", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=tokio-rustls", - "manual", - ], - version = "0.22.0", - # buildifier: leave-alone - deps = [ - "@raze__rustls__0_19_1//:rustls", - "@raze__tokio__1_21_1//:tokio", - "@raze__webpki__0_21_4//:webpki", - ], -) - -# Unsupported target "badssl" with type "test" omitted - -# Unsupported target "early-data" with type "test" omitted - -# Unsupported target "test" with type "test" omitted diff --git a/cargo/remote/BUILD.tokio-socks-0.5.1.bazel b/cargo/remote/BUILD.tokio-socks-0.5.1.bazel deleted file mode 100644 index af2127e63..000000000 --- a/cargo/remote/BUILD.tokio-socks-0.5.1.bazel +++ /dev/null @@ -1,72 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "chainproxy" with type "example" omitted - -# Unsupported target "socket" with type "example" omitted - -# Unsupported target "tor" with type "example" omitted - -rust_library( - name = "tokio_socks", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=tokio-socks", - "manual", - ], - version = "0.5.1", - # buildifier: leave-alone - deps = [ - "@raze__either__1_8_0//:either", - "@raze__futures_util__0_3_24//:futures_util", - "@raze__thiserror__1_0_35//:thiserror", - "@raze__tokio__1_21_1//:tokio", - ], -) - -# Unsupported target "common" with type "test" omitted - -# Unsupported target "long_username_password_auth" with type "test" omitted - -# Unsupported target "no_auth" with type "test" omitted - -# Unsupported target "username_auth" with type "test" omitted diff --git a/cargo/remote/BUILD.tokio-util-0.7.4.bazel b/cargo/remote/BUILD.tokio-util-0.7.4.bazel deleted file mode 100644 index 14de03b97..000000000 --- a/cargo/remote/BUILD.tokio-util-0.7.4.bazel +++ /dev/null @@ -1,104 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "tokio_util", - srcs = glob(["**/*.rs"]), - crate_features = [ - "codec", - "default", - "io", - "tracing", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=tokio-util", - "manual", - ], - version = "0.7.4", - # buildifier: leave-alone - deps = [ - "@raze__bytes__1_2_1//:bytes", - "@raze__futures_core__0_3_24//:futures_core", - "@raze__futures_sink__0_3_24//:futures_sink", - "@raze__pin_project_lite__0_2_9//:pin_project_lite", - "@raze__tokio__1_21_1//:tokio", - "@raze__tracing__0_1_36//:tracing", - ], -) - -# Unsupported target "_require_full" with type "test" omitted - -# Unsupported target "codecs" with type "test" omitted - -# Unsupported target "context" with type "test" omitted - -# Unsupported target "framed" with type "test" omitted - -# Unsupported target "framed_read" with type "test" omitted - -# Unsupported target "framed_stream" with type "test" omitted - -# Unsupported target "framed_write" with type "test" omitted - -# Unsupported target "io_reader_stream" with type "test" omitted - -# Unsupported target "io_stream_reader" with type "test" omitted - -# Unsupported target "io_sync_bridge" with type "test" omitted - -# Unsupported target "length_delimited" with type "test" omitted - -# Unsupported target "mpsc" with type "test" omitted - -# Unsupported target "panic" with type "test" omitted - -# Unsupported target "poll_semaphore" with type "test" omitted - -# Unsupported target "reusable_box" with type "test" omitted - -# Unsupported target "spawn_pinned" with type "test" omitted - -# Unsupported target "sync_cancellation_token" with type "test" omitted - -# Unsupported target "task_join_map" with type "test" omitted - -# Unsupported target "time_delay_queue" with type "test" omitted - -# Unsupported target "udp" with type "test" omitted diff --git a/cargo/remote/BUILD.toml-0.5.9.bazel b/cargo/remote/BUILD.toml-0.5.9.bazel deleted file mode 100644 index f4169dffd..000000000 --- a/cargo/remote/BUILD.toml-0.5.9.bazel +++ /dev/null @@ -1,64 +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 "//cargo", 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 "decode" with type "example" omitted - -# Unsupported target "enum_external" with type "example" omitted - -# Unsupported target "toml2json" with type "example" omitted - -rust_library( - name = "toml", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=toml", - "manual", - ], - version = "0.5.9", - # buildifier: leave-alone - deps = [ - "@raze__serde__1_0_145//:serde", - ], -) - -# Unsupported target "enum_external_deserialize" with type "test" omitted diff --git a/cargo/remote/BUILD.tower-service-0.3.2.bazel b/cargo/remote/BUILD.tower-service-0.3.2.bazel deleted file mode 100644 index d46f2793e..000000000 --- a/cargo/remote/BUILD.tower-service-0.3.2.bazel +++ /dev/null @@ -1,54 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "tower_service", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=tower-service", - "manual", - ], - version = "0.3.2", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.tracing-0.1.36.bazel b/cargo/remote/BUILD.tracing-0.1.36.bazel deleted file mode 100644 index f82d01212..000000000 --- a/cargo/remote/BUILD.tracing-0.1.36.bazel +++ /dev/null @@ -1,114 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "baseline" with type "bench" omitted - -# Unsupported target "dispatch_get_clone" with type "bench" omitted - -# Unsupported target "dispatch_get_ref" with type "bench" omitted - -# Unsupported target "empty_span" with type "bench" omitted - -# Unsupported target "enter_span" with type "bench" omitted - -# Unsupported target "event" with type "bench" omitted - -# Unsupported target "shared" with type "bench" omitted - -# Unsupported target "span_fields" with type "bench" omitted - -# Unsupported target "span_no_fields" with type "bench" omitted - -# Unsupported target "span_repeated" with type "bench" omitted - -rust_library( - name = "tracing", - srcs = glob(["**/*.rs"]), - crate_features = [ - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=tracing", - "manual", - ], - version = "0.1.36", - # buildifier: leave-alone - deps = [ - "@raze__cfg_if__1_0_0//:cfg_if", - "@raze__pin_project_lite__0_2_9//:pin_project_lite", - "@raze__tracing_core__0_1_29//:tracing_core", - ], -) - -# Unsupported target "enabled" with type "test" omitted - -# Unsupported target "event" with type "test" omitted - -# Unsupported target "filter_caching_is_lexically_scoped" with type "test" omitted - -# Unsupported target "filters_are_not_reevaluated_for_the_same_span" with type "test" omitted - -# Unsupported target "filters_are_reevaluated_for_different_call_sites" with type "test" omitted - -# Unsupported target "filters_dont_leak" with type "test" omitted - -# Unsupported target "future_send" with type "test" omitted - -# Unsupported target "macro_imports" with type "test" omitted - -# Unsupported target "macros" with type "test" omitted - -# Unsupported target "macros_incompatible_concat" with type "test" omitted - -# Unsupported target "macros_redefined_core" with type "test" omitted - -# Unsupported target "max_level_hint" with type "test" omitted - -# Unsupported target "multiple_max_level_hints" with type "test" omitted - -# Unsupported target "no_subscriber" with type "test" omitted - -# Unsupported target "register_callsite_deadlock" with type "test" omitted - -# Unsupported target "scoped_clobbers_default" with type "test" omitted - -# Unsupported target "span" with type "test" omitted - -# Unsupported target "subscriber" with type "test" omitted diff --git a/cargo/remote/BUILD.tracing-core-0.1.29.bazel b/cargo/remote/BUILD.tracing-core-0.1.29.bazel deleted file mode 100644 index ad5e1723e..000000000 --- a/cargo/remote/BUILD.tracing-core-0.1.29.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "tracing_core", - srcs = glob(["**/*.rs"]), - crate_features = [ - "once_cell", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=tracing-core", - "manual", - ], - version = "0.1.29", - # buildifier: leave-alone - deps = [ - "@raze__once_cell__1_15_0//:once_cell", - ], -) - -# Unsupported target "dispatch" with type "test" omitted - -# Unsupported target "global_dispatch" with type "test" omitted - -# Unsupported target "macros" with type "test" omitted diff --git a/cargo/remote/BUILD.try-lock-0.2.3.bazel b/cargo/remote/BUILD.try-lock-0.2.3.bazel deleted file mode 100644 index d79986c2b..000000000 --- a/cargo/remote/BUILD.try-lock-0.2.3.bazel +++ /dev/null @@ -1,54 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "try_lock", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=try-lock", - "manual", - ], - version = "0.2.3", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.type-map-0.4.0.bazel b/cargo/remote/BUILD.type-map-0.4.0.bazel deleted file mode 100644 index 188218f6f..000000000 --- a/cargo/remote/BUILD.type-map-0.4.0.bazel +++ /dev/null @@ -1,55 +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 "//cargo", 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 = "type_map", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=type-map", - "manual", - ], - version = "0.4.0", - # buildifier: leave-alone - deps = [ - "@raze__rustc_hash__1_1_0//:rustc_hash", - ], -) diff --git a/cargo/remote/BUILD.typenum-1.15.0.bazel b/cargo/remote/BUILD.typenum-1.15.0.bazel deleted file mode 100644 index e7a14030e..000000000 --- a/cargo/remote/BUILD.typenum-1.15.0.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 "//cargo", 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 = "typenum_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build/main.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "1.15.0", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "typenum", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=typenum", - "manual", - ], - version = "1.15.0", - # buildifier: leave-alone - deps = [ - ":typenum_build_script", - ], -) - -# Unsupported target "test" with type "test" omitted diff --git a/cargo/remote/BUILD.unic-char-property-0.9.0.bazel b/cargo/remote/BUILD.unic-char-property-0.9.0.bazel deleted file mode 100644 index 6e5870a4a..000000000 --- a/cargo/remote/BUILD.unic-char-property-0.9.0.bazel +++ /dev/null @@ -1,61 +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 "//cargo", 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 = "unic_char_property", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=unic-char-property", - "manual", - ], - version = "0.9.0", - # buildifier: leave-alone - deps = [ - "@raze__unic_char_range__0_9_0//:unic_char_range", - ], -) - -# Unsupported target "bool_property_macro" with type "test" omitted - -# Unsupported target "enum_property_macro" with type "test" omitted - -# Unsupported target "tables_tests" with type "test" omitted diff --git a/cargo/remote/BUILD.unic-char-range-0.9.0.bazel b/cargo/remote/BUILD.unic-char-range-0.9.0.bazel deleted file mode 100644 index c42beb68d..000000000 --- a/cargo/remote/BUILD.unic-char-range-0.9.0.bazel +++ /dev/null @@ -1,61 +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 "//cargo", 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 "benchmarks" with type "bench" omitted - -# Unsupported target "macro_use_std_tests" with type "example" omitted - -rust_library( - name = "unic_char_range", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=unic-char-range", - "manual", - ], - version = "0.9.0", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "iter_tests" with type "test" omitted diff --git a/cargo/remote/BUILD.unic-common-0.9.0.bazel b/cargo/remote/BUILD.unic-common-0.9.0.bazel deleted file mode 100644 index 00d11eb9f..000000000 --- a/cargo/remote/BUILD.unic-common-0.9.0.bazel +++ /dev/null @@ -1,55 +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 "//cargo", 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 = "unic_common", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=unic-common", - "manual", - ], - version = "0.9.0", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.unic-langid-0.9.0.bazel b/cargo/remote/BUILD.unic-langid-0.9.0.bazel deleted file mode 100644 index 097447073..000000000 --- a/cargo/remote/BUILD.unic-langid-0.9.0.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 "//cargo", 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 = "unic_langid", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "macros", - "unic-langid-macros", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=unic-langid", - "manual", - ], - version = "0.9.0", - # buildifier: leave-alone - deps = [ - "@raze__unic_langid_impl__0_9_0//:unic_langid_impl", - "@raze__unic_langid_macros__0_9_0//:unic_langid_macros", - ], -) diff --git a/cargo/remote/BUILD.unic-langid-impl-0.9.0.bazel b/cargo/remote/BUILD.unic-langid-impl-0.9.0.bazel deleted file mode 100644 index 452ed3f7b..000000000 --- a/cargo/remote/BUILD.unic-langid-impl-0.9.0.bazel +++ /dev/null @@ -1,117 +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 "//cargo", 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 "canonicalize" with type "bench" omitted - -# Unsupported target "langid" with type "bench" omitted - -# Unsupported target "likely_subtags" with type "bench" omitted - -# Unsupported target "parser" with type "bench" omitted - -rust_binary( - # Prefix bin name to disambiguate from (probable) collision with lib name - # N.B.: The exact form of this is subject to change. - name = "cargo_bin_generate_layout", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/bin/generate_layout.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=generate_layout", - "manual", - ], - version = "0.9.0", - # buildifier: leave-alone - deps = [ - ":unic_langid_impl", - "@raze__tinystr__0_3_4//:tinystr", - ], -) - -rust_binary( - # Prefix bin name to disambiguate from (probable) collision with lib name - # N.B.: The exact form of this is subject to change. - name = "cargo_bin_generate_likelysubtags", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/bin/generate_likelysubtags.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=generate_likelysubtags", - "manual", - ], - version = "0.9.0", - # buildifier: leave-alone - deps = [ - ":unic_langid_impl", - "@raze__tinystr__0_3_4//:tinystr", - ], -) - -rust_library( - name = "unic_langid_impl", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=unic-langid-impl", - "manual", - ], - version = "0.9.0", - # buildifier: leave-alone - deps = [ - "@raze__tinystr__0_3_4//:tinystr", - ], -) - -# Unsupported target "likelysubtags" with type "test" omitted diff --git a/cargo/remote/BUILD.unic-langid-macros-0.9.0.bazel b/cargo/remote/BUILD.unic-langid-macros-0.9.0.bazel deleted file mode 100644 index c47a94d17..000000000 --- a/cargo/remote/BUILD.unic-langid-macros-0.9.0.bazel +++ /dev/null @@ -1,60 +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 "//cargo", 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 = "unic_langid_macros", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - proc_macro_deps = [ - "@raze__proc_macro_hack__0_5_19//:proc_macro_hack", - "@raze__unic_langid_macros_impl__0_9_0//:unic_langid_macros_impl", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=unic-langid-macros", - "manual", - ], - version = "0.9.0", - # buildifier: leave-alone - deps = [ - "@raze__tinystr__0_3_4//:tinystr", - "@raze__unic_langid_impl__0_9_0//:unic_langid_impl", - ], -) diff --git a/cargo/remote/BUILD.unic-langid-macros-impl-0.9.0.bazel b/cargo/remote/BUILD.unic-langid-macros-impl-0.9.0.bazel deleted file mode 100644 index b47793514..000000000 --- a/cargo/remote/BUILD.unic-langid-macros-impl-0.9.0.bazel +++ /dev/null @@ -1,60 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT OR Apache-2.0" -]) - -# Generated Targets - -rust_proc_macro( - name = "unic_langid_macros_impl", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - proc_macro_deps = [ - "@raze__proc_macro_hack__0_5_19//:proc_macro_hack", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=unic-langid-macros-impl", - "manual", - ], - version = "0.9.0", - # buildifier: leave-alone - deps = [ - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - "@raze__unic_langid_impl__0_9_0//:unic_langid_impl", - ], -) diff --git a/cargo/remote/BUILD.unic-ucd-category-0.9.0.bazel b/cargo/remote/BUILD.unic-ucd-category-0.9.0.bazel deleted file mode 100644 index fd5570f34..000000000 --- a/cargo/remote/BUILD.unic-ucd-category-0.9.0.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 "//cargo", 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 = "unic_ucd_category", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - compile_data = glob(["**/*.rsv"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=unic-ucd-category", - "manual", - ], - version = "0.9.0", - # buildifier: leave-alone - deps = [ - "@raze__matches__0_1_9//:matches", - "@raze__unic_char_property__0_9_0//:unic_char_property", - "@raze__unic_char_range__0_9_0//:unic_char_range", - "@raze__unic_ucd_version__0_9_0//:unic_ucd_version", - ], -) - -# Unsupported target "basic_tests" with type "test" omitted - -# Unsupported target "major_category_tests" with type "test" omitted - -# Unsupported target "unicode_version_tests" with type "test" omitted diff --git a/cargo/remote/BUILD.unic-ucd-version-0.9.0.bazel b/cargo/remote/BUILD.unic-ucd-version-0.9.0.bazel deleted file mode 100644 index 5c0bccd57..000000000 --- a/cargo/remote/BUILD.unic-ucd-version-0.9.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 "//cargo", 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 = "unic_ucd_version", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - compile_data = glob(["**/*.rsv"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=unic-ucd-version", - "manual", - ], - version = "0.9.0", - # buildifier: leave-alone - deps = [ - "@raze__unic_common__0_9_0//:unic_common", - ], -) - -# Unsupported target "basic_tests" with type "test" omitted diff --git a/cargo/remote/BUILD.unicase-2.6.0.bazel b/cargo/remote/BUILD.unicase-2.6.0.bazel deleted file mode 100644 index 8c1847897..000000000 --- a/cargo/remote/BUILD.unicase-2.6.0.bazel +++ /dev/null @@ -1,85 +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 "//cargo", 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 = "unicase_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 = "2.6.0", - visibility = ["//visibility:private"], - deps = [ - "@raze__version_check__0_9_4//:version_check", - ], -) - -rust_library( - name = "unicase", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=unicase", - "manual", - ], - version = "2.6.0", - # buildifier: leave-alone - deps = [ - ":unicase_build_script", - ], -) diff --git a/cargo/remote/BUILD.unicode-bidi-0.3.8.bazel b/cargo/remote/BUILD.unicode-bidi-0.3.8.bazel deleted file mode 100644 index 874841684..000000000 --- a/cargo/remote/BUILD.unicode-bidi-0.3.8.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 "//cargo", 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 = "unicode_bidi", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "hardcoded-data", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=unicode_bidi", - "manual", - ], - version = "0.3.8", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.unicode-ident-1.0.4.bazel b/cargo/remote/BUILD.unicode-ident-1.0.4.bazel deleted file mode 100644 index 1a1fce2c2..000000000 --- a/cargo/remote/BUILD.unicode-ident-1.0.4.bazel +++ /dev/null @@ -1,60 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "(MIT OR Apache-2.0) AND Unicode-DFS-2016" -]) - -# Generated Targets - -# Unsupported target "xid" with type "bench" omitted - -rust_library( - name = "unicode_ident", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=unicode-ident", - "manual", - ], - version = "1.0.4", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "compare" with type "test" omitted - -# Unsupported target "static_size" with type "test" omitted diff --git a/cargo/remote/BUILD.unicode-normalization-0.1.22.bazel b/cargo/remote/BUILD.unicode-normalization-0.1.22.bazel deleted file mode 100644 index 39ba10b18..000000000 --- a/cargo/remote/BUILD.unicode-normalization-0.1.22.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 "//cargo", 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 = "unicode_normalization", - 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=unicode-normalization", - "manual", - ], - version = "0.1.22", - # buildifier: leave-alone - deps = [ - "@raze__tinyvec__1_6_0//:tinyvec", - ], -) diff --git a/cargo/remote/BUILD.unicode-segmentation-1.10.0.bazel b/cargo/remote/BUILD.unicode-segmentation-1.10.0.bazel deleted file mode 100644 index ba8b5c456..000000000 --- a/cargo/remote/BUILD.unicode-segmentation-1.10.0.bazel +++ /dev/null @@ -1,60 +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 "//cargo", 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 "graphemes" with type "bench" omitted - -# Unsupported target "unicode_words" with type "bench" omitted - -# Unsupported target "word_bounds" with type "bench" omitted - -rust_library( - name = "unicode_segmentation", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=unicode-segmentation", - "manual", - ], - version = "1.10.0", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.unicode-width-0.1.10.bazel b/cargo/remote/BUILD.unicode-width-0.1.10.bazel deleted file mode 100644 index 1a7ca663f..000000000 --- a/cargo/remote/BUILD.unicode-width-0.1.10.bazel +++ /dev/null @@ -1,55 +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 "//cargo", 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 = "unicode_width", - 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-width", - "manual", - ], - version = "0.1.10", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.unindent-0.1.10.bazel b/cargo/remote/BUILD.unindent-0.1.10.bazel deleted file mode 100644 index 72499661d..000000000 --- a/cargo/remote/BUILD.unindent-0.1.10.bazel +++ /dev/null @@ -1,54 +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 "//cargo", 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 = "unindent", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=unindent", - "manual", - ], - version = "0.1.10", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.untrusted-0.7.1.bazel b/cargo/remote/BUILD.untrusted-0.7.1.bazel deleted file mode 100644 index 833451f46..000000000 --- a/cargo/remote/BUILD.untrusted-0.7.1.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # ISC from expression "ISC" -]) - -# Generated Targets - -rust_library( - name = "untrusted", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/untrusted.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=untrusted", - "manual", - ], - version = "0.7.1", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "tests" with type "test" omitted diff --git a/cargo/remote/BUILD.url-2.3.1.bazel b/cargo/remote/BUILD.url-2.3.1.bazel deleted file mode 100644 index 2a7097d9b..000000000 --- a/cargo/remote/BUILD.url-2.3.1.bazel +++ /dev/null @@ -1,68 +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 "//cargo", 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 "parse_url" with type "bench" omitted - -rust_library( - name = "url", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "serde", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=url", - "manual", - ], - version = "2.3.1", - # buildifier: leave-alone - deps = [ - "@raze__form_urlencoded__1_1_0//:form_urlencoded", - "@raze__idna__0_3_0//:idna", - "@raze__percent_encoding__2_2_0//:percent_encoding", - "@raze__serde__1_0_145//:serde", - ], -) - -# Unsupported target "data" with type "test" omitted - -# Unsupported target "debugger_visualizer" with type "test" omitted - -# Unsupported target "unit" with type "test" omitted diff --git a/cargo/remote/BUILD.utf-8-0.7.6.bazel b/cargo/remote/BUILD.utf-8-0.7.6.bazel deleted file mode 100644 index f2f04f6cc..000000000 --- a/cargo/remote/BUILD.utf-8-0.7.6.bazel +++ /dev/null @@ -1,67 +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 "//cargo", 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 "from_utf8_lossy" with type "bench" omitted - -alias( - name = "utf_8", - actual = ":utf8", - tags = [ - "cargo-raze", - "manual", - ], -) - -rust_library( - name = "utf8", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=utf8", - "manual", - ], - version = "0.7.6", - # buildifier: leave-alone - deps = [ - ], -) - -# Unsupported target "unit" with type "test" omitted diff --git a/cargo/remote/BUILD.utf8-decode-1.0.1.bazel b/cargo/remote/BUILD.utf8-decode-1.0.1.bazel deleted file mode 100644 index ef54224f4..000000000 --- a/cargo/remote/BUILD.utf8-decode-1.0.1.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 "//cargo", 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 "safe" with type "example" omitted - -# Unsupported target "unsafe" with type "example" omitted - -rust_library( - name = "utf8_decode", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=utf8-decode", - "manual", - ], - version = "1.0.1", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.utime-0.3.1.bazel b/cargo/remote/BUILD.utime-0.3.1.bazel deleted file mode 100644 index 41ebbe194..000000000 --- a/cargo/remote/BUILD.utime-0.3.1.bazel +++ /dev/null @@ -1,79 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # Apache-2.0 from expression "Apache-2.0 OR MIT" -]) - -# Generated Targets - -rust_library( - name = "utime", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=utime", - "manual", - ], - version = "0.3.1", - # buildifier: leave-alone - deps = [ - ] + selects.with_or({ - # cfg(unix) - ( - "@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-unknown-linux-gnu", - "@rules_rust//rust/platform:x86_64-apple-ios", - ): [ - "@raze__libc__0_2_133//:libc", - ], - "//conditions:default": [], - }) + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi__0_3_9//:winapi", - ], - "//conditions:default": [], - }), -) - -# Unsupported target "utime" with type "test" omitted diff --git a/cargo/remote/BUILD.vcpkg-0.2.15.bazel b/cargo/remote/BUILD.vcpkg-0.2.15.bazel deleted file mode 100644 index d89029479..000000000 --- a/cargo/remote/BUILD.vcpkg-0.2.15.bazel +++ /dev/null @@ -1,54 +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 "//cargo", 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 = "vcpkg", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=vcpkg", - "manual", - ], - version = "0.2.15", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.version_check-0.9.4.bazel b/cargo/remote/BUILD.version_check-0.9.4.bazel deleted file mode 100644 index 8eee132be..000000000 --- a/cargo/remote/BUILD.version_check-0.9.4.bazel +++ /dev/null @@ -1,54 +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 "//cargo", 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 = "version_check", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=version_check", - "manual", - ], - version = "0.9.4", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.walkdir-2.3.2.bazel b/cargo/remote/BUILD.walkdir-2.3.2.bazel deleted file mode 100644 index c944b1e3d..000000000 --- a/cargo/remote/BUILD.walkdir-2.3.2.bazel +++ /dev/null @@ -1,66 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "unencumbered", # Unlicense from expression "Unlicense OR MIT" -]) - -# Generated Targets - -rust_library( - name = "walkdir", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=walkdir", - "manual", - ], - version = "2.3.2", - # buildifier: leave-alone - deps = [ - "@raze__same_file__1_0_6//:same_file", - ] + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi__0_3_9//:winapi", - "@raze__winapi_util__0_1_5//:winapi_util", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.want-0.3.0.bazel b/cargo/remote/BUILD.want-0.3.0.bazel deleted file mode 100644 index fb6f20fcf..000000000 --- a/cargo/remote/BUILD.want-0.3.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "throughput" with type "bench" omitted - -rust_library( - name = "want", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=want", - "manual", - ], - version = "0.3.0", - # buildifier: leave-alone - deps = [ - "@raze__log__0_4_17//:log", - "@raze__try_lock__0_2_3//:try_lock", - ], -) diff --git a/cargo/remote/BUILD.wasi-0.10.0+wasi-snapshot-preview1.bazel b/cargo/remote/BUILD.wasi-0.10.0+wasi-snapshot-preview1.bazel deleted file mode 100644 index c0d3a9c11..000000000 --- a/cargo/remote/BUILD.wasi-0.10.0+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 "//cargo", 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.0+wasi-snapshot-preview1", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel b/cargo/remote/BUILD.wasi-0.11.0+wasi-snapshot-preview1.bazel deleted file mode 100644 index 0cbf8b909..000000000 --- a/cargo/remote/BUILD.wasi-0.11.0+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 "//cargo", 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.11.0+wasi-snapshot-preview1", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.wasi-0.9.0+wasi-snapshot-preview1.bazel b/cargo/remote/BUILD.wasi-0.9.0+wasi-snapshot-preview1.bazel deleted file mode 100644 index e24813586..000000000 --- a/cargo/remote/BUILD.wasi-0.9.0+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 "//cargo", 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.9.0+wasi-snapshot-preview1", - # buildifier: leave-alone - deps = [ - ], -) diff --git a/cargo/remote/BUILD.wasm-bindgen-0.2.83.bazel b/cargo/remote/BUILD.wasm-bindgen-0.2.83.bazel deleted file mode 100644 index b6128d50a..000000000 --- a/cargo/remote/BUILD.wasm-bindgen-0.2.83.bazel +++ /dev/null @@ -1,114 +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 "//cargo", 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 = "wasm_bindgen_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "default", - "serde", - "serde-serialize", - "serde_json", - "spans", - "std", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.2.83", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "wasm_bindgen", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "serde", - "serde-serialize", - "serde_json", - "spans", - "std", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - proc_macro_deps = [ - "@raze__wasm_bindgen_macro__0_2_83//:wasm_bindgen_macro", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=wasm-bindgen", - "manual", - ], - version = "0.2.83", - # buildifier: leave-alone - deps = [ - ":wasm_bindgen_build_script", - "@raze__cfg_if__1_0_0//:cfg_if", - "@raze__serde__1_0_145//:serde", - "@raze__serde_json__1_0_85//:serde_json", - ], -) - -# Unsupported target "headless" with type "test" omitted - -# Unsupported target "must_use" with type "test" omitted - -# Unsupported target "non_wasm" with type "test" omitted - -# Unsupported target "std-crate-no-std-dep" with type "test" omitted - -# Unsupported target "unwrap_throw" with type "test" omitted - -# Unsupported target "wasm" with type "test" omitted diff --git a/cargo/remote/BUILD.wasm-bindgen-backend-0.2.83.bazel b/cargo/remote/BUILD.wasm-bindgen-backend-0.2.83.bazel deleted file mode 100644 index e86ce381f..000000000 --- a/cargo/remote/BUILD.wasm-bindgen-backend-0.2.83.bazel +++ /dev/null @@ -1,62 +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 "//cargo", 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 = "wasm_bindgen_backend", - srcs = glob(["**/*.rs"]), - crate_features = [ - "spans", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=wasm-bindgen-backend", - "manual", - ], - version = "0.2.83", - # buildifier: leave-alone - deps = [ - "@raze__bumpalo__3_11_0//:bumpalo", - "@raze__log__0_4_17//:log", - "@raze__once_cell__1_15_0//:once_cell", - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - "@raze__wasm_bindgen_shared__0_2_83//:wasm_bindgen_shared", - ], -) diff --git a/cargo/remote/BUILD.wasm-bindgen-futures-0.4.33.bazel b/cargo/remote/BUILD.wasm-bindgen-futures-0.4.33.bazel deleted file mode 100644 index ed70264c8..000000000 --- a/cargo/remote/BUILD.wasm-bindgen-futures-0.4.33.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 "//cargo", 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 = "wasm_bindgen_futures", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=wasm-bindgen-futures", - "manual", - ], - version = "0.4.33", - # buildifier: leave-alone - deps = [ - "@raze__cfg_if__1_0_0//:cfg_if", - "@raze__js_sys__0_3_60//:js_sys", - "@raze__wasm_bindgen__0_2_83//:wasm_bindgen", - ], -) - -# Unsupported target "tests" with type "test" omitted diff --git a/cargo/remote/BUILD.wasm-bindgen-macro-0.2.83.bazel b/cargo/remote/BUILD.wasm-bindgen-macro-0.2.83.bazel deleted file mode 100644 index 17bdb975b..000000000 --- a/cargo/remote/BUILD.wasm-bindgen-macro-0.2.83.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT OR Apache-2.0" -]) - -# Generated Targets - -rust_proc_macro( - name = "wasm_bindgen_macro", - srcs = glob(["**/*.rs"]), - crate_features = [ - "spans", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=wasm-bindgen-macro", - "manual", - ], - version = "0.2.83", - # buildifier: leave-alone - deps = [ - "@raze__quote__1_0_21//:quote", - "@raze__wasm_bindgen_macro_support__0_2_83//:wasm_bindgen_macro_support", - ], -) - -# Unsupported target "ui" with type "test" omitted diff --git a/cargo/remote/BUILD.wasm-bindgen-macro-support-0.2.83.bazel b/cargo/remote/BUILD.wasm-bindgen-macro-support-0.2.83.bazel deleted file mode 100644 index 973534ce8..000000000 --- a/cargo/remote/BUILD.wasm-bindgen-macro-support-0.2.83.bazel +++ /dev/null @@ -1,60 +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 "//cargo", 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 = "wasm_bindgen_macro_support", - srcs = glob(["**/*.rs"]), - crate_features = [ - "spans", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=wasm-bindgen-macro-support", - "manual", - ], - version = "0.2.83", - # buildifier: leave-alone - deps = [ - "@raze__proc_macro2__1_0_43//:proc_macro2", - "@raze__quote__1_0_21//:quote", - "@raze__syn__1_0_100//:syn", - "@raze__wasm_bindgen_backend__0_2_83//:wasm_bindgen_backend", - "@raze__wasm_bindgen_shared__0_2_83//:wasm_bindgen_shared", - ], -) diff --git a/cargo/remote/BUILD.wasm-bindgen-shared-0.2.83.bazel b/cargo/remote/BUILD.wasm-bindgen-shared-0.2.83.bazel deleted file mode 100644 index 3b8a9436d..000000000 --- a/cargo/remote/BUILD.wasm-bindgen-shared-0.2.83.bazel +++ /dev/null @@ -1,85 +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 "//cargo", 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 = "wasm_bindgen_shared_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - links = "wasm_bindgen", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.2.83", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "wasm_bindgen_shared", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=wasm-bindgen-shared", - "manual", - ], - version = "0.2.83", - # buildifier: leave-alone - deps = [ - ":wasm_bindgen_shared_build_script", - ], -) diff --git a/cargo/remote/BUILD.web-sys-0.3.60.bazel b/cargo/remote/BUILD.web-sys-0.3.60.bazel deleted file mode 100644 index 9524dbbe0..000000000 --- a/cargo/remote/BUILD.web-sys-0.3.60.bazel +++ /dev/null @@ -1,75 +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 "//cargo", 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 = "web_sys", - srcs = glob(["**/*.rs"]), - crate_features = [ - "Blob", - "BlobPropertyBag", - "Crypto", - "Event", - "EventTarget", - "FormData", - "Headers", - "MessageEvent", - "Request", - "RequestCredentials", - "RequestInit", - "RequestMode", - "Response", - "ServiceWorkerGlobalScope", - "Window", - "Worker", - "WorkerGlobalScope", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=web-sys", - "manual", - ], - version = "0.3.60", - # buildifier: leave-alone - deps = [ - "@raze__js_sys__0_3_60//:js_sys", - "@raze__wasm_bindgen__0_2_83//:wasm_bindgen", - ], -) - -# Unsupported target "wasm" with type "test" omitted diff --git a/cargo/remote/BUILD.webpki-0.21.4.bazel b/cargo/remote/BUILD.webpki-0.21.4.bazel deleted file mode 100644 index 483ffa6b9..000000000 --- a/cargo/remote/BUILD.webpki-0.21.4.bazel +++ /dev/null @@ -1,64 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "restricted", # no license -]) - -# Generated Targets - -rust_library( - name = "webpki", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "std", - "trust_anchor_util", - ], - crate_root = "src/webpki.rs", - data = [], - compile_data = glob(["src/**/*.der"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=webpki", - "manual", - ], - version = "0.21.4", - # buildifier: leave-alone - deps = [ - "@raze__ring__0_16_20//:ring", - "@raze__untrusted__0_7_1//:untrusted", - ], -) - -# Unsupported target "dns_name_tests" with type "test" omitted - -# Unsupported target "integration" with type "test" omitted diff --git a/cargo/remote/BUILD.webpki-roots-0.21.1.bazel b/cargo/remote/BUILD.webpki-roots-0.21.1.bazel deleted file mode 100644 index b6a416313..000000000 --- a/cargo/remote/BUILD.webpki-roots-0.21.1.bazel +++ /dev/null @@ -1,81 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "reciprocal", # MPL-2.0 from expression "MPL-2.0" -]) - -# Generated Targets - -rust_binary( - # Prefix bin name to disambiguate from (probable) collision with lib name - # N.B.: The exact form of this is subject to change. - name = "cargo_bin_process_cert", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/bin/process_cert.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=process_cert", - "manual", - ], - version = "0.21.1", - # buildifier: leave-alone - deps = [ - ":webpki_roots", - "@raze__webpki__0_21_4//:webpki", - ], -) - -rust_library( - name = "webpki_roots", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=webpki-roots", - "manual", - ], - version = "0.21.1", - # buildifier: leave-alone - deps = [ - "@raze__webpki__0_21_4//:webpki", - ], -) diff --git a/cargo/remote/BUILD.which-4.3.0.bazel b/cargo/remote/BUILD.which-4.3.0.bazel deleted file mode 100644 index 55a2f8f3d..000000000 --- a/cargo/remote/BUILD.which-4.3.0.bazel +++ /dev/null @@ -1,68 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -rust_library( - name = "which", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=which", - "manual", - ], - version = "4.3.0", - # buildifier: leave-alone - deps = [ - "@raze__either__1_8_0//:either", - "@raze__libc__0_2_133//:libc", - ] + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__once_cell__1_15_0//:once_cell", - ], - "//conditions:default": [], - }), -) - -# Unsupported target "basic" with type "test" omitted diff --git a/cargo/remote/BUILD.winapi-0.3.9.bazel b/cargo/remote/BUILD.winapi-0.3.9.bazel deleted file mode 100644 index 1e198e994..000000000 --- a/cargo/remote/BUILD.winapi-0.3.9.bazel +++ /dev/null @@ -1,154 +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 "//cargo", 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 = "winapi_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "accctrl", - "aclapi", - "activation", - "combaseapi", - "consoleapi", - "errhandlingapi", - "fileapi", - "handleapi", - "impl-debug", - "impl-default", - "knownfolders", - "minwinbase", - "minwindef", - "namedpipeapi", - "ntdef", - "ntsecapi", - "objbase", - "processenv", - "processthreadsapi", - "profileapi", - "roapi", - "shlobj", - "std", - "sysinfoapi", - "threadpoollegacyapiset", - "timezoneapi", - "winbase", - "wincon", - "winerror", - "winnt", - "winreg", - "winstring", - "ws2ipdef", - "ws2tcpip", - "wtypesbase", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.3.9", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "winapi", - srcs = glob(["**/*.rs"]), - crate_features = [ - "accctrl", - "aclapi", - "activation", - "combaseapi", - "consoleapi", - "errhandlingapi", - "fileapi", - "handleapi", - "impl-debug", - "impl-default", - "knownfolders", - "minwinbase", - "minwindef", - "namedpipeapi", - "ntdef", - "ntsecapi", - "objbase", - "processenv", - "processthreadsapi", - "profileapi", - "roapi", - "shlobj", - "std", - "sysinfoapi", - "threadpoollegacyapiset", - "timezoneapi", - "winbase", - "wincon", - "winerror", - "winnt", - "winreg", - "winstring", - "ws2ipdef", - "ws2tcpip", - "wtypesbase", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=winapi", - "manual", - ], - version = "0.3.9", - # buildifier: leave-alone - deps = [ - ":winapi_build_script", - ], -) diff --git a/cargo/remote/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel b/cargo/remote/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel deleted file mode 100644 index 8c055b8ce..000000000 --- a/cargo/remote/BUILD.winapi-i686-pc-windows-gnu-0.4.0.bazel +++ /dev/null @@ -1,84 +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 "//cargo", 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 = "winapi_i686_pc_windows_gnu_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.4.0", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "winapi_i686_pc_windows_gnu", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=winapi-i686-pc-windows-gnu", - "manual", - ], - version = "0.4.0", - # buildifier: leave-alone - deps = [ - ":winapi_i686_pc_windows_gnu_build_script", - ], -) diff --git a/cargo/remote/BUILD.winapi-util-0.1.5.bazel b/cargo/remote/BUILD.winapi-util-0.1.5.bazel deleted file mode 100644 index b65d096e3..000000000 --- a/cargo/remote/BUILD.winapi-util-0.1.5.bazel +++ /dev/null @@ -1,64 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "unencumbered", # Unlicense from expression "Unlicense OR MIT" -]) - -# Generated Targets - -rust_library( - name = "winapi_util", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=winapi-util", - "manual", - ], - version = "0.1.5", - # buildifier: leave-alone - deps = [ - ] + selects.with_or({ - # cfg(windows) - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__winapi__0_3_9//:winapi", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel b/cargo/remote/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel deleted file mode 100644 index e96cfa90f..000000000 --- a/cargo/remote/BUILD.winapi-x86_64-pc-windows-gnu-0.4.0.bazel +++ /dev/null @@ -1,84 +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 "//cargo", 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 = "winapi_x86_64_pc_windows_gnu_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.4.0", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "winapi_x86_64_pc_windows_gnu", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=winapi-x86_64-pc-windows-gnu", - "manual", - ], - version = "0.4.0", - # buildifier: leave-alone - deps = [ - ":winapi_x86_64_pc_windows_gnu_build_script", - ], -) diff --git a/cargo/remote/BUILD.windows-sys-0.36.1.bazel b/cargo/remote/BUILD.windows-sys-0.36.1.bazel deleted file mode 100644 index 86bb47620..000000000 --- a/cargo/remote/BUILD.windows-sys-0.36.1.bazel +++ /dev/null @@ -1,83 +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 "//cargo", 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 = "windows_sys", - srcs = glob(["**/*.rs"]), - aliases = { - }, - crate_features = [ - "Win32", - "Win32_Foundation", - "Win32_Networking", - "Win32_Networking_WinSock", - "Win32_Security", - "Win32_Security_Authentication", - "Win32_Security_Authentication_Identity", - "Win32_Security_Credentials", - "Win32_Security_Cryptography", - "Win32_Storage", - "Win32_Storage_FileSystem", - "Win32_System", - "Win32_System_IO", - "Win32_System_LibraryLoader", - "Win32_System_Memory", - "Win32_System_Pipes", - "Win32_System_SystemServices", - "Win32_System_WindowsProgramming", - "default", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=windows-sys", - "manual", - ], - version = "0.36.1", - # buildifier: leave-alone - deps = [ - ] + selects.with_or({ - # x86_64-pc-windows-msvc - ( - "@rules_rust//rust/platform:x86_64-pc-windows-msvc", - ): [ - "@raze__windows_x86_64_msvc__0_36_1//:windows_x86_64_msvc", - ], - "//conditions:default": [], - }), -) diff --git a/cargo/remote/BUILD.windows_aarch64_msvc-0.36.1.bazel b/cargo/remote/BUILD.windows_aarch64_msvc-0.36.1.bazel deleted file mode 100644 index 56f0940e7..000000000 --- a/cargo/remote/BUILD.windows_aarch64_msvc-0.36.1.bazel +++ /dev/null @@ -1,84 +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 "//cargo", 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 = "windows_aarch64_msvc_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.36.1", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "windows_aarch64_msvc", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=windows_aarch64_msvc", - "manual", - ], - version = "0.36.1", - # buildifier: leave-alone - deps = [ - ":windows_aarch64_msvc_build_script", - ], -) diff --git a/cargo/remote/BUILD.windows_i686_gnu-0.36.1.bazel b/cargo/remote/BUILD.windows_i686_gnu-0.36.1.bazel deleted file mode 100644 index 0181661d3..000000000 --- a/cargo/remote/BUILD.windows_i686_gnu-0.36.1.bazel +++ /dev/null @@ -1,84 +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 "//cargo", 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 = "windows_i686_gnu_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.36.1", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "windows_i686_gnu", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=windows_i686_gnu", - "manual", - ], - version = "0.36.1", - # buildifier: leave-alone - deps = [ - ":windows_i686_gnu_build_script", - ], -) diff --git a/cargo/remote/BUILD.windows_i686_msvc-0.36.1.bazel b/cargo/remote/BUILD.windows_i686_msvc-0.36.1.bazel deleted file mode 100644 index 274f96194..000000000 --- a/cargo/remote/BUILD.windows_i686_msvc-0.36.1.bazel +++ /dev/null @@ -1,84 +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 "//cargo", 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 = "windows_i686_msvc_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.36.1", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "windows_i686_msvc", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=windows_i686_msvc", - "manual", - ], - version = "0.36.1", - # buildifier: leave-alone - deps = [ - ":windows_i686_msvc_build_script", - ], -) diff --git a/cargo/remote/BUILD.windows_x86_64_gnu-0.36.1.bazel b/cargo/remote/BUILD.windows_x86_64_gnu-0.36.1.bazel deleted file mode 100644 index 15771fdfc..000000000 --- a/cargo/remote/BUILD.windows_x86_64_gnu-0.36.1.bazel +++ /dev/null @@ -1,84 +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 "//cargo", 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 = "windows_x86_64_gnu_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.36.1", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "windows_x86_64_gnu", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=windows_x86_64_gnu", - "manual", - ], - version = "0.36.1", - # buildifier: leave-alone - deps = [ - ":windows_x86_64_gnu_build_script", - ], -) diff --git a/cargo/remote/BUILD.windows_x86_64_msvc-0.36.1.bazel b/cargo/remote/BUILD.windows_x86_64_msvc-0.36.1.bazel deleted file mode 100644 index 8fc9f2061..000000000 --- a/cargo/remote/BUILD.windows_x86_64_msvc-0.36.1.bazel +++ /dev/null @@ -1,84 +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 "//cargo", 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 = "windows_x86_64_msvc_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.36.1", - visibility = ["//visibility:private"], - deps = [ - ], -) - -rust_library( - name = "windows_x86_64_msvc", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=windows_x86_64_msvc", - "manual", - ], - version = "0.36.1", - # buildifier: leave-alone - deps = [ - ":windows_x86_64_msvc_build_script", - ], -) diff --git a/cargo/remote/BUILD.winreg-0.7.0.bazel b/cargo/remote/BUILD.winreg-0.7.0.bazel deleted file mode 100644 index cef009007..000000000 --- a/cargo/remote/BUILD.winreg-0.7.0.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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "basic_usage" with type "example" omitted - -# Unsupported target "enum" with type "example" omitted - -# Unsupported target "installed_apps" with type "example" omitted - -# Unsupported target "serialization" with type "example" omitted - -# Unsupported target "transactions" with type "example" omitted - -rust_library( - name = "winreg", - srcs = glob(["**/*.rs"]), - crate_features = [ - ], - crate_root = "src/lib.rs", - data = [], - edition = "2015", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=winreg", - "manual", - ], - version = "0.7.0", - # buildifier: leave-alone - deps = [ - "@raze__winapi__0_3_9//:winapi", - ], -) diff --git a/cargo/remote/BUILD.zip-0.6.2.bazel b/cargo/remote/BUILD.zip-0.6.2.bazel deleted file mode 100644 index 35f59ef9e..000000000 --- a/cargo/remote/BUILD.zip-0.6.2.bazel +++ /dev/null @@ -1,89 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "read_entry" with type "bench" omitted - -# Unsupported target "extract" with type "example" omitted - -# Unsupported target "extract_lorem" with type "example" omitted - -# Unsupported target "file_info" with type "example" omitted - -# Unsupported target "stdin_info" with type "example" omitted - -# Unsupported target "write_dir" with type "example" omitted - -# Unsupported target "write_sample" with type "example" omitted - -rust_library( - name = "zip", - srcs = glob(["**/*.rs"]), - crate_features = [ - "deflate", - "flate2", - "time", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=zip", - "manual", - ], - version = "0.6.2", - # buildifier: leave-alone - deps = [ - "@raze__byteorder__1_4_3//:byteorder", - "@raze__crc32fast__1_3_2//:crc32fast", - "@raze__flate2__1_0_24//:flate2", - "@raze__time__0_3_14//:time", - ], -) - -# Unsupported target "aes_encryption" with type "test" omitted - -# Unsupported target "end_to_end" with type "test" omitted - -# Unsupported target "invalid_date" with type "test" omitted - -# Unsupported target "issue_234" with type "test" omitted - -# Unsupported target "zip64_large" with type "test" omitted - -# Unsupported target "zip_comment_garbage" with type "test" omitted - -# Unsupported target "zip_crypto" with type "test" omitted diff --git a/cargo/remote/BUILD.zstd-0.11.2+zstd.1.5.2.bazel b/cargo/remote/BUILD.zstd-0.11.2+zstd.1.5.2.bazel deleted file mode 100644 index b0f52ede4..000000000 --- a/cargo/remote/BUILD.zstd-0.11.2+zstd.1.5.2.bazel +++ /dev/null @@ -1,70 +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 "//cargo", which limits external - # visibility to explicit Cargo.toml dependencies. - "//visibility:public", -]) - -licenses([ - "notice", # MIT from expression "MIT" -]) - -# Generated Targets - -# Unsupported target "benchmark" with type "example" omitted - -# Unsupported target "stream" with type "example" omitted - -# Unsupported target "train" with type "example" omitted - -# Unsupported target "zstd" with type "example" omitted - -# Unsupported target "zstdcat" with type "example" omitted - -rust_library( - name = "zstd", - srcs = glob(["**/*.rs"]), - crate_features = [ - "arrays", - "default", - "legacy", - "zdict_builder", - "zstdmt", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=zstd", - "manual", - ], - version = "0.11.2+zstd.1.5.2", - # buildifier: leave-alone - deps = [ - "@raze__zstd_safe__5_0_2_zstd_1_5_2//:zstd_safe", - ], -) diff --git a/cargo/remote/BUILD.zstd-safe-5.0.2+zstd.1.5.2.bazel b/cargo/remote/BUILD.zstd-safe-5.0.2+zstd.1.5.2.bazel deleted file mode 100644 index 0e4864a3d..000000000 --- a/cargo/remote/BUILD.zstd-safe-5.0.2+zstd.1.5.2.bazel +++ /dev/null @@ -1,97 +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 "//cargo", 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 = "zstd_safe_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "arrays", - "legacy", - "std", - "zdict_builder", - "zstdmt", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "5.0.2+zstd.1.5.2", - visibility = ["//visibility:private"], - deps = [ - "@raze__zstd_sys__2_0_1_zstd_1_5_2//:zstd_sys", - ], -) - -rust_library( - name = "zstd_safe", - srcs = glob(["**/*.rs"]), - crate_features = [ - "arrays", - "legacy", - "std", - "zdict_builder", - "zstdmt", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=zstd-safe", - "manual", - ], - version = "5.0.2+zstd.1.5.2", - # buildifier: leave-alone - deps = [ - ":zstd_safe_build_script", - "@raze__libc__0_2_133//:libc", - "@raze__zstd_sys__2_0_1_zstd_1_5_2//:zstd_sys", - ], -) diff --git a/cargo/remote/BUILD.zstd-sys-2.0.1+zstd.1.5.2.bazel b/cargo/remote/BUILD.zstd-sys-2.0.1+zstd.1.5.2.bazel deleted file mode 100644 index 61f022257..000000000 --- a/cargo/remote/BUILD.zstd-sys-2.0.1+zstd.1.5.2.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 "//cargo", 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 = "zstd_sys_build_script", - srcs = glob(["**/*.rs"]), - build_script_env = { - }, - crate_features = [ - "legacy", - "std", - "zdict_builder", - "zstdmt", - ], - crate_root = "build.rs", - data = glob(["**"]), - edition = "2018", - links = "zstd", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "2.0.1+zstd.1.5.2", - visibility = ["//visibility:private"], - deps = [ - "@raze__cc__1_0_73//:cc", - ], -) - -rust_library( - name = "zstd_sys", - srcs = glob(["**/*.rs"]), - crate_features = [ - "legacy", - "std", - "zdict_builder", - "zstdmt", - ], - crate_root = "src/lib.rs", - data = [], - edition = "2018", - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "crate-name=zstd-sys", - "manual", - ], - version = "2.0.1+zstd.1.5.2", - # buildifier: leave-alone - deps = [ - ":zstd_sys_build_script", - "@raze__libc__0_2_133//:libc", - ], -) diff --git a/cargo/update-licenses.sh b/cargo/update-licenses.sh new file mode 100755 index 000000000..7f15adc1d --- /dev/null +++ b/cargo/update-licenses.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +cargo-license --features rustls native-tls --json --manifest-path ../rslib/Cargo.toml > licenses.json diff --git a/cargo/update.py b/cargo/update.py deleted file mode 100755 index 0f33f8fa9..000000000 --- a/cargo/update.py +++ /dev/null @@ -1,174 +0,0 @@ -#!/usr/bin/env python3 -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -# -# See README.md - -# If you get a message like the following during a build: -# -# DEBUG: Rule 'raze__reqwest__0_10_8' indicated that a canonical reproducible -# form can be obtained by modifying arguments shallow_since = "1604362745 +1000" - -# ...then the commit and shallow_since argument should be added below, as this -# will remove the debug warning, and speed up the git clone. - -COMMITS_SHALLOW_SINCE = { - # reqwest - must also update crates.bzl reference below - "7591444614de02b658ddab125efba7b2bb4e2335": "1619519742 +1000", - # hyper-timeout - "0cb6f7d14c62819e37cd221736f8b0555e823712": "1619519657 +1000", - # tokio-io-timeout - "1ee0892217e9a76bba4bb369ec5fab8854935a3c": "1619517354 +1000", - # pct-str - "4adccd8d4a222ab2672350a102f06ae832a0572d": "1605376517 +0100", - # linkcheck - "2f20798ce521cc594d510d4e417e76d5eac04d4b": "1626729019 +0200", - # rust-csv - "1c9d3aab6f79a7d815c69f925a46a4590c115f90": "1654675287 +1000", -} - -import glob -import os -import re -import shutil -import subprocess -import sys - -if os.getcwd() != os.path.abspath(os.path.dirname(__file__)): - print("Run this from the cargo/ folder") - sys.exit(1) - - -def update_cargo_lock(): - # update Cargo.lock - subprocess.run(["cargo", "update"], check=True) - - -def run_cargo_raze(): - # generate cargo-raze files - subprocess.run(["cargo-raze"], cwd="..", check=True) - - -def write_licenses(): - # dump licenses - result = subprocess.check_output(["cargo-license", "-j"], cwd="../rslib") - with open("licenses.json", "wb") as file: - file.write(result) - - # export license file - with open("BUILD.bazel", "a", encoding="utf8") as file: - file.write( - """ -exports_files(["licenses.json"]) -""" - ) - - -def update_crates_bzl(): - output_lines = [] - commit_re = re.compile(r'\s+commit = "([0-9a-f]+)",') - reqwest_build_prefix = re.compile(r"/remote:BUILD.reqwest-\d+\.\d+\.\d+") - - with open("crates.bzl") as file: - for line in file.readlines(): - # update shallow-since references for git crates - if match := commit_re.match(line): - commit = match.group(1) - if commit in line: - if since := COMMITS_SHALLOW_SINCE.get(commit): - output_lines.append(f' shallow_since = "{since}",\n') - else: - print(f"{commit} not in COMMITS_SHALLOW_SINCE") - - # use our custom reqwest build file - if match := reqwest_build_prefix.search(line): - line = line.replace(match.group(0), ":BUILD.reqwest.native") - - output_lines.append(line) - - with open("crates.bzl", "w") as file: - for line in output_lines: - file.write(line) - - # add rustls version - file.write( - "\n".join( - " " * 4 + l - for l in """ -maybe( - new_git_repository, - name = "reqwest_rustls", - remote = "https://github.com/ankitects/reqwest.git", - shallow_since = "1619519742 +1000", - commit = "7591444614de02b658ddab125efba7b2bb4e2335", - build_file = Label("//cargo:BUILD.reqwest.rustls.bazel"), - init_submodules = True, -) -""".splitlines() - ) - ) - - -def generated_reqwest_build_file(): - return glob.glob("remote/*reqwest-0.11.3*")[0] - - -def update_deps(): - "Update version numbers in our custom reqwest build files." - dep_with_version = re.compile(r"@raze__(.+?)__([\d_]+)//") - - version_map = {} - with open(generated_reqwest_build_file(), encoding="utf8") as file: - for line in file.readlines(): - if match := dep_with_version.search(line): - version_map[match.group(1)] = match.group(2) - - for path in "BUILD.reqwest.native.bazel", "BUILD.reqwest.rustls.bazel": - with open(path, "r+", encoding="utf8") as file: - - def repl(m): - name = m.group(1) - current_version = m.group(2) - new_version = version_map.get(name) - return m.group(0).replace(current_version, new_version) - - data = dep_with_version.sub(repl, file.read()) - file.seek(0) - file.write(data) - - with open("remote/BUILD.linkcheck-0.4.1-alpha.0.bazel") as f: - out = [] - for line in f.readlines(): - line = line.replace( - "@raze__reqwest__0_11_4//:reqwest", "@reqwest_rustls//:reqwest" - ) - out.append(line) - with open("remote/BUILD.linkcheck-0.4.1-alpha.0.bazel", "w") as f: - f.writelines(out) - - with open("BUILD.term-0.7.0.bazel") as f: - buf = f.read() - with open("remote/BUILD.term-0.7.0.bazel", "w") as f: - f.write(buf) - - -def stage_commit(): - subprocess.run( - [ - "git", - "add", - ".", - "../Cargo.lock", - "../rslib/cargo/BUILD.bazel", - "../pylib/rsbridge/BUILD.bazel", - ] - ) - - -if os.getenv("REPIN"): - update_cargo_lock() -run_cargo_raze() -write_licenses() -update_crates_bzl() -update_deps() -stage_commit() diff --git a/defs.bzl b/defs.bzl deleted file mode 100644 index fc26bc0bf..000000000 --- a/defs.bzl +++ /dev/null @@ -1,72 +0,0 @@ -load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") -load("@bazel_skylib//lib:versions.bzl", "versions") -load("@rules_rust//rust:repositories.bzl", "rust_repositories") -load("@ankidesktop//cargo:crates.bzl", "raze_fetch_remote_crates") -load("//python:python.bzl", "setup_local_python") -load("//proto:protobuf.bzl", "setup_protobuf_binary") -load("//proto:clang_format.bzl", "setup_clang_format") -load("@build_bazel_rules_nodejs//:index.bzl", "node_repositories", "yarn_install") -load("@io_bazel_rules_sass//:defs.bzl", "sass_repositories") -load("//python/pyqt:defs.bzl", "install_pyqt") -load("@rules_python//python:pip.bzl", "pip_parse") - -anki_version = "2.1.55" - -def setup_deps(): - bazel_skylib_workspace() - - versions.check(minimum_bazel_version = "3.7.0") - - rust_repositories( - edition = "2021", - include_rustc_srcs = False, - version = "1.64.0", - ) - - raze_fetch_remote_crates() - - setup_local_python(name = "python") - - setup_protobuf_binary(name = "com_google_protobuf") - - setup_clang_format(name = "clang_format") - - native.register_toolchains("@python//:python3_toolchain") - - pip_parse( - name = "py_deps", - requirements_lock = "@ankidesktop//python:requirements.txt", - python_interpreter_target = "@python//:python", - extra_pip_args = ["--require-hashes"], - ) - - install_pyqt( - name = "pyqt6", - python_runtime = "@python//:python", - requirements = "//python/pyqt:6/requirements.txt", - ) - - install_pyqt( - name = "pyqt515", - python_runtime = "@python//:python", - requirements = "//python/pyqt:5_15/requirements.txt", - ) - - install_pyqt( - name = "pyqt514", - python_runtime = "@python//:python", - requirements = "//python/pyqt:5_14/requirements.txt", - ) - - node_repositories( - package_json = ["@ankidesktop//:package.json"], - node_version = "16.13.2", - ) - - yarn_install( - name = "npm", - package_json = "@ankidesktop//:package.json", - yarn_lock = "@ankidesktop//:yarn.lock", - ) - - sass_repositories() diff --git a/docs/BUILD.bazel b/docs/BUILD.bazel deleted file mode 100644 index 23af06ebb..000000000 --- a/docs/BUILD.bazel +++ /dev/null @@ -1,4 +0,0 @@ -load("//ts:prettier.bzl", "prettier_test") - -# formatting of the .md files -prettier_test() diff --git a/docs/build.md b/docs/build.md new file mode 100644 index 000000000..86b98b065 --- /dev/null +++ b/docs/build.md @@ -0,0 +1,36 @@ +# The build system + +## Basic use + +Basic use is described in [development.md](./development.md). + +## Architecture + +The build/ folder is made up of 4 packages: + +- build/configure defines the actions and inputs/outputs of the build graph - + this is where you add new build steps or modify existing ones. The defined + actions are converted at build time to a build.ninja file that Ninja executes. +- build/ninja_gen is a library for writing a build.ninja file, and includes + various rules like "build a Rust crate" or "run a command". +- build/archives is a helper to download/checksum/extract a dependency as part + of the build process. +- build/runner serves a number of purposes: + - it's the entrypoint to the build process, taking care of generating + the build file and then invoking Ninja + - it wraps executable invocations in the build file, swallowing their output + if they exit successfully + - it provides a few helpers for multi-step processes that can't be easily + described in a cross-platform manner thanks to differences on Windows. + +## Tracing build problems + +If you run into trouble with the build process: + +- You can see the executed commands with e.g. `./ninja pylib/anki -v` +- You can see the output of successful commands by defining OUTPUT_SUCCESS=1 +- You can see what's triggering a rebuild of a target with e.g. + `./ninja qt/anki -d explain`. +- You can browse the build graph via e.g. `./ninja -- -t browse wheels` +- You can profile build performance with + https://discourse.cmake.org/t/profiling-build-performance/2443/3. diff --git a/docs/contributing.md b/docs/contributing.md index 910fbf2a9..2a8717557 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -96,13 +96,13 @@ https://translating.ankiweb.net/anki/developers ## Tests Must Pass -Please make sure 'bazel test //...' completes successfully before submitting code. +Please make sure 'ninja check' completes successfully before submitting code. You can do this automatically by adding the following into .git/hooks/pre-commit or .git/hooks/pre-push and making it executable. ```sh #!/bin/bash -bazel test //... +./ninja check ``` You may want to explicitly set PATH to your normal shell PATH in that script, diff --git a/docs/development.md b/docs/development.md index 5ac6b6413..69936cce8 100644 --- a/docs/development.md +++ b/docs/development.md @@ -11,14 +11,14 @@ https://betas.ankiweb.net/ Pre-built Python packages are available on PyPI. They are useful if you wish to: -- Run Anki from a local Python installation without building it yourself -- Get code completion when developing add-ons -- Make command line scripts that modify .anki2 files via Anki's Python libraries +- Run Anki from a local Python installation without building it yourself +- Get code completion when developing add-ons +- Make command line scripts that modify .anki2 files via Anki's Python libraries -You will need the 64 bit version of Python 3.9 or 3.10 installed. 3.9 is recommended, -as Anki has only received minimal testing on 3.10 so far, and some dependencies have not -been fully updated yet. On Windows, only 3.9 will work. You can install Python from -python.org or from your distro. +You will need the 64 bit version of Python 3.9 or 3.10 installed. 3.9 is +recommended, as Anki has only received minimal testing on 3.10 so far, and some +dependencies have not been fully updated yet. On Windows, currently only 3.9 +will work. You can install Python from python.org or from your distro. For further instructions, please see https://betas.ankiweb.net/#via-pypipip. Note that in the provided commands, `--pre` tells pip to fetch alpha/beta versions. If you remove @@ -26,52 +26,105 @@ in the provided commands, `--pre` tells pip to fetch alpha/beta versions. If you ## Building from source -Platform-specific instructions: +On all platforms, you will need to install: -- [Windows](./windows.md) -- [Mac](./mac.md) -- [Linux](./linux.md) -- [Other Platforms](./new-platform.md) +- Rustup (https://rustup.rs/). The Rust version pinned in rust-toolchain.toml + will be automatically downloaded if not yet installed. If removing that file + to use a distro-provided Rust, newer Rust versions will typically work for + building but may fail tests; older Rust versions may not work at all. +- Ninja (unzip from https://github.com/ninja-build/ninja/releases/tag/v1.11.1 and + place on your path, or from your distro if it's 1.10+) -Before contributing code, please see [Contributing](./contributing.md). +Platform-specific requirements: -If you'd like to contribute translations, please see . +- [Windows](./windows.md) +- [Mac](./mac.md) +- [Linux](./linux.md) + +## Running Anki during development + +From the top level of Anki's source folder: + +``` +./run +``` + +(`.\run` on Windows) + +This will build Anki and run it in place. + +The first build will take a while, as it downloads and builds a bunch of +dependencies. When the build is complete, Anki will automatically start. + +## Running tests/checks + +To run all tests at once, from the top-level folder: + +``` +./ninja check +``` + +(`tools\ninja check` on Windows). + +You can also run specific checks. For example, if you see during the checks +that `check:svelte:editor` is failing, you can use `./ninja check:svelte:editor` +to re-run that check, or `./ninja check:svelte` to re-run all Svelte checks. + +## Fixing formatting + +When formatting issues are reported, they can be fixed with + +``` +./ninja format +``` + +## Fixing eslint/copyright header issues + +``` +./ninja fix +``` + +## Fixing clippy issues + +``` +cargo clippy --fix +``` + +## Optimized builds + +The `./run` command will create a non-optimized build by default. This is faster +to compile, but will mean Anki will run slower. + +To run Anki in optimized mode, use: + +``` +./tools/runopt +``` + +Or set RELEASE=1. ## Building redistributable wheels The `./run` method described in the platform-specific instructions is a shortcut -for starting Anki directly from Bazel. This is useful for quickly running Anki -after making source code changes, but requires Bazel to be available, and will -not play nicely with the debugging facilities in IDEs. For daily Anki, or using -third-party Python tools, you'll want to build Python wheels instead. +for starting Anki directly from the build folder. For regular study, it's recommended +you build Python wheels and then install them into your own python venv. This is also +a good idea if you wish to install extra tools from PyPi that Anki's build process +does not use. -The Python wheels are standard Python packages that can be installed with pip. -You'll typically want to install them into a a dedicated Python virtual environment (venv), -so that the dependencies are kept isolated from those of other packages on your system. -While you can 'pip install' them directly using the system Python, other packages on your -system may depend on different versions of those dependencies, which can cause breakages. - -Run the following command to create Python packages: - -On Mac/Linux: +To build wheels on Mac/Linux: ``` ./tools/build ``` -On Windows: +(on Windows, `\tools\build.bat`) -``` -.\tools\build.bat -``` - -The generated wheel paths will be printed as the build completes. -You can then install them by copying the paths into a pip install command. +The generated wheels are in out/wheels. You can then install them by copying the paths into a pip install command. Follow the steps [on the beta site](https://betas.ankiweb.net/#via-pypipip), but replace the `pip install --upgrade --pre aqt[qt6]` line with something like: ``` -pyenv/bin/pip install --upgrade dist/*.whl +/my/pyenv/bin/pip install --upgrade out/wheels/*.whl ``` (On Windows you'll need to list out the filenames manually instead of using a wildcard). @@ -79,137 +132,42 @@ pyenv/bin/pip install --upgrade dist/*.whl You'll also need to install PyQt: ``` -$ pyenv/bin/pip install pyqt6 pyqt6-webengine +$ /my/pyenv/bin/pip install pyqt6 pyqt6-webengine ``` or ``` -$ pyenv/bin/pip install pyqt5 pyqtwebengine +$ my/pyenv/bin/pip install pyqt5 pyqtwebengine ``` -## Freeing Space +## Cleaning up build files -The build process will download about a gigabyte of dependencies, and produce -about 6 gigabytes of temporary files. Once you've created the wheels, you can -remove the other files to free up space if you wish. +Apart from submodule checkouts, most build files go into the `out/` folder (and +`node_modules` on Windows). You can delete that folder for a clean build, or +to free space. -- `bazel clean --expunge` will remove the generated Bazel files, freeing up - most of the space. The files are usually stored in a subdir of - `~/.cache/bazel` or `\bazel\anki` -- `rm -rf ~/.cache/bazel*` or `\bazel\anki` will remove cached downloads as - well, requiring them to be redownloaded if you want to build again. -- `rm -rf ~/.cache/{yarn,pip}` will remove the shared pip and yarn caches that - other apps may be using as well. +Cargo, yarn and pip all cache downloads of dependencies in a shared cache that +other builds on your system may use as well. If you wish to clear up those caches, +they can be found in `~/.rustup`, `~/.cargo` and `~/.cache/{yarn,pip}`. -## Running tests - -You can run all tests at once. From the top level project folder: - -``` -bazel test ... -``` - -If you're in a subfolder, `...` will run the tests in that folder. -To run all tests, use `//...` instead. - -To run a single Rust unit test with output, eg 'unbury': - -``` -bazel run rslib:anki_tests -- --nocapture unbury -``` - -To run a single Python library test, eg test_bury: - -``` -PYTEST=test_bury bazel run //pylib:pytest -``` - -On Mac/Linux, after installing 'fswatch', you can run mypy on -each file save automatically with: - -``` -./tools/mypy-watch -``` - -## Fixing formatting - -For formatting issues with .ts, .svelte and .md files, change to the folder -that's causing the problem, and then run - -``` -bazel run //ts:format -``` - -If you get complaints from eslint about unordered imports, run the following -line first, then run ts:format: - -``` -bazel run eslint -- --fix -``` - -For other packages, change to the folder and run - -``` -bazel run format -``` - -For the latter cases, you can also invoke the formatter from another folder by using -the full path: - -``` -bazel run //rslib:format -bazel run //rslib:sql_format -bazel run //proto:format -bazel run //pylib:format -bazel run //qt:format -bazel run //pylib/rsbridge:format -``` - -## Development speedups - -If you're frequently switching between Anki versions, you can create -a user.bazelrc file in the top level folder with the following, which will -cache build products: - -``` -build --disk_cache=~/.cache/bazel/disk -``` - -It will grow with each changed build, and needs to be manually removed -when you wish to free up space. +If you invoke Rust outside of the build scripts (eg by running cargo, or +with Rust Analyzer), output files will go into `target/` unless you have +overriden the default output location. ## IDEs Please see [this separate page](./editing.md) for setting up an editor/IDE. -## Audio +## Making changes to the build -Audio playing requires `mpv` or `mplayer` to be in your system path. - -Recording also requires `lame` to be in your system path. - -## Build errors and cleaning - -If you get errors with @npm and node_modules in the message, try deleting the -node_modules folder. - -On Windows, you may run into 'could not write file' messages when TypeScript -files are renamed, as the old build products are not being cleaned up correctly. -You can either remove the problem folder (eg -.bazel/out/x64_windows-fastbuild/bin/ts/projectname), or do a full clean. - -To do a full clean, use a `bazel clean --expunge`, and then remove the node_modules -folder. - -## Tracing build problems - -You can run bazel with '-s' to print the commands that are being executed. +See [this page](./build.md) ## Environmental Variables If ANKIDEV is set before starting Anki, some extra log messages will be printed on stdout, and automatic backups will be disabled - so please don't use this except on a test profile. +It is automatically enabled when using ./run. If TRACESQL is set, all SQL statements will be printed as they are executed. @@ -220,9 +178,10 @@ If ANKI_PROFILE_CODE is set, Python profiling data will be written on exit. # Binary Bundles -Anki's official binary packages are created with `tools/bundle`. The script was created specifically -for the official builds, and is provided as-is; we are unfortunately not able to provide assistance with -any issues you may run into when using it. +Anki's official binary packages are created with `./ninja bundle`. The bundling +process was created specifically for the official builds, and is provided as-is; +we are unfortunately not able to provide assistance with any issues you may run +into when using it. ## Mixing development and study @@ -232,7 +191,7 @@ Anki to load a specific profile. If you're using PyCharm: -- right click on the "run" file in the root of the PyCharm Anki folder -- click "Edit 'run'..." - in Script options and enter: - "-p [dev profile name]" without the quotes -- click "Ok" +- right click on the "run" file in the root of the PyCharm Anki folder +- click "Edit 'run'..." - in Script options and enter: + "-p [dev profile name]" without the quotes +- click "Ok" diff --git a/docs/docker/README.md b/docs/docker/README.md index a9f233bf9..eb8e66cd4 100644 --- a/docs/docker/README.md +++ b/docs/docker/README.md @@ -65,38 +65,38 @@ docker run --rm -it \ Here is a breakdown of some of the arguments: -- Mount the current user's `~/.local/share` directory onto the container. Anki saves things - into this directory, and if we don't mount it, we will lose any changes once the - container exits. We mount this as read-write (`rw`) because we want to make changes here. +- Mount the current user's `~/.local/share` directory onto the container. Anki saves things + into this directory, and if we don't mount it, we will lose any changes once the + container exits. We mount this as read-write (`rw`) because we want to make changes here. - ```bash - --volume $HOME/.local/share:$HOME/.local/share:rw - ``` + ```bash + --volume $HOME/.local/share:$HOME/.local/share:rw + ``` -- Mount `/etc/passwd` so we can enter the container as ourselves. We mount this as - read-only because we definitely do not want to modify this. +- Mount `/etc/passwd` so we can enter the container as ourselves. We mount this as + read-only because we definitely do not want to modify this. - ```bash - --volume /etc/passwd:/etc/passwd:ro - ``` + ```bash + --volume /etc/passwd:/etc/passwd:ro + ``` -- Enter the container with our user ID and group ID, so we stay as ourselves. +- Enter the container with our user ID and group ID, so we stay as ourselves. - ```bash - --user $(id -u):$(id -g) - ``` + ```bash + --user $(id -u):$(id -g) + ``` -- Mount the X11 directory that allows us to open displays. +- Mount the X11 directory that allows us to open displays. - ```bash - --volume /tmp/.X11-unix:/tmp/.X11-unix:rw - ``` + ```bash + --volume /tmp/.X11-unix:/tmp/.X11-unix:rw + ``` -- Pass the `DISPLAY` variable to the container, so it knows where to display graphics. +- Pass the `DISPLAY` variable to the container, so it knows where to display graphics. - ```bash - --env DISPLAY=$DISPLAY - ``` + ```bash + --env DISPLAY=$DISPLAY + ``` # Running Dockerized Anki easily from the command line diff --git a/docs/editing.md b/docs/editing.md index 86656f6f4..3c905a8e0 100644 --- a/docs/editing.md +++ b/docs/editing.md @@ -12,22 +12,14 @@ There are a few steps you'll want to take before you start using an IDE. ### Python Environment -For code completion of external Python modules, you'll need to create a Python -venv and install Anki's dependencies into it. For example: - -``` -$ python3.9 -m venv ~/pyenv -$ ~/pyenv/bin/pip install -r python/requirements.txt -$ ~/pyenv/bin/pip install pyqt6 pyqt6-webengine -``` - -After doing so, you can set your editor's Python path to ~/pyenv/bin/python, eg -in VS Code, ctrl/cmd+shift+p, then 'python: select interpreter'. +For code completion of external Python modules, you can use the venv that is +generated as part of the build process. After building Anki, the venv will be in +`out/pyenv`. In VS Code, use ctrl/cmd+shift+p, then 'python: select +interpreter'. ### Rust -If you're planning to edit Rust code, install [Rustup](https://rustup.rs/), then -run 'rustup install nightly'. +You'll need Rust to be installed, which is required as part of the build process. ### Build First @@ -39,31 +31,31 @@ regular build process, so for things to work correctly, use './run' or ### Setting up Recommended Workspace Settings -To start off with some default workspace settings that are optimized for Anki development, please head to the project root and then run: +To start off with some default workspace settings that are optimized for Anki +development, please head to the project root and then run: ``` -cp -r .vscode.dist .vscode +mkdir .vscode && cd .vscode +ln -sf ../.vscode.dist/* . ``` ### Installing Recommended Extensions -Once the workspace settings are set up, open the root of the repo in VS Code to see and install a number of recommended extensions. +Once the workspace settings are set up, open the root of the repo in VS Code to +see and install a number of recommended extensions. ## PyCharm/IntelliJ -If you decide to use PyCharm instead of VS Code, there are somethings to be aware of. +If you decide to use PyCharm instead of VS Code, there are somethings to be +aware of. ### Slowdowns -The build process links a large file tree into .bazel in the repo dir. JetBrains -products will try to monitor this folder for changes, and index the files inside -it, which will lead to bad performance. Excluding the folder in the project -settings is [not sufficient unfortunately](https://youtrack.jetbrains.com/issue/IDEA-73309). +Excluding the node_modules folder inside the editor may improve performance: -A workaround is to add .bazel and node_modules to the IDE-global ignores: https://intellij-support.jetbrains.com/hc/en-us/community/posts/115000721750-Excluding-directories-globally ### Pylib References -You'll need to use File>Project Structure to tell IntelliJ that pylib/ is a sources root, so it knows -references to 'anki' in aqt are valid. +You'll need to use File>Project Structure to tell IntelliJ that pylib/ is a +sources root, so it knows references to 'anki' in aqt are valid. diff --git a/docs/linux.md b/docs/linux.md index 08dd56d50..728fbf9fd 100644 --- a/docs/linux.md +++ b/docs/linux.md @@ -1,4 +1,4 @@ -# Linux +# Linux-specific notes ## Requirements @@ -10,75 +10,19 @@ You can see a full list of buildtime and runtime requirements by looking at the [Dockerfiles](../.buildkite/linux/docker/Dockerfile.amd64) used to build the official releases. -Glibc is required - if you are on a distro like Alpine that uses musl, you'll need -to contribute fixes to the upstream [Rust rules](https://github.com/bazelbuild/rules_rust/issues/390), -then follow the steps in [Other Platforms](./new-platform.md). +Glibc is required - if you are on a distro like Alpine that uses musl, things +may not work. Users on ARM64, see the notes at the bottom of this file before proceeding. **Ensure some basic tools are installed**: ``` -$ sudo apt install bash grep findutils curl gcc g++ git +$ sudo apt install bash grep findutils curl gcc g++ git rsync ninja-build ``` The 'find' utility is 'findutils' on Debian. -**Python**: - -For building and running from source, Python is required, but the version is -flexible - any version from 2.7 onwards should work. The build system expects to -find the command `python`, so if your system only has a `python3`, you'll need -to link it to `python`, or do something like `sudo apt install python-is-python3`. - -The system Python is only used for running scripts, and the build system will -download a copy of Python 3.9 into a local folder as part of the build. - -You can have it use a locally installed Python instead, by putting something -like the following into a file called user.bazelrc at the top of this repo -before proceeding: - -``` -build --action_env=PYO3_PYTHON=/usr/local/bin/python3.9 -``` - -**Install Bazelisk**: - -Download it under the name 'bazel': - -``` -$ curl -L https://github.com/bazelbuild/bazelisk/releases/download/v1.10.1/bazelisk-linux-amd64 -o ./bazel -``` - -And put it on your path: - -``` -$ chmod +x bazel && sudo mv bazel /usr/local/bin/ -``` - -## Running Anki during development - -From the top level of Anki's source folder: - -``` -./run -``` - -This will build Anki and run it in place. - -The first build will take a while, as it downloads and builds a bunch of -dependencies. When the build is complete, Anki will automatically start. - -The Javascript build code is currently a bit flaky, so the initial -build may fail with an error. If you get an error when running/building, -try repeating the command once or twice - it should pick up where it left off. - -To play and record audio, install mpv and lame. - -If you or your distro has made ccache the standard compiler, you will need to -set CC and CXX to point directly to gcc/g++ or clang/clang++ prior to building -Anki. - ## Missing Libraries If you get errors during startup, try starting with @@ -94,16 +38,9 @@ sudo apt install libxcb-icccm4 libxcb-image0 libxcb-keysyms1 \ libxcb-randr0 libxcb-render-util0 ``` -## Optimized builds +## Audio -The `./run` command will create a non-optimized build by default. This is faster -to compile, but will mean Anki will run considerably slower. - -To run Anki in optimized mode, use: - -``` -./tools/runopt -``` +To play and record audio during development, install mpv and lame. ## ARM64 support @@ -116,17 +53,15 @@ find the place they are installed (eg '/usr/lib/python3/dist-packages'). Then be running any commands like './run', tell Anki where they can be found: ``` -export PYTHON_SITE_PACKAGES=/usr/lib/python3/dist-packages/ +export PYTHONPATH=/usr/lib/python3/dist-packages ``` -Note: the trailing slash at the end is required. - There are a few things to be aware of: -- You should use ./run and not tools/run-qt5\*, even if your system libraries are Qt5. -- If your system libraries are Qt5, when creating an aqt wheel, the wheel will not work - on Qt6 environments. -- Some of the tests only work with PyQt6, and will show failures when run under PyQt5. +- You should use ./run and not tools/run-qt5\*, even if your system libraries are Qt5. +- If your system libraries are Qt5, when creating an aqt wheel, the wheel will not work + on Qt6 environments. +- Some of the './ninja check' tests are broken on ARM Linux. ## More diff --git a/docs/mac.md b/docs/mac.md index 6bcce0db2..1524340ef 100644 --- a/docs/mac.md +++ b/docs/mac.md @@ -1,4 +1,4 @@ -# Mac +# Mac-specific notes ## Requirements @@ -7,61 +7,14 @@ Install the latest XCode from the App Store. Open it at least once so it installs the command line tools. -**Bazelisk**: +**Git/rsync** -``` -$ curl -L https://github.com/bazelbuild/bazelisk/releases/download/v1.11.0/bazelisk-darwin -o bazel \ - && chmod +x bazel \ - && sudo mv bazel /usr/local/bin -``` +Install via Homebrew or similar tool. -**Python**: - -The build system will automatically download a copy of Python 3.9 as part -of the build. - -It is also possible to override the Python 3.9 that the build system uses. -We only recommend you do this if you have downloaded Python from python.org, -as we have heard reports of things failing when using a Python 3 from macOS -or Homebrew. - -To override Python, put the following into a file called user.bazelrc at the top -of this repo (assuming /usr/local/bin/python links to your Python 3.9 binary). - -``` -build --action_env=PYO3_PYTHON=/usr/local/bin/python -``` - -## Running Anki during development - -From the top level of Anki's source folder: - -``` -./run -``` - -This will build Anki and run it in place. - -The first build will take a while, as it downloads and builds a bunch of -dependencies. When the build is complete, Anki will automatically start. - -The Javascript build code is currently a bit flaky, so the initial -build may fail with an error. If you get an error when running/building, -try repeating the command once or twice - it should pick up where it left off. +## Audio To play audio, use Homebrew to install mpv and lame. -## Optimized builds - -The `./run` command will create a non-optimized build by default. This is faster -to compile, but will mean Anki will run considerably slower. - -To run Anki in optimized mode, use: - -``` -./tools/runopt -``` - ## More For info on running tests, building wheels and so on, please see [Development](./development.md). diff --git a/docs/new-platform.md b/docs/new-platform.md deleted file mode 100644 index a34c9823f..000000000 --- a/docs/new-platform.md +++ /dev/null @@ -1,121 +0,0 @@ -# Building on a new platform - -## Upstream prerequisites - -- A recent Qt, PyQt5 and PyQtWebEngine must work on your platform. Chances are wheels - for your platform are not available on PyPI, so you will need to have a working - version installed already, either from your Linux distro's archives, or by building - from source. -- Rust and Node must support your platform. -- If the Bazel Rust and Node rules do not support your platform, extra work may be required. - -## 32 bit builds - -Bazel does not support running on a 32-bit host. It may be theoretically -possible to cross-compile from a 64-bit host, but this is not something we've -tried, and it will likely not work out of the box. - -## Protobuf & Python - -- Edit /platforms/BUILD.bzl and add the new platform. Available platforms - and CPUs can be found here: https://github.com/bazelbuild/platforms -- Edit /protobuf.bzl and add the new platform and a link to a protoc binary. -- Edit /pylib/anki/BUILD.bazel and add the new platform and the relevant - Python wheel name for your platform. - -Example of the above changes: -https://github.com/ankitects/anki/commit/db3308e788f20b188e84add40d6a1dce5bf726a0 - -- We need to tell the build process to use your local PyQt5 install, instead of - fetching it from PyPI. Locate your Python site-packages folder where the PyQt5 - folder is, and add the following to user.bazelrc in the project folder root: - -``` -build --action_env=PYTHON_SITE_PACKAGES=/path/to/site-packages/ -``` - -- Anki uses the Python 'orjson' module to speed up DB access. If you're on a - platform that can not build orjson, you can remove it from - python/requirements.txt to skip it during running/building, but DB operations - will be slower. - - The py_wheel() rule in pylib/anki/BUILD.bazel adds an orjson requirement to - the generated Anki wheel. If you have removed orjson, you'll want to - remove that line. If you have successfully built orjson for another platform, - you'll want to adjust that line to include your platform. - -## Rust - -- Ensure you have Rust installed (eg via rustup) -- Edit /Cargo.toml in this project, and add your platform - to the targets. Check that the platform [is supported](https://github.com/bazelbuild/rules_rust/blob/master/rust/platform/platform.bzl) by rules_rust; if it is not, you'll - need to send a PR to them adding it. You can test your change locally by modifying - /repos.bzl in this project to point to a local rules_rust checkout. -- Edit /cargo/BUILD.request.bazel and add the new platform. -- Run update.py in the /cargo folder. - -Examples of the required changes: - -- https://github.com/ankitects/anki/commit/eca27b371000e77b68cb4c790b44848507ca3883 -- https://github.com/ankitects/anki/commit/3f3f4b5c3640a7d1f4eec02f326fda93214ec34b - -## NodeJS - -If node doesn't provide a binary for your platform and you have a local copy -installed, you can create a local_node folder in the project root, symlink in -your local installation, and modify defs.bzl. - -```patch -diff --git a/defs.bzl b/defs.bzl -index eff3d9df2..fb2e9f7fe 100644 ---- a/defs.bzl -+++ b/defs.bzl -@@ -41,7 +41,15 @@ def setup_deps(): - python_runtime = "@python//:python", - ) - -- node_repositories(package_json = ["@ankidesktop//ts:package.json"]) -+ native.local_repository( -+ name = "local_node", -+ path = "local_node", -+ ) -+ -+ node_repositories( -+ package_json = ["@ankidesktop//ts:package.json"], -+ vendored_node = "@local_node//:node", -+ ) - - yarn_install( - name = "npm", -diff --git a/local_node/BUILD.bazel b/local_node/BUILD.bazel -new file mode 100644 -index 000000000..aa0c473ae ---- /dev/null -+++ b/local_node/BUILD.bazel -@@ -0,0 +1 @@ -+exports_files(["node/bin/node"] + glob(["node/lib/node_modules/**"])) -diff --git a/local_node/WORKSPACE b/local_node/WORKSPACE -new file mode 100644 -index 000000000..e69de29bb -diff --git a/local_node/node/bin/node b/local_node/node/bin/node -new file mode 120000 -index 000000000..d7b371472 ---- /dev/null -+++ b/local_node/node/bin/node -@@ -0,0 +1 @@ -+/usr/local/bin/node -\ No newline at end of file -diff --git a/local_node/node/lib/node_modules b/local_node/node/lib/node_modules -new file mode 120000 -index 000000000..23dd0736e ---- /dev/null -+++ b/local_node/node/lib/node_modules -@@ -0,0 +1 @@ -+/usr/local/lib/node_modules -\ No newline at end of file -``` - -## Submitting changes - -If the changes to support your platform do not require platform-specific hacks, -a PR that adds them is welcome - please see [Contributing](./contributing.md) for more. diff --git a/docs/ninja.md b/docs/ninja.md new file mode 100644 index 000000000..365851ef1 --- /dev/null +++ b/docs/ninja.md @@ -0,0 +1,14 @@ +Brief notes for people used to the existing Bazel build system: + +- Put the ninja binary on your path: https://github.com/ninja-build/ninja/releases/tag/v1.11.1 + (on Windows, if you have it installed in msys, make sure the native binary occurs earlier on the path) +- Ensure Rust is installed via rustup: https://rustup.rs/ +- Remove the .bazel and node_modules folders from your existing checkout + +- Run with ./run +- Run tests with './ninja check' (tools\ninja on Windows) +- Format files with './ninja format' +- Fix eslint/copyright issues with './ninja fix' +- Targets are hierarchical, so './ninja check:jest:deck-options' will run + the Jest tests for ts/deck-options, and './ninja check:jest' will run all + Jest tests. diff --git a/docs/protobuf.md b/docs/protobuf.md index df5f3927f..bae6125b5 100644 --- a/docs/protobuf.md +++ b/docs/protobuf.md @@ -92,20 +92,20 @@ should preferably be assigned a number between 1 and 15. If a message contains Protobuf has an official Python implementation with an extensive [reference](https://developers.google.com/protocol-buffers/docs/reference/python-generated). -- Every message used in aqt or pylib must be added to the respective `.pylintrc` - to avoid failing type checks. The unqualified protobuf message's name must be - used, not an alias from `collection.py` for example. This should be taken into - account when choosing a message name in order to prevent skipping typechecking - a Python class of the same name. +- Every message used in aqt or pylib must be added to the respective `.pylintrc` + to avoid failing type checks. The unqualified protobuf message's name must be + used, not an alias from `collection.py` for example. This should be taken into + account when choosing a message name in order to prevent skipping typechecking + a Python class of the same name. ### Typescript Anki uses [protobuf.js](https://protobufjs.github.io/protobuf.js/), which offers some documentation. -- If using a message `Foo` as a type, make sure not to use the generated interface - `IFoo` instead. Their definitions are very similar, but the interface requires - null checks for every field. +- If using a message `Foo` as a type, make sure not to use the generated interface + `IFoo` instead. Their definitions are very similar, but the interface requires + null checks for every field. ### Rust @@ -114,9 +114,9 @@ Its documentation has some useful hints, but for working with the generated code there is a better option: From within `anki/rslib` run `cargo doc --open --document-private-items`. Inside the `pb` module you will find all generated Rust types and their implementations. -- Given an enum field `Foo foo = 1;`, `message.foo` is an `i32`. Use the accessor - `message.foo()` instead to avoid having to manually convert to a `Foo`. -- Protobuf does not guarantee any oneof field to be set or an enum field to contain - a valid variant, so the Rust code needs to deal with a lot of `Option`s. As we - don't expect other parts of Anki to send invalid messages, using an `InvalidInput` - error or `unwrap_or_default()` is usually fine. +- Given an enum field `Foo foo = 1;`, `message.foo` is an `i32`. Use the accessor + `message.foo()` instead to avoid having to manually convert to a `Foo`. +- Protobuf does not guarantee any oneof field to be set or an enum field to contain + a valid variant, so the Rust code needs to deal with a lot of `Option`s. As we + don't expect other parts of Anki to send invalid messages, using an `InvalidInput` + error or `unwrap_or_default()` is usually fine. diff --git a/docs/syncserver.md b/docs/syncserver.md index aa23713a6..1644c9dcd 100644 --- a/docs/syncserver.md +++ b/docs/syncserver.md @@ -5,21 +5,21 @@ use AnkiWeb, you can run the server on a machine on your local network. Things to be aware of: -- Media syncing is not currently supported. You will either need to disable - syncing of sounds and images in the preferences screen, sync your media via - AnkiWeb, or use some other solution. -- AnkiMobile does not yet provide an option for using a local sync server, - so for now this will only be usable with the computer version of Anki, and - AnkiDroid. -- This code is partly new, and while it has had some testing, it's possible - something has been missed. Please make backups, and report any bugs you run - into. -- The server runs over an unencrypted HTTP connection and does not require - authentication, so it is only suitable for use on a private network. -- This is an advanced feature, targeted at users who are comfortable with - networking and the command line. If you use this, the expectation is you - can resolve any setup/network/firewall issues you run into yourself, and - use of this is entirely at your own risk. +- Media syncing is not currently supported. You will either need to disable + syncing of sounds and images in the preferences screen, sync your media via + AnkiWeb, or use some other solution. +- AnkiMobile does not yet provide an option for using a local sync server, + so for now this will only be usable with the computer version of Anki, and + AnkiDroid. +- This code is partly new, and while it has had some testing, it's possible + something has been missed. Please make backups, and report any bugs you run + into. +- The server runs over an unencrypted HTTP connection and does not require + authentication, so it is only suitable for use on a private network. +- This is an advanced feature, targeted at users who are comfortable with + networking and the command line. If you use this, the expectation is you + can resolve any setup/network/firewall issues you run into yourself, and + use of this is entirely at your own risk. ## From source diff --git a/docs/windows.md b/docs/windows.md index 8208fb3d9..5506384e4 100644 --- a/docs/windows.md +++ b/docs/windows.md @@ -6,17 +6,14 @@ You must be running 64 bit Windows 10, version 1703 or newer. -The build system requires [Developer Mode](https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development) to be enabled. +The build system previously required [Developer Mode](https://docs.microsoft.com/en-us/windows/apps/get-started/enable-your-device-for-development) to be enabled. This may no longer +be the case. **Visual Studio**: -Visual Studio 2022 was released in Nov 2021. **Anki does not support it yet**. You will -need to download 2019 instead. Microsoft will push you towards 2022 on the Visual Studio -website; you'll need to locate "older downloads", then log in with a free Microsoft -account and search for "Build Tools for Visual Studio 2019 (version 16.11)". - -Once you've downloaded the installer, open it, and select "Desktop Development with C++" -on the left, leaving the options shown on the right as is. +Install Visual Studio from Microsoft. Once you've downloaded the installer, open +it, and select "Desktop Development with C++" on the left, leaving the options +shown on the right as is. **MSYS**: @@ -25,94 +22,26 @@ Install [msys2](https://www.msys2.org/) into the default folder location. After installation completes, run msys2, and run the following command: ``` -$ pacman -S git +$ pacman -S git rsync ``` If you have native Windows apps relying on Git, e.g. the PowerShell extension [posh-git](https://github.com/dahlbyk/posh-git), you may want to install [Git for Windows](https://gitforwindows.org/) and put it on the path instead, -as msys Git may cause issues with them. - -**Bazel**: - -Use Start>Run to open PowerShell. Create a folder to store Bazel -and its working data. Anki's build scripts expect to find it in \bazel on the same drive as the source folder. - -``` -PS> mkdir \bazel -PS> cd \bazel -``` - -Then grab Bazelisk: - -``` -PS> \msys64\usr\bin\curl -L https://github.com/bazelbuild/bazelisk/releases/download/v1.10.1/bazelisk-windows-amd64.exe -o bazel.exe -``` +as msys Git may cause issues with them. You'll need to make sure rsync is +available some other way. **Source folder**: -Anki's source files do not need to be in a specific location other than on the -same drive as `\bazel`, but it's best to avoid long paths, as they can cause +Anki's source files do not need to be in a specific location, but it's best to +avoid long paths, as they can cause problems. Spaces in the path may cause problems. -## Running Anki during development +## Audio -Open PowerShell and change to the top level of Anki's source folder, -then run - -``` -.\run -``` - -This will build Anki and run it in place. - -The first build will take a while, as it downloads and builds a bunch of -dependencies. When the build is complete, Anki will automatically start. - -To play and record audio, mpv.exe and lame.exe must be on the path. - -## Optimized builds - -The `.\run` command will create a non-optimized build by default. This is faster -to compile, but will mean Anki will run considerably slower. - -To run Anki in optimized mode, use: - -``` -.\tools\runopt -``` - -## Stale TS Files - -The build process may break when .ts files are removed or renamed on Windows. If you're -tracking Anki's development and you run into a TS build error, try the following: - -``` -bazel run tools:cleanup_js -``` +To play and record audio during development, mpv.exe and lame.exe must be on the path. ## More For info on running tests, building wheels and so on, please see [Development](./development.md). - -When you run a script like .\run, MSYS and bazel will automatically be added to -the path, and Bazel will be configured to output build products into -\bazel\anki. If you want to directly invoke bazel before having run any of the -.bat files in this repo, please run tools\setup-env first. - -However, this will not work in PowerShell, as .bat files are executed in a subprocess. -To invoke bazel scripts, you will have to adjust your session path manually. -One option is to create a script that sets up your Anki development environment for you. -Here is an example: - -```powershell -# put bazel and msys on path -$env:PATH = "c:\bazel;c:\msys64\usr\bin;$env:PATH" -# change working directory to anki root -Set-Location C:\code\anki -# open VSC -code . -# open powershell 7 -pwsh -``` diff --git a/ftl/BUILD.bazel b/ftl/BUILD.bazel deleted file mode 100644 index 691820fed..000000000 --- a/ftl/BUILD.bazel +++ /dev/null @@ -1,69 +0,0 @@ -load("@py_deps//:requirements.bzl", "requirement") - -fluent_syntax = [ - requirement("fluent.syntax"), - requirement("compare-locales"), - # undeclared runtime dependency - requirement("six"), -] - -filegroup( - name = "ftl", - srcs = [ - "@rslib_ftl//:files", - "@extra_ftl//:files", - ] + glob(["**/*.ftl"]), - visibility = ["//rslib:__subpackages__"], -) - -py_binary( - name = "format", - srcs = ["format.py"], - deps = fluent_syntax, -) - -py_test( - name = "format_check", - srcs = [ - "format.py", - "format_check.py", - ], - # so we can locate data files - args = ["$(location BUILD.bazel)"], - data = glob(["**/*.ftl"]) + ["BUILD.bazel"], - deps = fluent_syntax, -) - -py_binary( - name = "sync", - srcs = ["sync.py"], - tags = ["manual"], - deps = fluent_syntax + [requirement("requests")], -) - -py_binary( - name = "extract-strings", - srcs = ["extract-strings.py"], - tags = ["manual"], - deps = fluent_syntax, -) - -py_binary( - name = "transform-string", - srcs = ["transform-string.py"], - tags = ["manual"], - deps = fluent_syntax, -) - -py_binary( - name = "duplicate-string", - srcs = ["duplicate-string.py"], - tags = ["manual"], - deps = fluent_syntax, -) - -# export this file as a way of locating the top level folder in $(location ...) -exports_files( - ["BUILD.bazel"], - visibility = ["//rslib:__subpackages__"], -) diff --git a/ftl/Cargo.toml b/ftl/Cargo.toml new file mode 100644 index 000000000..66474b626 --- /dev/null +++ b/ftl/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "ftl" + +version.workspace = true +authors.workspace = true +license.workspace = true +edition.workspace = true +rust-version.workspace = true + +[[bin]] +name = "ftl-sync" +path = "sync.rs" + +[dependencies] +camino = "1.1.1" +snafu = { version = "0.7.3" } +workspace-hack = { version = "0.1", path = "../tools/workspace-hack" } diff --git a/ftl/core-repo b/ftl/core-repo new file mode 160000 index 000000000..6d2f6c75f --- /dev/null +++ b/ftl/core-repo @@ -0,0 +1 @@ +Subproject commit 6d2f6c75fbb537d16e3e92bbe3e2d418c77cc2e0 diff --git a/ftl/duplicate-string.py b/ftl/duplicate-string.py index 7bdbd900e..2fda1805a 100644 --- a/ftl/duplicate-string.py +++ b/ftl/duplicate-string.py @@ -2,15 +2,15 @@ # Copyright: Ankitects Pty Ltd and contributors # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html +# pylint: disable=unbalanced-tuple-unpacking + import copy -import json import os import re -import shutil import sys from fluent.syntax import parse, serialize -from fluent.syntax.ast import Identifier, Junk, Message, Pattern, TextElement +from fluent.syntax.ast import Junk, Message # clone an existing ftl string as a new key # eg: @@ -20,7 +20,7 @@ from fluent.syntax.ast import Identifier, Junk, Message, Pattern, TextElement # # after running, you'll need to copy the output template file into Anki's source -src_filename, old_key, dst_filename, new_key = sys.argv[1:] +(src_filename, old_key, dst_filename, new_key) = sys.argv[1:] # add file as prefix to key src_prefix = os.path.splitext(os.path.basename(src_filename))[0] @@ -33,7 +33,7 @@ def get_entry(fname, key): if not os.path.exists(fname): return - with open(fname) as file: + with open(fname, encoding="utf8") as file: orig = file.read() obj = parse(orig) for ent in obj.body: @@ -51,7 +51,7 @@ def write_entry(fname, key, entry): if not os.path.exists(fname): orig = "" else: - with open(fname) as file: + with open(fname, encoding="utf8") as file: orig = file.read() obj = parse(orig) for ent in obj.body: @@ -70,7 +70,7 @@ def write_entry(fname, key, entry): raise Exception(f"introduced junk! {fname} {ent}") # it's ok, write it out - with open(fname, "w") as file: + with open(fname, "w", encoding="utf8") as file: file.write(modified) diff --git a/ftl/extract-strings.py b/ftl/extract-strings.py index eb31317a8..fff3fce96 100644 --- a/ftl/extract-strings.py +++ b/ftl/extract-strings.py @@ -16,10 +16,10 @@ from fluent.syntax.serializer import serialize_element root = os.environ["BUILD_WORKSPACE_DIRECTORY"] ftl_files = glob.glob(os.path.join(root, "ftl", "core", "*.ftl"), recursive=True) -keys_by_value = {} +keys_by_value: dict[str, list[str]] = {} for path in ftl_files: - obj = parse(open(path).read(), with_spans=False) + obj = parse(open(path, encoding="utf8").read(), with_spans=False) for ent in obj.body: if isinstance(ent, Junk): raise Exception(f"file had junk! {path} {ent}") @@ -30,5 +30,7 @@ for path in ftl_files: print("duplicate found:", keys_by_value[val], key) keys_by_value.setdefault(val, []).append(key) -json.dump(keys_by_value, open(os.path.join(root, "keys_by_value.json"), "w")) +json.dump( + keys_by_value, open(os.path.join(root, "keys_by_value.json"), "w", encoding="utf8") +) print("keys:", len(keys_by_value)) diff --git a/ftl/format.py b/ftl/format.py index 2a1425be1..a18aa5cfa 100644 --- a/ftl/format.py +++ b/ftl/format.py @@ -8,9 +8,7 @@ Parse and re-serialize ftl files to get them in a consistent form. import difflib import glob -import json import os -import sys from typing import List from compare_locales import parser diff --git a/ftl/qt-repo b/ftl/qt-repo new file mode 160000 index 000000000..1205e859b --- /dev/null +++ b/ftl/qt-repo @@ -0,0 +1 @@ +Subproject commit 1205e859b91d0bb888739186ab1fe6a0da699f78 diff --git a/ftl/sync.py b/ftl/sync.py deleted file mode 100644 index d6f76dab7..000000000 --- a/ftl/sync.py +++ /dev/null @@ -1,164 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -# -# A helper script to update commit references to the latest translations, -# and copy source files to the translation repos. Requires access to the -# i18n repos to run. - -import os -import re -import subprocess -import sys -from dataclasses import dataclass -from hashlib import sha256 -from typing import Optional, Tuple - -import requests - -root = os.environ["BUILD_WORKSPACE_DIRECTORY"] -repos_bzl = os.path.join(root, "repos.bzl") -working_folder = os.path.join(root, "..") - - -@dataclass -class Module: - name: str - folder_name: str - repo: str - # (source ftl folder, i18n templates folder) - ftl: Optional[Tuple[str, str]] = None - - def folder(self) -> str: - return os.path.join(working_folder, self.folder_name) - - -modules = [ - Module( - name="core", - folder_name="ftl-core", - repo="git@github.com:ankitects/anki-core-i18n", - ftl=(os.path.join(root, "ftl", "core"), "core/templates"), - ), - Module( - name="qtftl", - folder_name="ftl-qt", - repo="git@github.com:ankitects/anki-desktop-ftl", - ftl=(os.path.join(root, "ftl", "qt"), "desktop/templates"), - ), -] - - -def update_repo(module: Module): - subprocess.run(["git", "pull"], cwd=module.folder(), check=True) - - -def clone_repo(module: Module): - subprocess.run( - ["git", "clone", module.repo, module.folder_name], cwd=working_folder, check=True - ) - - -def update_git_repos(): - for module in modules: - if os.path.exists(module.folder()): - update_repo(module) - else: - clone_repo(module) - - -@dataclass -class GitInfo: - sha1: str - zip_sha256: str - - -def git_url_to_zip_url(repo: str, commit: str) -> str: - repo = repo.replace("git@github.com:", "https://github.com/") - return f"{repo}/archive/{commit}.zip" - - -def get_zip_sha(zip_url: str) -> str: - resp = requests.get(zip_url) - resp.raise_for_status() - return sha256(resp.content).hexdigest() - - -def module_git_info(module: Module) -> GitInfo: - folder = module.folder() - sha1 = subprocess.check_output( - ["git", "log", "-n", "1", "--pretty=format:%H"], cwd=folder - ).decode("utf8") - zip_url = git_url_to_zip_url(module.repo, sha1) - zip_sha = get_zip_sha(zip_url) - - return GitInfo( - sha1=sha1, - zip_sha256=zip_sha, - ) - - -def update_repos_bzl(): - # gather changes - entries = {} - for module in modules: - git = module_git_info(module) - prefix = f"{module.name}_i18n_" - entries[prefix + "commit"] = git.sha1 - entries[prefix + "zip_csum"] = git.zip_sha256 - - # apply - out = [] - path = repos_bzl - reg = re.compile(r'(\s+)(\S+_(?:commit|zip_csum)) = "(.*)"') - for line in open(path).readlines(): - if m := reg.match(line): - (indent, key, _oldvalue) = m.groups() - value = entries[key] - line = f'{indent}{key} = "{value}"\n' - out.append(line) - else: - out.append(line) - open(path, "w").writelines(out) - - commit_if_changed(root, update_label="translations") - - -def commit_if_changed(folder: str, update_label: str): - status = subprocess.run(["git", "diff", "--exit-code"], cwd=folder, check=False) - if status.returncode == 0: - # no changes - return - subprocess.run( - ["git", "commit", "-a", "-m", "Update " + update_label], cwd=folder, check=True - ) - - -def update_ftl_templates(): - for module in modules: - if ftl := module.ftl: - (source, dest) = ftl - dest = os.path.join(module.folder(), dest) - subprocess.run( - [ - "rsync", - "-ai", - "--delete", - "--no-perms", - "--no-times", - source + "/", - dest + "/", - ], - check=True, - ) - commit_if_changed(module.folder(), update_label="templates") - - -def push_i18n_changes(): - for module in modules: - subprocess.run(["git", "push"], cwd=module.folder(), check=True) - - -update_git_repos() -update_ftl_templates() -push_i18n_changes() -update_repos_bzl() diff --git a/ftl/sync.rs b/ftl/sync.rs new file mode 100644 index 000000000..987542eec --- /dev/null +++ b/ftl/sync.rs @@ -0,0 +1,118 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +//! A helper script to update commit references to the latest translations, +//! and copy source files to the translation repos. Requires access to the +//! i18n repos to run. + +use std::process::Command; + +use camino::Utf8Path; +use snafu::{prelude::*, Whatever}; + +type Result = std::result::Result; + +#[derive(Debug)] +struct Module { + template_folder: &'static Utf8Path, + translation_repo: &'static Utf8Path, +} + +/// Our ftl submodules are checked out over unauthenticated https; a separate +/// remote is used to push via authenticated ssh. +const GIT_REMOTE: &str = "ssh"; + +#[snafu::report] +fn main() -> Result<()> { + let modules = [ + Module { + template_folder: "ftl/core".into(), + translation_repo: "ftl/core-repo/core".into(), + }, + Module { + template_folder: "ftl/qt".into(), + translation_repo: "ftl/qt-repo/desktop".into(), + }, + ]; + + check_clean()?; + for module in modules { + fetch_new_translations(&module)?; + push_new_templates(&module)?; + } + commit(".", "Update translations") + .whatever_context("failure expected if no translations changed")?; + Ok(()) +} + +fn check_clean() -> Result<()> { + let output = Command::new("git") + .arg("diff") + .output() + .whatever_context("git diff")?; + ensure_whatever!(output.status.success(), "git diff"); + ensure_whatever!( + output.stdout.is_empty(), + "please commit any outstanding changes first" + ); + Ok(()) +} + +fn run(command: &mut Command) -> Result<()> { + let status = command + .status() + .with_whatever_context(|_| format!("{:?}", command))?; + if !status.success() { + whatever!("{:?} exited with code: {:?}", command, status.code()); + } + Ok(()) +} + +fn fetch_new_translations(module: &Module) -> Result<()> { + run(Command::new("git") + .current_dir(module.translation_repo) + .args(["checkout", "main"]))?; + run(Command::new("git") + .current_dir(module.translation_repo) + .args(["pull", "origin", "main"]))?; + Ok(()) +} + +fn push_new_templates(module: &Module) -> Result<()> { + run(Command::new("rsync") + .args(["-ai", "--delete", "--no-perms", "--no-times", "-c"]) + .args([ + format!("{}/", module.template_folder), + format!("{}/", module.translation_repo.join("templates")), + ]))?; + let changes_pending = !Command::new("git") + .current_dir(module.translation_repo) + .args(["diff", "--exit-code"]) + .status() + .whatever_context("git")? + .success(); + if changes_pending { + commit(module.translation_repo, "Update templates")?; + push(module.translation_repo)?; + } + Ok(()) +} + +fn push(repo: &Utf8Path) -> Result<()> { + run(Command::new("git") + .current_dir(repo) + .args(["push", GIT_REMOTE, "main"]))?; + // ensure origin matches ssh remote + run(Command::new("git").current_dir(repo).args(["fetch"]))?; + Ok(()) +} + +fn commit(folder: F, message: &str) -> Result<()> +where + F: AsRef, +{ + run(Command::new("git") + .current_dir(folder.as_ref()) + .args(["commit", "-a", "-m", message]))?; + Ok(()) +} diff --git a/ftl/transform-string.py b/ftl/transform-string.py index c8c7b8a71..525d9fc6f 100644 --- a/ftl/transform-string.py +++ b/ftl/transform-string.py @@ -7,7 +7,6 @@ Tool to apply transform to an ftl string and its translations. """ import glob -import json import os from fluent.syntax import parse, serialize @@ -28,7 +27,7 @@ target_repls = [ def transform_string_in_file(path): - obj = parse(open(path).read(), with_spans=False) + obj = parse(open(path, encoding="utf8").read(), with_spans=False) changed = False for ent in obj.body: if isinstance(ent, Junk): diff --git a/late_deps.bzl b/late_deps.bzl deleted file mode 100644 index c3a954f9a..000000000 --- a/late_deps.bzl +++ /dev/null @@ -1,8 +0,0 @@ -"""Repo setup that can't happen until after defs.bzl:setup_deps() is run.""" - -load("@py_deps//:requirements.bzl", "install_deps") -load("@build_bazel_rules_nodejs//toolchains/esbuild:esbuild_repositories.bzl", "esbuild_repositories") - -def setup_late_deps(): - install_deps() - esbuild_repositories() diff --git a/ninja b/ninja new file mode 100755 index 000000000..78b3ae2c6 --- /dev/null +++ b/ninja @@ -0,0 +1,15 @@ +#!/bin/bash + +set -e + +if [ "$BUILD_ROOT" == "" ]; then + out=$(pwd)/out +else + out="$BUILD_ROOT" +fi +export CARGO_TARGET_DIR=$out/rust +export RECONFIGURE_KEY="${MAC_X86};" + +# separate build+run steps so build env doesn't leak into subprocesses +cargo build -p runner +exec $out/rust/debug/runner build $* diff --git a/package.json b/package.json index 8c45f9603..0dc92ad59 100644 --- a/package.json +++ b/package.json @@ -6,9 +6,6 @@ "license": "AGPL-3.0-or-later", "description": "Anki JS support files", "devDependencies": { - "@bazel/esbuild": "=4.6.2", - "@bazel/typescript": "=4.6.2", - "@bazel/worker": "=4.6.2", "@pyoner/svelte-types": "^3.4.4-2", "@sqltools/formatter": "^1.2.2", "@types/bootstrap": "^5.0.12", @@ -23,13 +20,20 @@ "@types/node": "^16.10.2", "@typescript-eslint/eslint-plugin": "^4.22.0", "@typescript-eslint/parser": "^4.22.0", + "caniuse-lite": "^1.0.30001431", "chalk": "^4.1.0", "cross-env": "^7.0.2", "diff": "^5.0.0", "dprint": "^0.32.2", + "esbuild": "^0.15.13", + "esbuild-sass-plugin": "2", + "esbuild-svelte": "^0.7.1", "escodegen": "^2.0.0", "eslint": "^7.24.0", "eslint-plugin-compat": "^3.13.0", + "eslint-plugin-import": "^2.25.4", + "eslint-plugin-simple-import-sort": "^7.0.0", + "eslint-plugin-svelte3": "^3.4.0", "espree": "^9.0.0", "estraverse": "^5.2.0", "glob": "^7.1.6", @@ -41,19 +45,21 @@ "patch-package": "^6.4.7", "prettier": "2.4.1", "prettier-plugin-svelte": "2.6.0", - "sass": "1.42.1", + "protobufjs-cli": "^1.0.2", + "sass": "1.43.5", "semver": "^7.3.4", "svelte": "^3.25.0", "svelte-check": "^2.2.6", "svelte-preprocess": "^4.6.9", + "svelte-preprocess-esbuild": "^3.0.1", "svelte2tsx": "^0.4.6", "tmp": "^0.2.1", "tslib": "^2.0.3", - "typescript": "=4.4.4", + "tsx": "^3.12.0", + "typescript": "^4.4.4", "uglify-js": "^3.13.1" }, "scripts": { - "fix": "prettier --write */*.ts */*.svelte", "postinstall": "patch-package --patch-dir ts/patches" }, "dependencies": { @@ -69,9 +75,6 @@ "codemirror": "^5.63.1", "css-browser-selector": "^0.6.5", "d3": "^7.0.0", - "eslint-plugin-import": "^2.25.4", - "eslint-plugin-simple-import-sort": "^7.0.0", - "eslint-plugin-svelte3": "^3.4.0", "fuse.js": "^6.6.2", "gemoji": "^7.1.0", "intl-pluralrules": "^1.2.2", @@ -80,12 +83,14 @@ "lodash-es": "^4.17.21", "marked": "^4.0.0", "mathjax": "^3.1.2", - "protobufjs": "^6.11.3" + "protobufjs": "^7" }, "resolutions": { "jsdoc/marked": "^4.0.0", "jsdoc/markdown-it": "^12.3.2", - "protobufjs": "^6.11.3" + "protobufjs": "^7", + "sass": "=1.45.0", + "caniuse-lite": "^1.0.30001431" }, "files": [ "dist/*" diff --git a/platforms/BUILD.bazel b/platforms/BUILD.bazel deleted file mode 100644 index 044afa5c0..000000000 --- a/platforms/BUILD.bazel +++ /dev/null @@ -1,41 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -config_setting( - name = "windows_x86_64", - constraint_values = [ - "@platforms//os:windows", - "@platforms//cpu:x86_64", - ], -) - -config_setting( - name = "macos_x86_64", - constraint_values = [ - "@platforms//os:macos", - "@platforms//cpu:x86_64", - ], -) - -config_setting( - name = "macos_arm64", - constraint_values = [ - "@platforms//os:macos", - "@platforms//cpu:aarch64", - ], -) - -config_setting( - name = "linux_x86_64", - constraint_values = [ - "@platforms//os:linux", - "@platforms//cpu:x86_64", - ], -) - -config_setting( - name = "linux_arm64", - constraint_values = [ - "@platforms//os:linux", - "@platforms//cpu:aarch64", - ], -) diff --git a/platforms/README.md b/platforms/README.md deleted file mode 100644 index c55b72f75..000000000 --- a/platforms/README.md +++ /dev/null @@ -1,2 +0,0 @@ -Platform constraints, used for things like controlling wheel filenames -on a per-platform basis, and selecting the correct protobuf binary. diff --git a/proto/BUILD.bazel b/proto/BUILD.bazel deleted file mode 100644 index ad81b1cad..000000000 --- a/proto/BUILD.bazel +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -load("@rules_proto//proto:defs.bzl", "proto_library") -load("//proto:clang_format.bzl", "proto_format") - -proto_format( - name = "format", - srcs = glob(["**/*.proto"]), - visibility = ["//visibility:public"], -) - -proto_library( - name = "backend_proto_lib", - srcs = glob(["**/*.proto"]), - # "" removes the "proto/" prefix - strip_import_prefix = "", - visibility = ["//visibility:public"], -) - -filegroup( - name = "proto", - srcs = glob(["**/*.proto"]), - visibility = ["//visibility:public"], -) - -exports_files([ - # for external workspace use - "format.py", - # an empty file we use to get the root proto/ path in the Rust build - ".top_level", -]) diff --git a/proto/README.md b/proto/README.md new file mode 100644 index 000000000..21768bd11 --- /dev/null +++ b/proto/README.md @@ -0,0 +1,3 @@ +Protobuf files defining the interface the frontend and backend components use to talk to each other, +and how Anki stores some of the data inside its SQLite database. These files are used to generate Rust, +Python and TypeScript bindings. diff --git a/proto/clang_format.bzl b/proto/clang_format.bzl deleted file mode 100644 index ba190099c..000000000 --- a/proto/clang_format.bzl +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -""" -Exposes a clang-format binary for formatting protobuf. -""" - -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") -load("@rules_python//python:defs.bzl", "py_test") - -def _impl(rctx): - rctx.file("BUILD.bazel", """ -alias( - name = "clang_format", - actual = select({ - "@ankidesktop//platforms:windows_x86_64": "@clang_format_windows_x86_64//:clang-format.exe", - "@ankidesktop//platforms:macos_arm64": "@clang_format_macos_x86_64//:clang-format", - "@ankidesktop//platforms:macos_x86_64": "@clang_format_macos_x86_64//:clang-format", - "@ankidesktop//platforms:linux_x86_64": "@clang_format_linux_x86_64//:clang-format", - "@ankidesktop//platforms:linux_arm64": "@clang_format_local//:clang-format", - }), - visibility = ["//visibility:public"] -) -""") - -_setup_clang_format = repository_rule( - attrs = {}, - local = False, - implementation = _impl, -) - -def setup_clang_format(name): - maybe( - http_archive, - name = "clang_format_macos_x86_64", - build_file_content = """exports_files(["clang-format"])""", - sha256 = "238be68d9478163a945754f06a213483473044f5a004c4125d3d9d8d3556466e", - urls = [ - "https://github.com/ankitects/clang-format-binaries/releases/download/anki-2021-01-09/clang-format_macos_x86_64.zip", - ], - ) - - maybe( - http_archive, - name = "clang_format_linux_x86_64", - build_file_content = """exports_files(["clang-format"])""", - sha256 = "64060bc4dbca30d0d96aab9344e2783008b16e1cae019a2532f1126ca5ec5449", - urls = [ - "https://github.com/ankitects/clang-format-binaries/releases/download/anki-2021-01-09/clang-format_linux_x86_64.zip", - ], - ) - - maybe( - http_archive, - name = "clang_format_windows_x86_64", - build_file_content = """exports_files(["clang-format.exe"])""", - sha256 = "7d9f6915e3f0fb72407830f0fc37141308d2e6915daba72987a52f309fbeaccc", - urls = [ - "https://github.com/ankitects/clang-format-binaries/releases/download/anki-2021-01-09/clang-format_windows_x86_64.zip", - ], - ) - - if not native.existing_rule("clang_format_local"): - native.new_local_repository( - name = "clang_format_local", - path = "/usr/bin", - build_file_content = "exports_files(['clang-format'])", - ) - - if not native.existing_rule(name): - _setup_clang_format( - name = name, - ) - -def proto_format(name, srcs, **kwargs): - py_test( - name = name, - srcs = [ - "@ankidesktop//proto:format.py", - ], - data = ["@clang_format//:clang_format"] + srcs, - args = ["$(location @clang_format//:clang_format)"] + [native.package_name() + "/" + f for f in srcs], - **kwargs - ) diff --git a/proto/format.py b/proto/format.py deleted file mode 100755 index 32d79114e..000000000 --- a/proto/format.py +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import difflib -import os -import subprocess -import sys - -clang_format = sys.argv[1] -workspace = os.environ.get("BUILD_WORKSPACE_DIRECTORY", "") -want_fix = bool(workspace) - -found_bad = False -for path in sys.argv[2:]: - with open(path) as file: - orig = file.read() - new = subprocess.check_output( - # [clang_format, "--style={'BasedOnStyle': 'google', 'IndentWidth': 4}", path] - [clang_format, "--style=google", path] - ).decode("utf-8") - if orig != new: - if want_fix: - with open(os.path.join(workspace, path), "w", newline="\n") as file: - file.write(new) - print("fixed", path) - else: - print(f"Bad formatting in {path}") - print( - "\n".join( - difflib.unified_diff( - orig.splitlines(), - new.splitlines(), - fromfile="bad", - tofile="good", - lineterm="", - ) - ) - ) - found_bad = True - -if found_bad: - sys.exit(1) diff --git a/proto/protobuf.bzl b/proto/protobuf.bzl deleted file mode 100644 index 8267ffdae..000000000 --- a/proto/protobuf.bzl +++ /dev/null @@ -1,75 +0,0 @@ -""" -Replace @com_google_protobuf with a platform binary. - -Avoids the long initial compile, but will fail if anything depends on the protobuf library. -""" - -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") - -def _impl(rctx): - rctx.file("BUILD.bazel", """ -alias( - name = "protoc", - actual = select({ - "@ankidesktop//platforms:windows_x86_64": "@protoc_bin_windows//:bin/protoc.exe", - "@ankidesktop//platforms:macos_arm64": "@protoc_bin_macos//:bin/protoc", - "@ankidesktop//platforms:macos_x86_64": "@protoc_bin_macos//:bin/protoc", - "@ankidesktop//platforms:linux_x86_64": "@protoc_bin_linux_x86_64//:bin/protoc", - "@ankidesktop//platforms:linux_arm64": "@protoc_bin_linux_arm64//:bin/protoc" - }), - visibility = ["//visibility:public"] -) -""") - -_setup_protoc = repository_rule( - implementation = _impl, - local = False, - attrs = {}, -) - -def setup_protobuf_binary(name): - maybe( - http_archive, - name = "protoc_bin_macos", - urls = [ - "https://github.com/protocolbuffers/protobuf/releases/download/v21.8/protoc-21.8-osx-universal_binary.zip", - ], - sha256 = "e3324d3bc2e9bc967a0bec2472e0ec73b26f952c7c87f2403197414f780c3c6c", - build_file_content = """exports_files(["bin/protoc"])""", - ) - - maybe( - http_archive, - name = "protoc_bin_linux_x86_64", - urls = [ - "https://github.com/protocolbuffers/protobuf/releases/download/v21.8/protoc-21.8-linux-x86_64.zip", - ], - sha256 = "f90d0dd59065fef94374745627336d622702b67f0319f96cee894d41a974d47a", - build_file_content = """exports_files(["bin/protoc"])""", - ) - - maybe( - http_archive, - name = "protoc_bin_linux_arm64", - urls = [ - "https://github.com/protocolbuffers/protobuf/releases/download/v21.8/protoc-21.8-linux-aarch_64.zip", - ], - sha256 = "f3d8eb5839d6186392d8c7b54fbeabbb6fcdd90618a500b77cb2e24faa245cad", - build_file_content = """exports_files(["bin/protoc"])""", - ) - - maybe( - http_archive, - name = "protoc_bin_windows", - urls = [ - "https://github.com/protocolbuffers/protobuf/releases/download/v21.8/protoc-21.8-win64.zip", - ], - sha256 = "3657053024faa439ff5f8c1dd2ee06bac0f9b9a3d660e99944f015a7451e87ec", - build_file_content = """exports_files(["bin/protoc.exe"])""", - ) - - if not native.existing_rule(name): - _setup_protoc( - name = name, - ) diff --git a/pylib/BUILD.bazel b/pylib/BUILD.bazel deleted file mode 100644 index ebcbc69a1..000000000 --- a/pylib/BUILD.bazel +++ /dev/null @@ -1,91 +0,0 @@ -load("@rules_python//python:defs.bzl", "py_binary", "py_test") -load("@py_deps//:requirements.bzl", "requirement") - -py_test( - name = "pytest", - srcs = glob(["tests/*.py"]), - data = glob(["tests/support/**"]), - main = "tests/run_pytest.py", - deps = [ - "//pylib/anki", - requirement("pytest"), - ], -) - -py_test( - name = "mypy", - srcs = [ - "tests/run_mypy.py", - ], - args = [ - "anki", - "$(location mypy.ini)", - "$(location //python/stubs:extendsitepkgs)", - ], - data = [ - "mypy.ini", - "//python/stubs", - "//python/stubs:extendsitepkgs", - ], - env = {"EXTRA_SITE_PACKAGES": "$(location //python/stubs)"}, - main = "tests/run_mypy.py", - deps = [ - "//pylib/anki", - "//pylib/anki:proto", - requirement("mypy"), - ], -) - -py_test( - name = "pylint", - srcs = [ - "tests/run_pylint.py", - ], - args = [ - "anki", - "$(location .pylintrc)", - ], - data = [".pylintrc"], - main = "tests/run_pylint.py", - deps = [ - "//pylib/anki", - requirement("pylint"), - ], -) - -py_test( - name = "format_check", - srcs = [ - "//pylib/tools:py_source_files", - "//pylib/anki:py_source_files", - ] + glob([ - "tests/**/*.py", - ]), - args = [ - "$(location .isort.cfg)", - ], - data = [".isort.cfg"], - main = "tests/run_format.py", - deps = [ - requirement("black"), - requirement("isort"), - ], -) - -py_binary( - name = "format", - srcs = [ - "tests/run_format.py", - ], - args = [ - "$(location .isort.cfg)", - "fix", - ], - data = [".isort.cfg"], - main = "tests/run_format.py", - tags = ["manual"], - deps = [ - requirement("black"), - requirement("isort"), - ], -) diff --git a/pylib/anki/BUILD.bazel b/pylib/anki/BUILD.bazel deleted file mode 100644 index 480b7ba4b..000000000 --- a/pylib/anki/BUILD.bazel +++ /dev/null @@ -1,133 +0,0 @@ -load("@bazel_skylib//rules:copy_file.bzl", "copy_file") -load("@rules_python//python:defs.bzl", "py_library") -load("@py_deps//:requirements.bzl", "requirement") -load("@rules_python//python:packaging.bzl", "py_package", "py_wheel") -load("//:defs.bzl", "anki_version") -load("//pylib:orjson.bzl", "orjson_if_available") -load("//pylib:protobuf.bzl", "py_proto") - -copy_file( - name = "buildinfo", - src = "//:buildinfo.txt", - out = "buildinfo.txt", -) - -genrule( - name = "hooks_gen", - outs = ["hooks_gen.py"], - cmd = "$(location //pylib/tools:genhooks) $@", - tools = ["//pylib/tools:genhooks"], -) - -_py_srcs = glob( - ["**/*.py"], - exclude = [ - "hooks_gen.py", - ], -) + ["//pylib/anki/_vendor"] - -py_library( - name = "anki", - srcs = _py_srcs, - data = [ - "py.typed", - ":buildinfo", - ":hooks_gen", - "//pylib/anki/_backend", - ], - imports = [ - "..", - ], - visibility = ["//visibility:public"], - deps = [ - ":proto", - requirement("beautifulsoup4"), - requirement("decorator"), - requirement("distro"), - requirement("protobuf"), - requirement("requests"), - requirement("flask"), - requirement("waitress"), - requirement("markdown"), - ] + orjson_if_available(), -) - -py_package( - name = "anki_pkg", - packages = ["pylib.anki"], - deps = [":anki"], -) - -py_wheel( - name = "wheel", - abi = "abi3", - description_file = "wheel_description.txt", - distribution = "anki", - extra_requires = { - "syncserver": [ - "flask", - "waitress", - ], - }, - platform = select({ - "//platforms:windows_x86_64": "win_amd64", - "//platforms:macos_x86_64": "macosx_10_13_x86_64", - "//platforms:macos_arm64": "macosx_11_0_arm64", - # the glibc versions below are set for the official builds; - # you can adjust them to suit your environment - "//platforms:linux_x86_64": "manylinux_2_28_x86_64", - "//platforms:linux_arm64": "manylinux_2_31_aarch64", - }), - python_tag = "cp39", - requires = [ - "beautifulsoup4", - "requests[socks]", - "decorator", - "protobuf>=3.17", - "markdown", - "orjson", - 'psutil; sys_platform == "win32"', - 'distro; sys_platform != "darwin" and sys_platform != "win32"', - ], - strip_path_prefixes = [ - "pylib/", - ], - tags = ["manual"], - version = anki_version, - visibility = ["//visibility:public"], - deps = [":anki_pkg"], -) - -filegroup( - name = "py_source_files", - srcs = _py_srcs + [ - "//pylib/anki/_backend:py_source_files", - ], - visibility = [ - "//pylib:__subpackages__", - ], -) - -py_proto( - name = "proto_py", - srcs = ["//proto"], - visibility = [ - "//visibility:public", - ], -) - -py_library( - name = "proto", - srcs = [ - "__init__.py", - # includes the .py files - ":proto_py", - ], - # includes the .pyi files - data = [ - "py.typed", - ":proto_py", - ], - imports = [".."], - visibility = ["//visibility:public"], -) diff --git a/pylib/anki/_backend/__init__.py b/pylib/anki/_backend.py similarity index 94% rename from pylib/anki/_backend/__init__.py rename to pylib/anki/_backend.py index 54577dfa3..14ec24338 100644 --- a/pylib/anki/_backend/__init__.py +++ b/pylib/anki/_backend.py @@ -12,13 +12,14 @@ from markdown import markdown import anki.buildinfo import anki.lang -from anki import backend_pb2, i18n_pb2 -from anki._backend.generated import RustBackendGenerated +from anki import _rsbridge, backend_pb2, i18n_pb2 +from anki._backend_generated import RustBackendGenerated +from anki._fluent import GeneratedTranslations from anki.dbproxy import Row as DBRow from anki.dbproxy import ValueForDB from anki.utils import from_json_bytes, to_json_bytes -from ..errors import ( +from .errors import ( BackendError, BackendIOError, CardTypeError, @@ -36,14 +37,15 @@ from ..errors import ( TemplateError, UndoEmpty, ) -from . import rsbridge -from .fluent import GeneratedTranslations, LegacyTranslationEnum # the following comment is required to suppress a warning that only shows up # when there are other pylint failures # pylint: disable=c-extension-no-member -if rsbridge.buildhash() != anki.buildinfo.buildhash: - raise Exception("rsbridge and anki build hashes do not match") +if _rsbridge.buildhash() != anki.buildinfo.buildhash: + raise Exception( + f"""rsbridge and anki build hashes do not match: +{_rsbridge.buildhash()} vs {anki.buildinfo.buildhash}""" + ) class RustBackend(RustBackendGenerated): @@ -74,7 +76,7 @@ class RustBackend(RustBackendGenerated): preferred_langs=langs, server=server, ) - self._backend = rsbridge.open_backend(init_msg.SerializeToString(), log_file) + self._backend = _rsbridge.open_backend(init_msg.SerializeToString(), log_file) def db_query( self, sql: str, args: Sequence[ValueForDB], first_row_only: bool diff --git a/pylib/anki/_backend/BUILD.bazel b/pylib/anki/_backend/BUILD.bazel deleted file mode 100644 index edaf407c7..000000000 --- a/pylib/anki/_backend/BUILD.bazel +++ /dev/null @@ -1,77 +0,0 @@ -load("@rules_python//python:defs.bzl", "py_binary") -load("@py_deps//:requirements.bzl", "requirement") -load("@bazel_skylib//rules:copy_file.bzl", "copy_file") -load("@bazel_skylib//lib:selects.bzl", "selects") -load(":python_lib.bzl", "copy_python_lib") - -py_binary( - name = "genbackend", - srcs = [ - "genbackend.py", - ], - deps = [ - requirement("black"), - "//pylib/anki/_vendor:stringcase", - requirement("protobuf"), - "//pylib/anki:proto", - ], -) - -genrule( - name = "rsbackend_gen", - outs = ["generated.py"], - cmd = "$(location genbackend) $@", - tools = ["genbackend"], -) - -py_binary( - name = "genfluent", - srcs = [ - "genfluent.py", - ], - deps = [ - requirement("black"), - "//pylib/anki/_vendor:stringcase", - ], -) - -genrule( - name = "fluent_gen", - outs = ["fluent.py"], - cmd = "$(location genfluent) $(location //rslib/i18n:strings.json) $@", - tools = [ - "genfluent", - "//rslib/i18n:strings.json", - ], -) - -copy_python_lib( - name = "rsbridge", - src = "//pylib/rsbridge", -) - -_py_srcs = [ - "genbackend.py", - "__init__.py", -] - -# for format check -filegroup( - name = "py_source_files", - srcs = _py_srcs, - visibility = [ - "//pylib:__subpackages__", - ], -) - -filegroup( - name = "_backend", - srcs = [ - "__init__.py", - "rsbridge.pyi", - ":fluent_gen", - ":rsbackend_gen", - ":rsbridge", - ], - visibility = ["//pylib:__subpackages__"], -) diff --git a/pylib/anki/_backend/fluent.py b/pylib/anki/_backend/fluent.py deleted file mode 120000 index 4fe10d9b7..000000000 --- a/pylib/anki/_backend/fluent.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/pylib/anki/_backend/fluent.py \ No newline at end of file diff --git a/pylib/anki/_backend/generated.py b/pylib/anki/_backend/generated.py deleted file mode 120000 index a345c5b8d..000000000 --- a/pylib/anki/_backend/generated.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/pylib/anki/_backend/generated.py \ No newline at end of file diff --git a/pylib/anki/_backend/python_lib.bzl b/pylib/anki/_backend/python_lib.bzl deleted file mode 100644 index 34a9a55ba..000000000 --- a/pylib/anki/_backend/python_lib.bzl +++ /dev/null @@ -1,38 +0,0 @@ -load("@bazel_skylib//lib:paths.bzl", "paths") - -def _copy_python_lib_impl(ctx): - desired_file = None - target_name = ctx.label.name - if ctx.attr.is_windows: - target_name += ".pyd" - for file in ctx.files.src: - if file.extension == "dll": - desired_file = file - break - else: - target_name += ".so" - desired_file = ctx.files.src[0] - - file = ctx.actions.declare_file(target_name) - ctx.actions.symlink(output = file, target_file = desired_file) - - return [DefaultInfo(files = depset([file]))] - -_copy_python_lib = rule( - implementation = _copy_python_lib_impl, - attrs = { - "src": attr.label(), - "is_windows": attr.bool(mandatory = True), - }, -) - -def copy_python_lib(name, src): - "Copy a dynamic library, renaming it to the extension Python expects." - _copy_python_lib( - name = name, - src = src, - is_windows = select({ - "@bazel_tools//src/conditions:host_windows": True, - "//conditions:default": False, - }), - ) diff --git a/pylib/anki/_legacy.py b/pylib/anki/_legacy.py index 3e6d3c97e..39a445900 100644 --- a/pylib/anki/_legacy.py +++ b/pylib/anki/_legacy.py @@ -6,10 +6,13 @@ from __future__ import annotations import functools import os import pathlib +import sys import traceback from typing import TYPE_CHECKING, Any, Callable, Union -from anki._vendor import stringcase +from anki._vendor import stringcase # type: ignore + +sys.modules["stringcase"] = stringcase VariableTarget = tuple[Any, str] DeprecatedAliasTarget = Union[Callable, VariableTarget] diff --git a/pylib/anki/_backend/rsbridge.pyi b/pylib/anki/_rsbridge.pyi similarity index 100% rename from pylib/anki/_backend/rsbridge.pyi rename to pylib/anki/_rsbridge.pyi diff --git a/pylib/anki/_vendor/BUILD.bazel b/pylib/anki/_vendor/BUILD.bazel deleted file mode 100644 index 15d475f7e..000000000 --- a/pylib/anki/_vendor/BUILD.bazel +++ /dev/null @@ -1,18 +0,0 @@ -# export stringcase as a separate python library as well, as our build tools need it -py_library( - name = "stringcase", - srcs = ["stringcase.py"], - imports = [ - ".", - ], - visibility = ["//visibility:public"], -) - -filegroup( - name = "_vendor", - srcs = [ - "__init__.py", - "stringcase.py", - ], - visibility = ["//pylib:__subpackages__"], -) diff --git a/pylib/anki/_vendor/__init__.py b/pylib/anki/_vendor/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/pylib/anki/backend_pb2.pyi b/pylib/anki/backend_pb2.pyi deleted file mode 120000 index 3bb09b10c..000000000 --- a/pylib/anki/backend_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/backend_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/buildinfo.py b/pylib/anki/buildinfo.py deleted file mode 100644 index 89230adcc..000000000 --- a/pylib/anki/buildinfo.py +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -from importlib.resources import open_text - - -def _get_build_info() -> dict[str, str]: - info = {} - with open_text("anki", "buildinfo.txt") as file: - for line in file.readlines(): - elems = line.split() - if len(elems) == 2: - key, val = elems - info[key] = val - - return info - - -_buildinfo = _get_build_info() -buildhash = _buildinfo["STABLE_BUILDHASH"] -version = _buildinfo["STABLE_VERSION"] diff --git a/pylib/anki/card_rendering_pb2.pyi b/pylib/anki/card_rendering_pb2.pyi deleted file mode 120000 index 397dd3cec..000000000 --- a/pylib/anki/card_rendering_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/card_rendering_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/cards_pb2.pyi b/pylib/anki/cards_pb2.pyi deleted file mode 120000 index 713cef85e..000000000 --- a/pylib/anki/cards_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/cards_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/collection_pb2.pyi b/pylib/anki/collection_pb2.pyi deleted file mode 120000 index 8d21e5808..000000000 --- a/pylib/anki/collection_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/collection_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/config_pb2.pyi b/pylib/anki/config_pb2.pyi deleted file mode 120000 index c7168ab2b..000000000 --- a/pylib/anki/config_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/config_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/deckconfig_pb2.pyi b/pylib/anki/deckconfig_pb2.pyi deleted file mode 120000 index 281f6c8f2..000000000 --- a/pylib/anki/deckconfig_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/deckconfig_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/decks_pb2.pyi b/pylib/anki/decks_pb2.pyi deleted file mode 120000 index f91725097..000000000 --- a/pylib/anki/decks_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/decks_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/generic_pb2.pyi b/pylib/anki/generic_pb2.pyi deleted file mode 120000 index cd9e7511e..000000000 --- a/pylib/anki/generic_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/generic_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/hooks_gen.py b/pylib/anki/hooks_gen.py deleted file mode 120000 index 92a841737..000000000 --- a/pylib/anki/hooks_gen.py +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/hooks_gen.py \ No newline at end of file diff --git a/pylib/anki/i18n_pb2.pyi b/pylib/anki/i18n_pb2.pyi deleted file mode 120000 index b55e4c15a..000000000 --- a/pylib/anki/i18n_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/i18n_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/import_export_pb2.pyi b/pylib/anki/import_export_pb2.pyi deleted file mode 120000 index d44638b4f..000000000 --- a/pylib/anki/import_export_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/import_export_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/lang.py b/pylib/anki/lang.py index d3e2d9291..3068e0229 100644 --- a/pylib/anki/lang.py +++ b/pylib/anki/lang.py @@ -14,7 +14,7 @@ import anki.i18n_pb2 as _pb from anki._legacy import DeprecatedNamesMixinForModule # public exports -TR = anki._backend.LegacyTranslationEnum +TR = anki._fluent.LegacyTranslationEnum FormatTimeSpan = _pb.FormatTimespanRequest diff --git a/pylib/anki/links_pb2.pyi b/pylib/anki/links_pb2.pyi deleted file mode 120000 index a3466fe2d..000000000 --- a/pylib/anki/links_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/links_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/media_pb2.pyi b/pylib/anki/media_pb2.pyi deleted file mode 120000 index b498aaf9f..000000000 --- a/pylib/anki/media_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/media_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/notes_pb2.pyi b/pylib/anki/notes_pb2.pyi deleted file mode 120000 index 1bd0e16bb..000000000 --- a/pylib/anki/notes_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/notes_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/notetypes_pb2.pyi b/pylib/anki/notetypes_pb2.pyi deleted file mode 120000 index d4cab2ddf..000000000 --- a/pylib/anki/notetypes_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/notetypes_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/scheduler_pb2.pyi b/pylib/anki/scheduler_pb2.pyi deleted file mode 120000 index 8e7a7e8ee..000000000 --- a/pylib/anki/scheduler_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/scheduler_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/search_pb2.pyi b/pylib/anki/search_pb2.pyi deleted file mode 120000 index a8a7b8f7c..000000000 --- a/pylib/anki/search_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/search_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/stats_pb2.pyi b/pylib/anki/stats_pb2.pyi deleted file mode 120000 index b614f01cb..000000000 --- a/pylib/anki/stats_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/stats_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/sync_pb2.pyi b/pylib/anki/sync_pb2.pyi deleted file mode 120000 index a12466ac0..000000000 --- a/pylib/anki/sync_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/sync_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/tags_pb2.pyi b/pylib/anki/tags_pb2.pyi deleted file mode 120000 index 67df1535b..000000000 --- a/pylib/anki/tags_pb2.pyi +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/pylib/anki/tags_pb2.pyi \ No newline at end of file diff --git a/pylib/anki/utils.py b/pylib/anki/utils.py index 489ca5536..5fbc29db9 100644 --- a/pylib/anki/utils.py +++ b/pylib/anki/utils.py @@ -307,7 +307,7 @@ def version_with_build() -> str: def point_version() -> int: from anki.buildinfo import version - return int(version.split(".")[-1]) + return int(version.rsplit(".", maxsplit=1)[-1]) # keep the legacy alias around without a deprecation warning for now diff --git a/pylib/anki/wheel_description.txt b/pylib/anki/wheel_description.txt deleted file mode 100644 index 7586b2f43..000000000 --- a/pylib/anki/wheel_description.txt +++ /dev/null @@ -1 +0,0 @@ -Please see https://apps.ankiweb.net diff --git a/pylib/mypy.ini b/pylib/mypy.ini deleted file mode 100644 index b3103e76c..000000000 --- a/pylib/mypy.ini +++ /dev/null @@ -1,43 +0,0 @@ -[mypy] -python_version = 3.9 -pretty = false -no_strict_optional = true -show_error_codes = true -check_untyped_defs = true -disallow_untyped_decorators = True -warn_redundant_casts = True -warn_unused_configs = True -strict_equality = true - -[mypy-anki.*] -disallow_untyped_defs = True -[mypy-anki.importing.*] -disallow_untyped_defs = False -[mypy-anki.exporting] -disallow_untyped_defs = False - -[mypy-anki.scheduler.base] -no_strict_optional = false - -[mypy-win32file] -ignore_missing_imports = True -[mypy-win32pipe] -ignore_missing_imports = True -[mypy-pywintypes] -ignore_missing_imports = True -[mypy-winerror] -ignore_missing_imports = True -[mypy-distro] -ignore_missing_imports = True -[mypy-win32api] -ignore_missing_imports = True -[mypy-xml.dom] -ignore_missing_imports = True -[mypy-psutil] -ignore_missing_imports = True -[mypy-bs4] -ignore_missing_imports = True -[mypy-anki._backend.rsbridge] -ignore_missing_imports = True -[mypy-anki._vendor.stringcase] -disallow_untyped_defs = False diff --git a/pylib/orjson.bzl b/pylib/orjson.bzl deleted file mode 100644 index 13d800ab4..000000000 --- a/pylib/orjson.bzl +++ /dev/null @@ -1,9 +0,0 @@ -load("@py_deps//:requirements.bzl", "requirement") - -def orjson_if_available(): - "Include orjson if it's listed in requirements.txt." - target = requirement("orjson") - if "not_found" in target: - return [] - else: - return [target] diff --git a/pylib/protobuf.bzl b/pylib/protobuf.bzl deleted file mode 100644 index 4ba3b65f4..000000000 --- a/pylib/protobuf.bzl +++ /dev/null @@ -1,50 +0,0 @@ -load("@bazel_skylib//lib:paths.bzl", "paths") - -def _py_proto_impl(ctx): - outs = [] - for src in ctx.files.srcs: - base = paths.basename(src.path) - outs.append(ctx.actions.declare_file(paths.replace_extension(base, "_pb2.py"))) - outs.append(ctx.actions.declare_file(paths.replace_extension(base, "_pb2.pyi"))) - - ctx.actions.run( - outputs = outs, - inputs = ctx.files.srcs, - executable = ctx.executable.protoc_wrapper, - arguments = [ - ctx.executable.protoc.path, - ctx.executable.mypy_protobuf.path, - paths.dirname(outs[0].path), - ] + [file.path for file in ctx.files.srcs], - tools = [ - ctx.executable.protoc, - ctx.executable.mypy_protobuf, - ], - use_default_shell_env = True, - ) - return [ - DefaultInfo(files = depset(direct = outs), data_runfiles = ctx.runfiles(files = outs)), - ] - -py_proto = rule( - implementation = _py_proto_impl, - attrs = { - "srcs": attr.label_list(allow_files = [".proto"]), - "protoc_wrapper": attr.label( - executable = True, - cfg = "exec", - default = Label("//pylib/tools:protoc_wrapper"), - ), - "protoc": attr.label( - executable = True, - cfg = "host", - allow_files = True, - default = Label("@com_google_protobuf//:protoc"), - ), - "mypy_protobuf": attr.label( - executable = True, - cfg = "exec", - default = Label("//pylib/tools:protoc-gen-mypy"), - ), - }, -) diff --git a/pylib/rsbridge/BUILD.bazel b/pylib/rsbridge/BUILD.bazel deleted file mode 100644 index 97b27109a..000000000 --- a/pylib/rsbridge/BUILD.bazel +++ /dev/null @@ -1,54 +0,0 @@ -load("@rules_rust//rust:defs.bzl", "rust_shared_library") -load("@rules_rust//cargo:cargo_build_script.bzl", "cargo_build_script") -load("@bazel_skylib//lib:selects.bzl", "selects") -load("//rslib:rustfmt.bzl", "rustfmt_fix", "rustfmt_test") - -cargo_build_script( - name = "build_script", - srcs = ["build.rs"], - build_script_env = { - "PYO3_PYTHON": "$(location @python)", - "MACOSX_DEPLOYMENT_TARGET": "10.13", - }, - data = [ - "@python", - ], -) - -rust_shared_library( - name = "rsbridge", - srcs = ["lib.rs"], - rustc_flags = selects.with_or({ - ( - "@rules_rust//rust/platform:x86_64-apple-darwin", - "@rules_rust//rust/platform:aarch64-apple-darwin", - ): [ - "-Clink-arg=-undefined", - "-Clink-arg=dynamic_lookup", - "-Clink-arg=-mmacosx-version-min=10.13", - ], - "//conditions:default": [], - }), - visibility = [ - "//pylib:__subpackages__", - ], - deps = [ - ":build_script", - "//pylib/rsbridge/cargo:pyo3", - "//rslib:anki", - ], -) - -rustfmt_test( - name = "format_check", - srcs = glob([ - "*.rs", - ]), -) - -rustfmt_fix( - name = "format", - srcs = glob([ - "*.rs", - ]), -) diff --git a/pylib/rsbridge/Cargo.toml b/pylib/rsbridge/Cargo.toml index 9fb727166..fcec4a551 100644 --- a/pylib/rsbridge/Cargo.toml +++ b/pylib/rsbridge/Cargo.toml @@ -1,13 +1,16 @@ [package] name = "rsbridge" -version = "0.0.0" -authors = ["Ankitects Pty Ltd and contributors "] -edition = "2021" -license = "AGPL-3.0-or-later" description = "Anki's Rust library code Python bindings" +version.workspace = true +authors.workspace = true +license.workspace = true +edition.workspace = true +rust-version.workspace = true + [dependencies] anki = { path = "../../rslib" } +workspace-hack = { version = "0.1", path = "../../tools/workspace-hack" } # /cargo/update.py needs to be run if updating the version below [dependencies.pyo3] @@ -18,3 +21,7 @@ features = ["extension-module", "abi3", "abi3-py39"] name = "rsbridge" crate-type = ["cdylib"] path = "lib.rs" + +[features] +rustls = ["anki/rustls"] +native-tls = ["anki/native-tls"] diff --git a/pylib/rsbridge/build.rs b/pylib/rsbridge/build.rs index 5896edf7f..d9809be73 100644 --- a/pylib/rsbridge/build.rs +++ b/pylib/rsbridge/build.rs @@ -1,12 +1,21 @@ // Copyright: Ankitects Pty Ltd and contributors // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html +use std::path::Path; + fn main() { - // this build script simply exists so we can extend the link path - // inside Bazel based on an env var, as we need to provide a custom - // path to Python on Windows. - if let Ok(path) = std::env::var("PYO3_PYTHON") { - let path = std::path::Path::new(&path).with_file_name("libs"); - println!("cargo:rustc-link-search={}", path.to_str().unwrap()); + // macOS needs special link flags for PyO3 + if cfg!(target_os = "macos") { + println!("cargo:rustc-link-arg=-undefined"); + println!("cargo:rustc-link-arg=dynamic_lookup"); + println!("cargo:rustc-link-arg=-mmacosx-version-min=10.13"); + } + + // On Windows, we need to be able to link with python3.lib + if cfg!(windows) { + let lib_path = Path::new("../../out/extracted/python/libs") + .canonicalize() + .expect("libs"); + println!("cargo:rustc-link-search={}", lib_path.display()); } } diff --git a/pylib/rsbridge/cargo/BUILD.bazel b/pylib/rsbridge/cargo/BUILD.bazel deleted file mode 100644 index 8e90077cc..000000000 --- a/pylib/rsbridge/cargo/BUILD.bazel +++ /dev/null @@ -1,625 +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 = "ammonia", - actual = "@raze__ammonia__3_2_1//:ammonia", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "async_trait", - actual = "@raze__async_trait__0_1_57//:async_trait", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "blake3", - actual = "@raze__blake3__1_3_1//:blake3", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "bytes", - actual = "@raze__bytes__1_2_1//:bytes", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "chrono", - actual = "@raze__chrono__0_4_22//:chrono", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "coarsetime", - actual = "@raze__coarsetime__0_1_22//:coarsetime", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "convert_case", - actual = "@raze__convert_case__0_6_0//:convert_case", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "csv", - actual = "@raze__csv__1_1_6//:csv", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "dissimilar", - actual = "@raze__dissimilar__1_0_4//:dissimilar", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "env_logger", - actual = "@raze__env_logger__0_9_1//:env_logger", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "flate2", - actual = "@raze__flate2__1_0_24//:flate2", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent", - actual = "@raze__fluent__0_16_0//:fluent", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent_bundle", - actual = "@raze__fluent_bundle__0_15_2//:fluent_bundle", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent_syntax", - actual = "@raze__fluent_syntax__0_11_0//:fluent_syntax", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fnv", - actual = "@raze__fnv__1_0_7//:fnv", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "futures", - actual = "@raze__futures__0_3_24//:futures", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "hex", - actual = "@raze__hex__0_4_3//:hex", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "htmlescape", - actual = "@raze__htmlescape__0_3_1//:htmlescape", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "id_tree", - actual = "@raze__id_tree__1_8_0//:id_tree", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "inflections", - actual = "@raze__inflections__1_1_1//:inflections", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "intl_memoizer", - actual = "@raze__intl_memoizer__0_5_1//:intl_memoizer", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "itertools", - actual = "@raze__itertools__0_10_5//:itertools", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "lazy_static", - actual = "@raze__lazy_static__1_4_0//:lazy_static", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "linkcheck", - actual = "@raze__linkcheck__0_4_1_alpha_0//:linkcheck", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "nom", - actual = "@raze__nom__7_1_1//:nom", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_cpus", - actual = "@raze__num_cpus__1_13_1//:num_cpus", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_enum", - actual = "@raze__num_enum__0_5_7//:num_enum", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_format", - actual = "@raze__num_format__0_4_0//:num_format", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_integer", - actual = "@raze__num_integer__0_1_45//:num_integer", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "once_cell", - actual = "@raze__once_cell__1_15_0//:once_cell", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pct_str", - actual = "@raze__pct_str__1_1_0//:pct_str", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "phf", - actual = "@raze__phf__0_11_1//:phf", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pin_project", - actual = "@raze__pin_project__1_0_12//:pin_project", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "proc_macro_nested", - actual = "@raze__proc_macro_nested__0_1_7//:proc_macro_nested", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "prost", - actual = "@raze__prost__0_11_0//:prost", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "prost_build", - actual = "@raze__prost_build__0_11_1//:prost_build", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pulldown_cmark", - actual = "@raze__pulldown_cmark__0_9_2//:pulldown_cmark", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pyo3", - actual = "@raze__pyo3__0_17_1//:pyo3", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "rand", - actual = "@raze__rand__0_8_5//:rand", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "regex", - actual = "@raze__regex__1_6_0//:regex", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "reqwest", - actual = "@raze__reqwest__0_11_3//:reqwest", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "rusqlite", - actual = "@raze__rusqlite__0_28_0//:rusqlite", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "scopeguard", - actual = "@raze__scopeguard__1_1_0//:scopeguard", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde", - actual = "@raze__serde__1_0_145//:serde", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_aux", - actual = "@raze__serde_aux__4_0_0//:serde_aux", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_derive", - actual = "@raze__serde_derive__1_0_145//:serde_derive", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_json", - actual = "@raze__serde_json__1_0_85//:serde_json", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_repr", - actual = "@raze__serde_repr__0_1_9//:serde_repr", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_tuple", - actual = "@raze__serde_tuple__0_5_0//:serde_tuple", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "sha1", - actual = "@raze__sha1__0_6_1//:sha1", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog", - actual = "@raze__slog__2_7_0//:slog", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_async", - actual = "@raze__slog_async__2_7_0//:slog_async", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_envlogger", - actual = "@raze__slog_envlogger__2_2_0//:slog_envlogger", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_term", - actual = "@raze__slog_term__2_9_0//:slog_term", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "snafu", - actual = "@raze__snafu__0_7_2//:snafu", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "strum", - actual = "@raze__strum__0_24_1//:strum", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tempfile", - actual = "@raze__tempfile__3_3_0//:tempfile", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tokio", - actual = "@raze__tokio__1_21_1//:tokio", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tokio_util", - actual = "@raze__tokio_util__0_7_4//:tokio_util", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unic_langid", - actual = "@raze__unic_langid__0_9_0//:unic_langid", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unic_ucd_category", - actual = "@raze__unic_ucd_category__0_9_0//:unic_ucd_category", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unicase", - actual = "@raze__unicase__2_6_0//:unicase", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unicode_normalization", - actual = "@raze__unicode_normalization__0_1_22//:unicode_normalization", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "utime", - actual = "@raze__utime__0_3_1//:utime", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "walkdir", - actual = "@raze__walkdir__2_3_2//:walkdir", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "which", - actual = "@raze__which__4_3_0//:which", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "zip", - actual = "@raze__zip__0_6_2//:zip", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "zstd", - actual = "@raze__zstd__0_11_2_zstd_1_5_2//:zstd", - tags = [ - "cargo-raze", - "manual", - ], -) diff --git a/pylib/rsbridge/lib.rs b/pylib/rsbridge/lib.rs index 258b168c2..a84b98e43 100644 --- a/pylib/rsbridge/lib.rs +++ b/pylib/rsbridge/lib.rs @@ -1,19 +1,20 @@ // Copyright: Ankitects Pty Ltd and contributors // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -use anki::backend::{init_backend, Backend as RustBackend}; -use anki::log::default_logger; -use pyo3::exceptions::PyException; -use pyo3::prelude::*; -use pyo3::types::PyBytes; -use pyo3::{create_exception, wrap_pyfunction}; +use anki::{ + backend::{init_backend, Backend as RustBackend}, + log::default_logger, +}; +use pyo3::{ + create_exception, exceptions::PyException, prelude::*, types::PyBytes, wrap_pyfunction, +}; -#[pyclass(module = "rsbridge")] +#[pyclass(module = "_rsbridge")] struct Backend { backend: RustBackend, } -create_exception!(rsbridge, BackendError, PyException); +create_exception!(_rsbridge, BackendError, PyException); #[pyfunction] fn buildhash() -> &'static str { @@ -69,7 +70,7 @@ impl Backend { ////////////////////////////////// #[pymodule] -fn rsbridge(_py: Python, m: &PyModule) -> PyResult<()> { +fn _rsbridge(_py: Python, m: &PyModule) -> PyResult<()> { m.add_class::()?; m.add_wrapped(wrap_pyfunction!(buildhash)).unwrap(); m.add_wrapped(wrap_pyfunction!(open_backend)).unwrap(); diff --git a/pylib/tests/run_format.py b/pylib/tests/run_format.py deleted file mode 100644 index f6a676d68..000000000 --- a/pylib/tests/run_format.py +++ /dev/null @@ -1,65 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import os -import subprocess -import sys - -if __name__ == "__main__": - isort_ini = sys.argv[1] - isort_ini = os.path.abspath(isort_ini) - fix = len(sys.argv) > 2 - - if sys.platform == "linux": - import fcntl - - file = open("/tmp/anki-black", "w") - fcntl.lockf(file, fcntl.LOCK_EX) - - if fix: - os.chdir(os.path.join(os.environ["BUILD_WORKSPACE_DIRECTORY"], "pylib")) - args = [] - else: - folder = os.path.join(os.path.dirname(__file__), "..") - print(folder) - os.chdir(folder) - args = ["--diff", "--check"] - - # work around issue with latest black - if sys.platform == "win32" and "HOME" in os.environ: - os.environ["USERPROFILE"] = os.environ["HOME"] - - retcode = subprocess.run( - [ - sys.executable, - "-m", - "black", - "-t", - "py39", - "anki", - "tests", - "tools", - "--exclude=_pb2|buildinfo|_gen|_backend/generated|fluent", - ] - + args, - check=False, - ).returncode - if retcode != 0: - sys.exit(retcode) - - retcode = subprocess.run( - [ - sys.executable, - "-m", - "isort", - "--settings-path", - isort_ini, - "anki", - "tests", - "tools", - ] - + args, - check=False, - ).returncode - if retcode != 0: - sys.exit(retcode) diff --git a/pylib/tests/run_mypy.py b/pylib/tests/run_mypy.py deleted file mode 100644 index 74edf429f..000000000 --- a/pylib/tests/run_mypy.py +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import os -import subprocess -import sys -import tempfile -from pathlib import Path - -if __name__ == "__main__": - (module, ini, extendsitepkgs) = sys.argv[1:] - ini = os.path.abspath(ini) - extendsitepkgs = os.path.abspath(extendsitepkgs) - extra_site = os.path.abspath(os.getenv("EXTRA_SITE_PACKAGES")) - - folder = os.path.join(os.path.dirname(__file__), "..") - os.chdir(folder) - - args = [ - sys.executable, - "-m", - "mypy", - module, - "--config-file", - ini, - "--cache-dir", - Path(tempfile.gettempdir()) / ".mypy-anki-pylib", - "--sqlite-cache", - "--python-executable", - extendsitepkgs, - ] - - os.environ["EXTRA_SITE_PACKAGES"] = extra_site - - if sys.platform.startswith("win32"): - # bazel passes in \\?\c:\... path; mypy can't handle it, so we - # strip off prefix - for entry in sys.path: - if entry.endswith("deps_mypy"): - typeshed = f"{entry[4:]}\\mypy\\typeshed" - args.append("--custom-typeshed-dir") - args.append(typeshed) - - sys.exit(subprocess.run(args, check=False).returncode) diff --git a/pylib/tests/run_pylint.py b/pylib/tests/run_pylint.py deleted file mode 100644 index 828a9d02e..000000000 --- a/pylib/tests/run_pylint.py +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import os -import subprocess -import sys - -if __name__ == "__main__": - (module, ini) = sys.argv[1:] - ini = os.path.abspath(ini) - - folder = os.path.join(os.path.dirname(__file__), "..") - os.chdir(folder) - - sys.exit( - subprocess.run( - [ - sys.executable, - "-m", - "pylint", - module, - "-j", - "0", - "--rcfile", - ini, - "--persistent=no", - ], - check=False, - ).returncode - ) diff --git a/pylib/tests/run_pytest.py b/pylib/tests/run_pytest.py deleted file mode 100644 index f4b6d75b7..000000000 --- a/pylib/tests/run_pytest.py +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import os -import sys - -import pytest - -os.environ["ANKI_TEST_MODE"] = "1" - -if __name__ == "__main__": - folder = os.path.join(os.path.dirname(__file__), "..", "tests") - args = ["--verbose", "-s", folder] - # allow specifying an individual test, eg - # bazel test //pylib:pytest --test_env=PYTEST=test_bury - if pytest_extra := os.environ.get("PYTEST", ""): - args.extend(["-k", pytest_extra]) - sys.exit(pytest.main(args)) diff --git a/pylib/tests/shared.py b/pylib/tests/shared.py index ce6fe9d8f..6b653cf17 100644 --- a/pylib/tests/shared.py +++ b/pylib/tests/shared.py @@ -1,6 +1,8 @@ # Copyright: Ankitects Pty Ltd and contributors # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html +from __future__ import annotations + import os import shutil import tempfile @@ -32,22 +34,24 @@ def assertException(exception, func): # Creating new decks is expensive. Just do it once, and then spin off # copies from the master. +_emptyCol: str | None = None + + def getEmptyCol(): - if len(getEmptyCol.master) == 0: - (fd, nam) = tempfile.mkstemp(suffix=".anki2") + global _emptyCol + if not _emptyCol: + (fd, path) = tempfile.mkstemp(suffix=".anki2") os.close(fd) - os.unlink(nam) - col = aopen(nam) + os.unlink(path) + col = aopen(path) col.close(downgrade=False) - getEmptyCol.master = nam - (fd, nam) = tempfile.mkstemp(suffix=".anki2") - shutil.copy(getEmptyCol.master, nam) - col = aopen(nam) + _emptyCol = path + (fd, path) = tempfile.mkstemp(suffix=".anki2") + shutil.copy(_emptyCol, path) + col = aopen(path) return col -getEmptyCol.master = "" - # Fallback for when the DB needs options passed in. def getEmptyDeckWith(**kwargs): (fd, nam) = tempfile.mkstemp(suffix=".anki2") diff --git a/pylib/tests/test_collection.py b/pylib/tests/test_collection.py index 16b30eb32..2c316d6cb 100644 --- a/pylib/tests/test_collection.py +++ b/pylib/tests/test_collection.py @@ -5,6 +5,7 @@ import os import tempfile +from typing import Any from anki.collection import Collection as aopen from anki.dbproxy import emulate_named_args @@ -163,7 +164,7 @@ def test_translate(): def test_db_named_args(capsys): sql = "select a, 2+:test5 from b where arg =:foo and x = :test5" - args = [] + args: tuple = tuple() kwargs = dict(test5=5, foo="blah") s, a = emulate_named_args(sql, args, kwargs) diff --git a/pylib/tests/test_exporting.py b/pylib/tests/test_exporting.py index ef3309fae..afc8a7c78 100644 --- a/pylib/tests/test_exporting.py +++ b/pylib/tests/test_exporting.py @@ -1,7 +1,7 @@ # Copyright: Ankitects Pty Ltd and contributors # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -# coding: utf-8 +from __future__ import annotations import os import tempfile @@ -19,8 +19,7 @@ def getEmptyCol(): return col -col = None -ds = None +col: Collection | None = None testDir = os.path.dirname(__file__) @@ -79,7 +78,7 @@ def test_export_anki(): newname = str(newname) os.close(fd) os.unlink(newname) - e.did = 1 + e.did = DeckId(1) e.exportInto(newname) col2 = aopen(newname) assert col2.card_count() == 1 diff --git a/pylib/tests/test_importing.py b/pylib/tests/test_importing.py index 3ccce0b62..ec2460bf7 100644 --- a/pylib/tests/test_importing.py +++ b/pylib/tests/test_importing.py @@ -20,9 +20,6 @@ from tests.shared import getEmptyCol, getUpgradeDeckPath testDir = os.path.dirname(__file__) -srcNotes = None -srcCards = None - def clear_tempfile(tf): """https://stackoverflow.com/questions/23212435/permission-denied-to-write-to-my-temporary-file""" @@ -107,12 +104,12 @@ def test_anki2_diffmodel_templates(): # import the first version of the model col = getUpgradeDeckPath("diffmodeltemplates-1.apkg") imp = AnkiPackageImporter(dst, col) - imp.dupeOnSchemaChange = True + imp.dupeOnSchemaChange = True # type: ignore imp.run() # then the version with updated template col = getUpgradeDeckPath("diffmodeltemplates-2.apkg") imp = AnkiPackageImporter(dst, col) - imp.dupeOnSchemaChange = True + imp.dupeOnSchemaChange = True # type: ignore imp.run() # collection should contain the note we imported assert dst.note_count() == 1 diff --git a/pylib/tests/test_schedv2.py b/pylib/tests/test_schedv2.py index 5ccd5810b..78fcfcae3 100644 --- a/pylib/tests/test_schedv2.py +++ b/pylib/tests/test_schedv2.py @@ -4,7 +4,7 @@ import copy import os import time -from typing import Dict +from typing import Callable, Dict import pytest @@ -717,7 +717,12 @@ def test_suspend(): def test_filt_reviewing_early_normal(): - to_int = round if is_2021() else int + def to_int(val: float) -> int: + if is_2021(): + return round(val) + else: + return int(val) + col = getEmptyCol() note = col.newNote() note["Front"] = "one" diff --git a/pylib/tools/BUILD.bazel b/pylib/tools/BUILD.bazel deleted file mode 100644 index ef417a112..000000000 --- a/pylib/tools/BUILD.bazel +++ /dev/null @@ -1,64 +0,0 @@ -load("@rules_python//python:defs.bzl", "py_binary", "py_library") -load("@py_deps//:requirements.bzl", "requirement") - -py_binary( - name = "protoc-gen-mypy", - srcs = ["protoc-gen-mypy.py"], - visibility = [ - "//visibility:public", - ], - deps = [requirement("mypy-protobuf")], -) - -py_binary( - name = "protoc_wrapper", - srcs = ["protoc_wrapper.py"], - visibility = [ - "//visibility:public", - ], - deps = [ - ":protoc-gen-mypy", - "@rules_python//python/runfiles", - ], -) - -py_library( - name = "hookslib", - srcs = ["hookslib.py"], - imports = ["."], - visibility = [ - "//pylib:__subpackages__", - "//qt:__pkg__", - ], -) - -py_binary( - name = "genhooks", - srcs = [ - "genhooks.py", - "hookslib.py", - ], - imports = ["."], - visibility = ["//pylib:__subpackages__"], - deps = [ - requirement("black"), - "//pylib/anki/_vendor:stringcase", - ], -) - -py_binary( - name = "rewrite_tr", - srcs = [ - "rewrite_tr.py", - ], - tags = ["manual"], - deps = [ - "//pylib/anki/_vendor:stringcase", - ], -) - -filegroup( - name = "py_source_files", - srcs = glob(["*.py"]), - visibility = ["//pylib:__subpackages__"], -) diff --git a/pylib/tools/__init__.py b/pylib/tools/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/pylib/tools/diff-sched.py b/pylib/tools/diff-sched.py deleted file mode 100644 index e1e2d90cd..000000000 --- a/pylib/tools/diff-sched.py +++ /dev/null @@ -1,39 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -# a quick script to compare methods in the two schedulers - -import inspect -import sys -from difflib import SequenceMatcher, unified_diff - -from anki.sched import Scheduler as S1 -from anki.schedv2 import Scheduler as S2 - -s1map = {} -for k, v in S1.__dict__.items(): - if not callable(v): - continue - s1map[k] = v - -s2map = {} -for k, v in S2.__dict__.items(): - if not callable(v): - continue - s2map[k] = v - -for k, v in s1map.items(): - if k not in s2map: - continue - - s1b = inspect.getsource(v) - s2b = inspect.getsource(s2map[k]) - ratio = SequenceMatcher(None, s1b, s2b).ratio() - - if ratio >= 0.90: - print("*" * 80) - print(k, "%d%%" % (ratio * 100)) - sys.stdout.writelines( - "\n".join(unified_diff(s1b.splitlines(), s2b.splitlines(), lineterm="")) - ) - print() diff --git a/pylib/anki/_backend/genbackend.py b/pylib/tools/genbackend.py old mode 100755 new mode 100644 similarity index 97% rename from pylib/anki/_backend/genbackend.py rename to pylib/tools/genbackend.py index 8f8f82eb7..919f433d7 --- a/pylib/anki/_backend/genbackend.py +++ b/pylib/tools/genbackend.py @@ -2,32 +2,33 @@ # Copyright: Ankitects Pty Ltd and contributors # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -import os import re import sys +sys.path.append("out/pylib") +sys.path.append("pylib/anki/_vendor") + import google.protobuf.descriptor +import stringcase import anki.backend_pb2 -import anki.i18n_pb2 +import anki.card_rendering_pb2 import anki.cards_pb2 import anki.collection_pb2 -import anki.decks_pb2 +import anki.config_pb2 import anki.deckconfig_pb2 +import anki.decks_pb2 +import anki.i18n_pb2 +import anki.import_export_pb2 import anki.links_pb2 +import anki.media_pb2 import anki.notes_pb2 import anki.notetypes_pb2 import anki.scheduler_pb2 -import anki.sync_pb2 -import anki.config_pb2 import anki.search_pb2 import anki.stats_pb2 -import anki.card_rendering_pb2 +import anki.sync_pb2 import anki.tags_pb2 -import anki.media_pb2 -import anki.import_export_pb2 - -import stringcase TYPE_DOUBLE = 1 TYPE_FLOAT = 2 @@ -158,7 +159,7 @@ def render_method(service_idx, method_idx, method): return buf -out = [] +out: list[str] = [] def render_service( @@ -197,12 +198,8 @@ for service in anki.backend_pb2.ServiceIndex.DESCRIPTOR.values: service_index = service.number render_service(service_obj, service_index) - -out = "\n".join(out) - - -open(sys.argv[1], "wb").write( - ( +with open(sys.argv[1], "w", encoding="utf8") as f: + f.write( '''# Copyright: Ankitects Pty Ltd and contributors # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html # pylint: skip-file @@ -243,8 +240,7 @@ import anki.import_export_pb2 class RustBackendGenerated: def _run_command(self, service: int, method: int, input: Any) -> bytes: raise Exception("not implemented") - + ''' - + out - ).encode("utf8") -) + + "\n".join(out) + ) diff --git a/pylib/tools/genbuildinfo.py b/pylib/tools/genbuildinfo.py new file mode 100644 index 000000000..b997ca5b3 --- /dev/null +++ b/pylib/tools/genbuildinfo.py @@ -0,0 +1,20 @@ +# Copyright: Ankitects Pty Ltd and contributors +# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +import sys + +version_file = sys.argv[1] +buildhash_file = sys.argv[2] +outpath = sys.argv[3] + +with open(version_file, "r", encoding="utf8") as f: + version = f.read().strip() + +with open(buildhash_file, "r", encoding="utf8") as f: + buildhash = f.read().strip() + +with open(outpath, "w", encoding="utf8") as f: + # if we switch to uppercase we'll need to add legacy aliases + f.write("# pylint: disable=invalid-name\n") + f.write(f"version = '{version}'\n") + f.write(f"buildhash = '{buildhash}'\n") diff --git a/pylib/anki/_backend/genfluent.py b/pylib/tools/genfluent.py similarity index 90% rename from pylib/anki/_backend/genfluent.py rename to pylib/tools/genfluent.py index fae0c37cd..94b958773 100644 --- a/pylib/anki/_backend/genfluent.py +++ b/pylib/tools/genfluent.py @@ -1,14 +1,19 @@ # Copyright: Ankitects Pty Ltd and contributors # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html +# pylint: disable=unbalanced-tuple-unpacking + import json import sys -from typing import List, Literal, TypedDict +from typing import Literal, TypedDict + +sys.path.append("pylib/anki/_vendor") import stringcase strings_json, outfile = sys.argv[1:] -modules = json.load(open(strings_json, encoding="utf8")) +with open(strings_json, encoding="utf8") as f: + modules = json.load(f) class Variable(TypedDict): @@ -80,8 +85,8 @@ out += legacy_enum() out += methods() -open(outfile, "wb").write( - ( +with open(outfile, "w", encoding="utf8") as f: + f.write( '''# Copyright: Ankitects Pty Ltd and contributors # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html # pylint: skip-file @@ -91,7 +96,7 @@ from __future__ import annotations """ This file is automatically generated from the *.ftl files. """ - + import enum from typing import Dict, Union @@ -99,5 +104,4 @@ FluentVariable = Union[str, int, float] ''' + out - ).encode("utf8") -) + ) diff --git a/pylib/tools/hookslib.py b/pylib/tools/hookslib.py index fb601f231..c65b78480 100644 --- a/pylib/tools/hookslib.py +++ b/pylib/tools/hookslib.py @@ -10,7 +10,9 @@ import subprocess import sys from dataclasses import dataclass from operator import attrgetter -from typing import List, Optional +from typing import Optional + +sys.path.append("pylib/anki/_vendor") import stringcase diff --git a/pylib/tools/protoc-gen-mypy.py b/pylib/tools/protoc-gen-mypy.py deleted file mode 100755 index ba2374a5d..000000000 --- a/pylib/tools/protoc-gen-mypy.py +++ /dev/null @@ -1,9 +0,0 @@ -# copied from mypy_protobuf:bin - simple launch wrapper -import re -import sys - -from mypy_protobuf.main import main - -if __name__ == "__main__": - sys.argv[0] = re.sub(r"(-script\.pyw|\.exe)?$", "", sys.argv[0]) - sys.exit(main()) diff --git a/pylib/tools/protoc_wrapper.py b/pylib/tools/protoc_wrapper.py deleted file mode 100644 index 657338986..000000000 --- a/pylib/tools/protoc_wrapper.py +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -# -# Wrapper for protoc that strips the dirname from the output files, -# and generates mypy typechecking info. - -import os -import shutil -import subprocess -import sys -from pathlib import Path - -(protoc, mypy_protobuf, outdir, *protos) = sys.argv[1:] -outpath = Path(outdir).parent - -if protos[0].startswith("external"): - prefix = "external/ankidesktop/proto/" -else: - prefix = "proto/" - -# invoke protoc -subprocess.run( - [ - protoc, - f"--plugin=protoc-gen-mypy={mypy_protobuf}", - f"--python_out={outpath}", - f"--mypy_out={outpath}", - f"-I{prefix}", - f"-Iexternal/ankidesktop/{prefix}", - *protos, - ], - # mypy prints to stderr on success :-( - stderr=subprocess.DEVNULL, - check=True, -) diff --git a/pylib/tools/rewrite_tr.py b/pylib/tools/rewrite_tr.py deleted file mode 100644 index 7b91233ad..000000000 --- a/pylib/tools/rewrite_tr.py +++ /dev/null @@ -1,45 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -from __future__ import annotations - -import os -import re -from re import Match - -import stringcase - -TR_REF = re.compile( - r'\.trn\(\s*TR::([^,) ]+),\s+tr_(?:strs|args)!\[((?:"[A-z0-9_]+"\s*=>[^=]+?)+)]\s*,?\s*\)' -) -TR_ARG_INNER = re.compile(r'"([A-z0-9_]+)"\s*=>(?!=>)+,?\s*') - -# eg "count"=>output.trash_count, "megs"=>megs -def rewrite_tr_args(args: str) -> str: - return TR_ARG_INNER.sub("", args) - - -def repl(m: Match) -> str: - name = stringcase.snakecase(m.group(1)) - args = rewrite_tr_args(m.group(2)) - # print(m.group(0)) - # print(f".{name}({args})") - # print(args) - return f".{name}({args})" - - -def update_py(path: str) -> None: - buf = open(path).read() - buf2 = TR_REF.sub(repl, buf) - if buf != buf2: - open(path, "w").writelines(buf2) - print("updated", path) - # print(buf2) - - -for dirpath, dirnames, fnames in os.walk(os.environ["BUILD_WORKSPACE_DIRECTORY"]): - if "bazel-" in dirpath: - continue - for fname in fnames: - if fname.endswith(".rs"): - update_py(os.path.join(dirpath, fname)) diff --git a/pyrightconfig.json b/pyrightconfig.json deleted file mode 100644 index e58a21fb2..000000000 --- a/pyrightconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "exclude": ["**/node_modules", ".bazel", "dist"] -} diff --git a/python/BUILD.bazel b/python/BUILD.bazel deleted file mode 100644 index 93c0a9757..000000000 --- a/python/BUILD.bazel +++ /dev/null @@ -1,48 +0,0 @@ -load("@rules_python//python:defs.bzl", "py_binary") -load("@py_deps//:requirements.bzl", "requirement") -load(":binary.bzl", "pip_binary") - -# e.g. bazel run python -alias( - name = "python", - actual = "@python//:python", -) - -# e.g. bazel run python:pip -pip_binary(name = "pip") - -pip_binary(name = "black") - -pip_binary(name = "isort") - -pip_binary(name = "mypy") - -pip_binary( - name = "dmypy", - pkg = "mypy", -) - -pip_binary(name = "pylint") - -pip_binary( - name = "protoc-gen-mypy", - pkg = "mypy-protobuf", -) - -py_binary( - name = "update", - srcs = ["update.py"], - data = [ - "requirements.in", - "requirements.txt", - ], - tags = ["manual"], - deps = [ - requirement("pip-tools"), - ], -) - -exports_files([ - "requirements.txt", - "licenses.json", -]) diff --git a/python/README.md b/python/README.md index 0b841226e..574c231e9 100644 --- a/python/README.md +++ b/python/README.md @@ -1,9 +1,3 @@ -To achieve reproducible builds we use pip-tools to lock packages to a particular version. -Sadly this is complicated by the fact that Python can only tell us which transitive dependencies -are required by actually installing packages, and if you run pip-tools on a Mac or Linux machine, -it will miss packages that are required on Windows and vice versa. - -Currently the Windows dependencies are a strict superset, so the package locks need to be generated -on a Windows machine. To do so, run "bazel run update" from this folder. - -pyqt is handled separately - see pyqt/ +- To achieve reproducible builds we use pip-tools to lock packages to a particular version - see + update_python_deps.sh +- write_wheel.py is used to generate our wheels. diff --git a/python/binary.bzl b/python/binary.bzl deleted file mode 100644 index fbf8bbe23..000000000 --- a/python/binary.bzl +++ /dev/null @@ -1,15 +0,0 @@ -load("@bazel_skylib//rules:copy_file.bzl", "copy_file") -load("@py_deps//:requirements.bzl", "requirement") - -def pip_binary(name, pkg = None): - "Expose a binary from pip as an executable for linting. Does not work on Windows." - - if not pkg: - pkg = name - - native.alias( - name = name, - actual = requirement(pkg).replace(":pkg", ":rules_python_wheel_entry_point_" + name), - visibility = ["//visibility:public"], - tags = ["manual"], - ) diff --git a/pylib/anki/__init__.py b/python/mkempty.py similarity index 67% rename from pylib/anki/__init__.py rename to python/mkempty.py index e3d8b5638..0b6d201ef 100644 --- a/pylib/anki/__init__.py +++ b/python/mkempty.py @@ -1,2 +1,6 @@ # Copyright: Ankitects Pty Ltd and contributors # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +import sys + +open(sys.argv[1], "w", encoding="utf8").close() diff --git a/python/pyqt/BUILD.bazel b/python/pyqt/BUILD.bazel deleted file mode 100644 index e69de29bb..000000000 diff --git a/python/pyqt/README.md b/python/pyqt/README.md deleted file mode 100644 index 4278caed8..000000000 --- a/python/pyqt/README.md +++ /dev/null @@ -1,10 +0,0 @@ -We handle PyQt specially for a few reasons: - -- It ships with a few issues in its .pyi files that we want to correct. -- Bazel's Python tools install each package in a separate folder, but the - various PyQt packages expect to be installed in the same location, and - will give runtime linking issues when they are split up. - -To update the version lock file, change to the folder with requirements.in, -modify the file, and then run "bazel run //python:update". PyQt does not -depend on platform-specific packages, so the update can be run on any platform. diff --git a/python/pyqt/defs.bzl b/python/pyqt/defs.bzl deleted file mode 100644 index 442169fea..000000000 --- a/python/pyqt/defs.bzl +++ /dev/null @@ -1,44 +0,0 @@ -# based off https://github.com/ali5h/rules_pip/blob/master/defs.bzl - -def _execute(repository_ctx, arguments, quiet = False): - return repository_ctx.execute(arguments, environment = {}, quiet = quiet) - -def _install_pyqt_impl(repository_ctx): - python_interpreter = repository_ctx.attr.python_interpreter - if repository_ctx.attr.python_runtime: - python_interpreter = repository_ctx.path(repository_ctx.attr.python_runtime) - - args = [ - python_interpreter, - repository_ctx.path(repository_ctx.attr._script), - repository_ctx.path("."), - repository_ctx.path(repository_ctx.attr.requirements), - ] - - result = _execute(repository_ctx, args, quiet = repository_ctx.attr.quiet) - if result.return_code: - fail("failed: %s (%s)" % (result.stdout, result.stderr)) - -install_pyqt = repository_rule( - attrs = { - "python_interpreter": attr.string(default = "python", doc = """ -The command to run the Python interpreter used to invoke pip and unpack the -wheels. -"""), - "python_runtime": attr.label(doc = """ -The label to the Python run-time interpreted used to invoke pip and unpack the wheels. -If the label is specified it will overwrite the python_interpreter attribute. -"""), - "_script": attr.label( - executable = True, - default = Label("//python/pyqt:install.py"), - cfg = "host", - ), - "requirements": attr.label(allow_files = True), - "quiet": attr.bool( - default = True, - doc = "If stdout and stderr should be printed to the terminal.", - ), - }, - implementation = _install_pyqt_impl, -) diff --git a/python/pyqt/install.py b/python/pyqt/install.py deleted file mode 100644 index 01d3ded4d..000000000 --- a/python/pyqt/install.py +++ /dev/null @@ -1,87 +0,0 @@ -# based on https://github.com/ali5h/rules_pip/blob/master/src/whl.py -# MIT - -import os -import platform -import subprocess -import sys - -from pip._internal.commands import create_command - - -def install_packages(requirements_path, directory, pip_args): - pip_args = [ - "--isolated", - "--disable-pip-version-check", - "--target", - directory, - "--no-deps", - "--ignore-requires-python", - "--require-hashes", - "-r", - requirements_path - ] + pip_args - cmd = create_command("install") - assert not cmd.main(pip_args) - - -def main(): - base = sys.argv[1] - requirements_file = sys.argv[2] - - # has user told us to use a custom existing folder instead? - if local_site_packages := os.environ.get("PYTHON_SITE_PACKAGES"): - subprocess.run( - [ - "rsync", - "-ai", - "--include=PyQt**", - "--exclude=*", - local_site_packages, - base + "/", - ], - check=True, - ) - with open(os.path.join(base, "__init__.py"), "w") as file: - pass - - else: - install_packages(requirements_file, base, []) - - with open(os.path.join(base, "__init__.py"), "w") as file: - file.write("__path__ = __import__('pkgutil').extend_path(__path__, __name__)") - - pkg_name = os.path.basename(base) - result = """ -load("@rules_python//python:defs.bzl", "py_library") - -package(default_visibility = ["//visibility:public"]) - -py_library( - name = "{}", - srcs = glob(["**/*.py"]), - data = glob(["**/*"], exclude = [ - "**/*.py", - "**/*.pyc", - "**/* *", - "BUILD", - "WORKSPACE", - "bin/*", - "__pycache__", - # these make building slower - "Qt/qml/**", - "**/*.sip", - "**/*.png", - ]), - # This makes this directory a top-level in the python import - # search path for anything that depends on this. - imports = ["."], -) -""".format(pkg_name) - - with open(os.path.join(base, "BUILD"), "w") as f: - f.write(result) - - -if __name__ == "__main__": - main() diff --git a/python/python.bzl b/python/python.bzl deleted file mode 100644 index 45edd29e0..000000000 --- a/python/python.bzl +++ /dev/null @@ -1,104 +0,0 @@ -_python_distros = { - "macos_amd64": struct( - url = "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-x86_64-apple-darwin-install_only-20211011T1926.tar.gz", - sha256 = "43cb1a83919f49b1ce95e42f9c461d8a9fb00ff3957bebef9cffe61a5f362377", - ), - "macos_arm64": struct( - url = "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-aarch64-apple-darwin-install_only-20211011T1926.tar.gz", - sha256 = "213d64f08f82184c9ad398537becf9b341ee85b1c406cfb2b4cbcb78cdb27a2c", - ), - "linux_amd64": struct( - # pending https://github.com/indygreg/python-build-standalone/issues/95 - url = "https://github.com/ankitects/python-build-standalone/releases/download/anki-2022-02-18/cpython-3.9.10-x86_64-unknown-linux-gnu-install_only-20220218T1329.tar.gz", - sha256 = "1f5d63c9099da6e51d121ca0eee8d32fb4f084bfc51643fad39be0c14dfbf530", - ), - "linux_arm64": struct( - # pending https://github.com/indygreg/python-build-standalone/issues/95 - url = "https://github.com/ankitects/python-build-standalone/releases/download/anki-2022-02-18/cpython-3.9.10-aarch64-unknown-linux-gnu-install_only-20220218T1329.tar.gz", - sha256 = "39070f9b9492dce3085c8c98916940434bb65663e6665b2c87bef86025532c1a", - ), - "windows_amd64": struct( - url = "https://github.com/indygreg/python-build-standalone/releases/download/20211012/cpython-3.9.7-x86_64-pc-windows-msvc-shared-install_only-20211011T1926.tar.gz", - sha256 = "80370f232fd63d5cb3ff9418121acb87276228b0dafbeee3c57af143aca11f89", - ), -} - -def _unix_arch(rctx): - result = rctx.execute(["uname", "-m"]) - if result.return_code: - fail("invoking arch failed", result.stderr) - return result.stdout.strip() - -def _get_platform(rctx): - if rctx.os.name == "mac os x": - arch = _unix_arch(rctx) - if arch == "x86_64": - return "macos_amd64" - elif arch == "arm64": - return "macos_arm64" - else: - fail("unexpected arch", arch) - elif rctx.os.name == "linux": - arch = _unix_arch(rctx) - if arch == "x86_64": - return "linux_amd64" - elif arch == "aarch64": - return "linux_arm64" - else: - fail("unexpected arch", arch) - elif rctx.os.name.startswith("windows"): - return "windows_amd64" - else: - fail("unexpected platform", rctx.os.name) - -def _impl(rctx): - # bundled python overridden? - if rctx.os.environ.get("PYO3_PYTHON"): - path = rctx.os.environ.get("PYO3_PYTHON") - rctx.symlink(path, "python") - else: - platform = _get_platform(rctx) - distro = _python_distros.get(platform) - rctx.download_and_extract( - url = distro.url, - sha256 = distro.sha256, - stripPrefix = "python", - ) - if platform.startswith("windows"): - path = rctx.path("python.exe") - else: - path = rctx.path("bin/python3") - rctx.symlink(path, "python") - - rctx.file("BUILD.bazel", """ -load("@rules_python//python:defs.bzl", "py_runtime_pair") - -py_runtime( - name = "python_runtime", - interpreter_path = "{path}", - python_version = "PY3", - visibility = ["//visibility:public"], -) - -py_runtime_pair( - name = "python3_runtime_pair", - py2_runtime = None, - py3_runtime = ":python_runtime", -) - -toolchain( - name = "python3_toolchain", - toolchain = ":python3_runtime_pair", - toolchain_type = "@bazel_tools//tools/python:toolchain_type", - visibility = ["//visibility:public"], - -) - -exports_files(["python"]) -""".format(path = path)) - -setup_local_python = repository_rule( - implementation = _impl, - local = False, - attrs = {}, -) diff --git a/python/requirements.anki.in b/python/requirements.anki.in new file mode 100644 index 000000000..001a5a7d5 --- /dev/null +++ b/python/requirements.anki.in @@ -0,0 +1,8 @@ +beautifulsoup4 +decorator +markdown +orjson +protobuf>=4.21 +requests[socks] +distro; sys_platform != "darwin" and sys_platform != "win32" +psutil; sys_platform == "win32" diff --git a/python/requirements.aqt.in b/python/requirements.aqt.in new file mode 100644 index 000000000..c17e196d2 --- /dev/null +++ b/python/requirements.aqt.in @@ -0,0 +1,10 @@ +beautifulsoup4 +flask +flask_cors +jsonschema +requests +send2trash +waitress>=2.0.0 +psutil; sys.platform == "win32" +pywin32; sys.platform == "win32" +winrt; sys.platform == "win32" diff --git a/python/requirements.base.in b/python/requirements.base.in new file mode 100644 index 000000000..705e50e83 --- /dev/null +++ b/python/requirements.base.in @@ -0,0 +1,2 @@ +pip-tools +colorama # required on windows diff --git a/python/requirements.base.txt b/python/requirements.base.txt new file mode 100644 index 000000000..86837fb35 --- /dev/null +++ b/python/requirements.base.txt @@ -0,0 +1,48 @@ +build==0.9.0 \ + --hash=sha256:1a07724e891cbd898923145eb7752ee7653674c511378eb9c7691aab1612bc3c \ + --hash=sha256:38a7a2b7a0bdc61a42a0a67509d88c71ecfc37b393baba770fae34e20929ff69 + # via pip-tools +click==8.1.3 \ + --hash=sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e \ + --hash=sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48 + # via pip-tools +colorama==0.4.6 \ + --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ + --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 + # via -r requirements.base.in +packaging==21.3 \ + --hash=sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb \ + --hash=sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522 + # via build +pep517==0.13.0 \ + --hash=sha256:4ba4446d80aed5b5eac6509ade100bff3e7943a8489de249654a5ae9b33ee35b \ + --hash=sha256:ae69927c5c172be1add9203726d4b84cf3ebad1edcd5f71fcdc746e66e829f59 + # via build +pip-tools==6.10.0 \ + --hash=sha256:57ac98392548f5ca96c2831927deec3035efe81ff476e3c744bd474ca9c6a1f2 \ + --hash=sha256:7f9f7356052db6942b5aaabc8eba29983591ca0ad75affbf2f0a25d9361be624 + # via -r requirements.base.in +pyparsing==3.0.9 \ + --hash=sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb \ + --hash=sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc + # via packaging +tomli==2.0.1 \ + --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ + --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f + # via + # build + # pep517 +wheel==0.38.4 \ + --hash=sha256:965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac \ + --hash=sha256:b60533f3f5d530e971d6737ca6d58681ee434818fab630c83a734bb10c083ce8 + # via pip-tools + +# The following packages are considered to be unsafe in a requirements file: +pip==22.3.1 \ + --hash=sha256:65fd48317359f3af8e593943e6ae1506b66325085ea64b706a998c6e83eeaf38 \ + --hash=sha256:908c78e6bc29b676ede1c4d57981d490cb892eb45cd8c214ab6298125119e077 + # via pip-tools +setuptools==65.5.1 \ + --hash=sha256:d0b9a8433464d5800cbe05094acf5c6d52a91bfac9b52bcfc4d41382be5d5d31 \ + --hash=sha256:e197a19aa8ec9722928f2206f8de752def0e4c9fc6953527360d1c36d94ddb2f + # via pip-tools diff --git a/python/requirements.bundle.in b/python/requirements.bundle.in new file mode 100644 index 000000000..6d702ba2f --- /dev/null +++ b/python/requirements.bundle.in @@ -0,0 +1,7 @@ +# currently broken in pyoxidizer +jsonschema<4.2 + +-r requirements.base.txt +-r requirements.anki.in +-r requirements.aqt.in + diff --git a/python/requirements.bundle.txt b/python/requirements.bundle.txt new file mode 100644 index 000000000..fb1f24e46 --- /dev/null +++ b/python/requirements.bundle.txt @@ -0,0 +1,304 @@ +attrs==22.1.0 \ + --hash=sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6 \ + --hash=sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c + # via jsonschema +beautifulsoup4==4.11.1 \ + --hash=sha256:58d5c3d29f5a36ffeb94f02f0d786cd53014cf9b3b3951d42e0080d8a9498d30 \ + --hash=sha256:ad9aa55b65ef2808eb405f46cf74df7fcb7044d5cbc26487f96eb2ef2e436693 + # via + # -r requirements.anki.in + # -r requirements.aqt.in +build==0.9.0 \ + --hash=sha256:1a07724e891cbd898923145eb7752ee7653674c511378eb9c7691aab1612bc3c \ + --hash=sha256:38a7a2b7a0bdc61a42a0a67509d88c71ecfc37b393baba770fae34e20929ff69 + # via + # -r requirements.base.txt + # pip-tools +certifi==2022.9.24 \ + --hash=sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14 \ + --hash=sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382 + # via requests +charset-normalizer==2.1.1 \ + --hash=sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845 \ + --hash=sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f + # via requests +click==8.1.3 \ + --hash=sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e \ + --hash=sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48 + # via + # -r requirements.base.txt + # flask + # pip-tools +colorama==0.4.6 \ + --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ + --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 + # via -r requirements.base.txt +decorator==5.1.1 \ + --hash=sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330 \ + --hash=sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186 + # via -r requirements.anki.in +distro==1.8.0 ; sys_platform != "darwin" and sys_platform != "win32" \ + --hash=sha256:02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8 \ + --hash=sha256:99522ca3e365cac527b44bde033f64c6945d90eb9f769703caaec52b09bbd3ff + # via -r requirements.anki.in +flask==2.2.2 \ + --hash=sha256:642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b \ + --hash=sha256:b9c46cc36662a7949f34b52d8ec7bb59c0d74ba08ba6cb9ce9adc1d8676d9526 + # via + # -r requirements.aqt.in + # flask-cors +flask-cors==3.0.10 \ + --hash=sha256:74efc975af1194fc7891ff5cd85b0f7478be4f7f59fe158102e91abb72bb4438 \ + --hash=sha256:b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de + # via -r requirements.aqt.in +idna==3.4 \ + --hash=sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 \ + --hash=sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2 + # via requests +importlib-metadata==5.0.0 \ + --hash=sha256:da31db32b304314d044d3c12c79bd59e307889b287ad12ff387b3500835fc2ab \ + --hash=sha256:ddb0e35065e8938f867ed4928d0ae5bf2a53b7773871bfe6bcc7e4fcdc7dea43 + # via + # flask + # markdown +itsdangerous==2.1.2 \ + --hash=sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44 \ + --hash=sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a + # via flask +jinja2==3.1.2 \ + --hash=sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852 \ + --hash=sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61 + # via flask +jsonschema==4.1.2 \ + --hash=sha256:166870c8ab27bd712a8627e0598de4685bd8d199c4d7bd7cacc3d941ba0c6ca0 \ + --hash=sha256:5c1a282ee6b74235057421fd0f766ac5f2972f77440927f6471c9e8493632fac + # via + # -r requirements.aqt.in + # -r requirements.bundle.in +markdown==3.4.1 \ + --hash=sha256:08fb8465cffd03d10b9dd34a5c3fea908e20391a2a90b88d66362cb05beed186 \ + --hash=sha256:3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff + # via -r requirements.anki.in +markupsafe==2.1.1 \ + --hash=sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003 \ + --hash=sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88 \ + --hash=sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5 \ + --hash=sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7 \ + --hash=sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a \ + --hash=sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603 \ + --hash=sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1 \ + --hash=sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135 \ + --hash=sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247 \ + --hash=sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6 \ + --hash=sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601 \ + --hash=sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77 \ + --hash=sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02 \ + --hash=sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e \ + --hash=sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63 \ + --hash=sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f \ + --hash=sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980 \ + --hash=sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b \ + --hash=sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812 \ + --hash=sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff \ + --hash=sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96 \ + --hash=sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1 \ + --hash=sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925 \ + --hash=sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a \ + --hash=sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6 \ + --hash=sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e \ + --hash=sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f \ + --hash=sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4 \ + --hash=sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f \ + --hash=sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3 \ + --hash=sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c \ + --hash=sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a \ + --hash=sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417 \ + --hash=sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a \ + --hash=sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a \ + --hash=sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37 \ + --hash=sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452 \ + --hash=sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933 \ + --hash=sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a \ + --hash=sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7 + # via + # jinja2 + # werkzeug +orjson==3.8.1 \ + --hash=sha256:03389e3750c521a7f3d4837de23cfd21a7f24574b4b3985c9498f440d21adb03 \ + --hash=sha256:07c42de52dfef56cdcaf2278f58e837b26f5b5af5f1fd133a68c4af203851fc7 \ + --hash=sha256:0b4e3857dd2416b479f700e9bdf4fcec8c690d2716622397d2b7e848f9833e50 \ + --hash=sha256:0bd5b4e539db8a9635776bdf9a25c3db84e37165e65d45c8ca90437adc46d6d8 \ + --hash=sha256:0f21eed14697083c01f7e00a87e21056fc8fb5851e8a7bca98345189abcdb4d4 \ + --hash=sha256:124207d2cd04e845eaf2a6171933cde40aebcb8c2d7d3b081e01be066d3014b6 \ + --hash=sha256:21efb87b168066201a120b0f54a2381f6f51ff3727e07b3908993732412b314a \ + --hash=sha256:231c30958ed99c23128a21993c5ac0a70e1e568e6a898a47f70d5d37461ca47c \ + --hash=sha256:395d02fd6be45f960da014372e7ecefc9e5f8df57a0558b7111a5fa8423c0669 \ + --hash=sha256:3fd5472020042482d7da4c26a0ee65dbd931f691e1c838c6cf4232823179ecc1 \ + --hash=sha256:4449e70b98f3ad3e43958360e4be1189c549865c0a128e8629ec96ce92d251c3 \ + --hash=sha256:45357eea9114bd41ef19280066591e9069bb4f6f5bffd533e9bfc12a439d735f \ + --hash=sha256:45c1914795ffedb2970bfcd3ed83daf49124c7c37943ed0a7368971c6ea5e278 \ + --hash=sha256:4f5a9bc5bc4d730153529cb0584c63ff286d50663ccd48c9435423660b1bb12d \ + --hash=sha256:59b4baf71c9f39125d7e535974b146cc180926462969f6d8821b4c5e975e11b3 \ + --hash=sha256:5a9e324213220578d324e0858baeab47808a13d3c3fbc6ba55a3f4f069d757cf \ + --hash=sha256:5ded261268d5dfd307078fe3370295e5eb15bdde838bbb882acf8538e061c451 \ + --hash=sha256:5e3db6496463c3000d15b7a712da5a9601c6c43682f23f81862fe1d2a338f295 \ + --hash=sha256:6071bcf51f0ae4d53b9d3e9164f7138164df4291c484a7b14562075aaa7a2b7b \ + --hash=sha256:6802edf98f6918e89df355f56be6e7db369b31eed64ff2496324febb8b0aa43b \ + --hash=sha256:69097c50c3ccbcc61292192b045927f1688ca57ce80525dc5d120e0b91e19bb0 \ + --hash=sha256:6956cf7a1ac97523e96f75b11534ff851df99a6474a561ad836b6e82004acbb8 \ + --hash=sha256:6a7b76d4b44bca418f7797b1e157907b56b7d31caa9091db4e99ebee51c16933 \ + --hash=sha256:7adaac93678ac61f5dc070f615b18639d16ee66f6a946d5221dbf315e8b74bec \ + --hash=sha256:8623ac25fa0850a44ac845e9333c4da9ae5707b7cec8ac87cbe9d4e41137180f \ + --hash=sha256:8f672f3987f6424f60ab2e86ea7ed76dd2806b8e9b506a373fc8499aed85ddb5 \ + --hash=sha256:97839a6abbebb06099294e6057d5b3061721ada08b76ae792e7041b6cb54c97f \ + --hash=sha256:a4244f4199a160717f0027e434abb886e322093ceadb2f790ff0c73ed3e17662 \ + --hash=sha256:a70aaa2e56356e58c6e1b49f7b7f069df5b15e55db002a74db3ff3f7af67c7ff \ + --hash=sha256:a806aca6b80fa1d996aa16593e4995a71126a085ee1a59fff19ccad29a4e47fd \ + --hash=sha256:b0c1750f73658906b82cabbf4be2f74300644c17cb037fbc8b48d746c3b90c76 \ + --hash=sha256:b0f9d9b5c6692097de07dd0b2d5ff20fd135bacd1b2fb7ea383ee717a4150c93 \ + --hash=sha256:b9abc49c014def1b832fcd53bdc670474b6fe41f373d16f40409882c0d0eccba \ + --hash=sha256:c15e7d691cee75b5192fc1fa8487bf541d463246dc25c926b9b40f5b6ab56770 \ + --hash=sha256:c2c9ef10b6344465fd5ac002be2d34f818211274dd79b44c75b2c14a979f84f3 \ + --hash=sha256:caff3c1e964cfee044a03a46244ecf6373f3c56142ad16458a1446ac6d69824a \ + --hash=sha256:d45db052d01d0ab7579470141d5c3592f4402d43cfacb67f023bc1210a67b7bc \ + --hash=sha256:d67a0bd0283a3b17ac43c5ab8e4a7e9d3aa758d6ec5d51c232343c408825a5ad \ + --hash=sha256:d89ef8a4444d83e0a5171d14f2ab4895936ab1773165b020f97d29cf289a2d88 \ + --hash=sha256:d8ed77098c2e22181fce971f49a34204c38b79ca91c01d515d07015339ae8165 \ + --hash=sha256:da6306e1f03e7085fe0db61d4a3377f70c6fd865118d0afe17f80ae9a8f6f124 \ + --hash=sha256:e073338e422f518c1d4d80efc713cd17f3ed6d37c8c7459af04a95459f3206d1 \ + --hash=sha256:e2aae92398c0023ac26a6cd026375f765ef5afe127eccabf563c78af7b572d59 \ + --hash=sha256:e399ed1b0d6f8089b9b6ff2cb3e71ba63a56d8ea88e1d95467949795cc74adfd \ + --hash=sha256:e7822cba140f7ca48ed0256229f422dbae69e3a3475176185db0c0538cfadb57 \ + --hash=sha256:f532c2cbe8c140faffaebcfb34d43c9946599ea8138971f181a399bec7d6b123 \ + --hash=sha256:f850489d89ea12be486492e68f0fd63e402fa28e426d4f0b5fc1eec0595e6109 \ + --hash=sha256:f8873e490dea0f9cd975d66f84618b6fb57b1ba45ecb218313707a71173d764f \ + --hash=sha256:fe25f50dc3d45364428baa0dbe3f613a5171c64eb0286eb775136b74e61ba58a + # via -r requirements.anki.in +packaging==21.3 \ + --hash=sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb \ + --hash=sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522 + # via + # -r requirements.base.txt + # build +pep517==0.13.0 \ + --hash=sha256:4ba4446d80aed5b5eac6509ade100bff3e7943a8489de249654a5ae9b33ee35b \ + --hash=sha256:ae69927c5c172be1add9203726d4b84cf3ebad1edcd5f71fcdc746e66e829f59 + # via + # -r requirements.base.txt + # build +pip-tools==6.10.0 \ + --hash=sha256:57ac98392548f5ca96c2831927deec3035efe81ff476e3c744bd474ca9c6a1f2 \ + --hash=sha256:7f9f7356052db6942b5aaabc8eba29983591ca0ad75affbf2f0a25d9361be624 + # via -r requirements.base.txt +protobuf==4.21.9 \ + --hash=sha256:2c9c2ed7466ad565f18668aa4731c535511c5d9a40c6da39524bccf43e441719 \ + --hash=sha256:48e2cd6b88c6ed3d5877a3ea40df79d08374088e89bedc32557348848dff250b \ + --hash=sha256:5b0834e61fb38f34ba8840d7dcb2e5a2f03de0c714e0293b3963b79db26de8ce \ + --hash=sha256:61f21493d96d2a77f9ca84fefa105872550ab5ef71d21c458eb80edcf4885a99 \ + --hash=sha256:6e0be9f09bf9b6cf497b27425487706fa48c6d1632ddd94dab1a5fe11a422392 \ + --hash=sha256:6e312e280fbe3c74ea9e080d9e6080b636798b5e3939242298b591064470b06b \ + --hash=sha256:7eb8f2cc41a34e9c956c256e3ac766cf4e1a4c9c925dc757a41a01be3e852965 \ + --hash=sha256:84ea107016244dfc1eecae7684f7ce13c788b9a644cd3fca5b77871366556444 \ + --hash=sha256:9227c14010acd9ae7702d6467b4625b6fe853175a6b150e539b21d2b2f2b409c \ + --hash=sha256:a419cc95fca8694804709b8c4f2326266d29659b126a93befe210f5bbc772536 \ + --hash=sha256:a7d0ea43949d45b836234f4ebb5ba0b22e7432d065394b532cdca8f98415e3cf \ + --hash=sha256:b5ab0b8918c136345ff045d4b3d5f719b505b7c8af45092d7f45e304f55e50a1 \ + --hash=sha256:e575c57dc8b5b2b2caa436c16d44ef6981f2235eb7179bfc847557886376d740 \ + --hash=sha256:f9eae277dd240ae19bb06ff4e2346e771252b0e619421965504bd1b1bba7c5fa + # via -r requirements.anki.in +pyparsing==3.0.9 \ + --hash=sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb \ + --hash=sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc + # via + # -r requirements.base.txt + # packaging +pyrsistent==0.19.2 \ + --hash=sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed \ + --hash=sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb \ + --hash=sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a \ + --hash=sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95 \ + --hash=sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712 \ + --hash=sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73 \ + --hash=sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41 \ + --hash=sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b \ + --hash=sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78 \ + --hash=sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab \ + --hash=sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308 \ + --hash=sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425 \ + --hash=sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2 \ + --hash=sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e \ + --hash=sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6 \ + --hash=sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2 \ + --hash=sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a \ + --hash=sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291 \ + --hash=sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584 \ + --hash=sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a \ + --hash=sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0 \ + --hash=sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770 + # via jsonschema +pysocks==1.7.1 \ + --hash=sha256:08e69f092cc6dbe92a0fdd16eeb9b9ffbc13cadfe5ca4c7bd92ffb078b293299 \ + --hash=sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5 \ + --hash=sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0 + # via requests +requests==2.28.1 \ + --hash=sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983 \ + --hash=sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349 + # via + # -r requirements.anki.in + # -r requirements.aqt.in +send2trash==1.8.0 \ + --hash=sha256:d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d \ + --hash=sha256:f20eaadfdb517eaca5ce077640cb261c7d2698385a6a0f072a4a5447fd49fa08 + # via -r requirements.aqt.in +six==1.16.0 \ + --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ + --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 + # via flask-cors +soupsieve==2.3.2.post1 \ + --hash=sha256:3b2503d3c7084a42b1ebd08116e5f81aadfaea95863628c80a3b774a11b7c759 \ + --hash=sha256:fc53893b3da2c33de295667a0e19f078c14bf86544af307354de5fcf12a3f30d + # via beautifulsoup4 +tomli==2.0.1 \ + --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ + --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f + # via + # -r requirements.base.txt + # build + # pep517 +urllib3==1.26.12 \ + --hash=sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e \ + --hash=sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997 + # via requests +waitress==2.1.2 \ + --hash=sha256:7500c9625927c8ec60f54377d590f67b30c8e70ef4b8894214ac6e4cad233d2a \ + --hash=sha256:780a4082c5fbc0fde6a2fcfe5e26e6efc1e8f425730863c04085769781f51eba + # via -r requirements.aqt.in +werkzeug==2.2.2 \ + --hash=sha256:7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f \ + --hash=sha256:f979ab81f58d7318e064e99c4506445d60135ac5cd2e177a2de0089bfd4c9bd5 + # via flask +wheel==0.38.4 \ + --hash=sha256:965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac \ + --hash=sha256:b60533f3f5d530e971d6737ca6d58681ee434818fab630c83a734bb10c083ce8 + # via + # -r requirements.base.txt + # pip-tools +zipp==3.10.0 \ + --hash=sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1 \ + --hash=sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8 + # via importlib-metadata + +# The following packages are considered to be unsafe in a requirements file: +pip==22.3.1 \ + --hash=sha256:65fd48317359f3af8e593943e6ae1506b66325085ea64b706a998c6e83eeaf38 \ + --hash=sha256:908c78e6bc29b676ede1c4d57981d490cb892eb45cd8c214ab6298125119e077 + # via + # -r requirements.base.txt + # pip-tools +setuptools==65.5.1 \ + --hash=sha256:d0b9a8433464d5800cbe05094acf5c6d52a91bfac9b52bcfc4d41382be5d5d31 \ + --hash=sha256:e197a19aa8ec9722928f2206f8de752def0e4c9fc6953527360d1c36d94ddb2f + # via + # -r requirements.base.txt + # pip-tools diff --git a/python/requirements.dev.in b/python/requirements.dev.in new file mode 100644 index 000000000..3d144ece8 --- /dev/null +++ b/python/requirements.dev.in @@ -0,0 +1,24 @@ +-r requirements.bundle.txt + +black +compare-locales +isort +mock +mypy +mypy-protobuf +pip-tools +pylint +pytest +fluent.syntax +types-decorator +types-flask +types-flask-cors +types-markdown +types-orjson +types-protobuf +types-requests +types-waitress + +# transitive windows dependencies +atomicwrites +colorama diff --git a/python/requirements.dev.txt b/python/requirements.dev.txt new file mode 100644 index 000000000..caf315001 --- /dev/null +++ b/python/requirements.dev.txt @@ -0,0 +1,625 @@ +astroid==2.12.12 \ + --hash=sha256:1c00a14f5a3ed0339d38d2e2e5b74ea2591df5861c0936bb292b84ccf3a78d83 \ + --hash=sha256:72702205200b2a638358369d90c222d74ebc376787af8fb2f7f2a86f7b5cc85f + # via pylint +atomicwrites==1.4.1 \ + --hash=sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11 + # via -r requirements.dev.in +attrs==22.1.0 \ + --hash=sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6 \ + --hash=sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c + # via + # -r requirements.bundle.txt + # jsonschema + # pytest +beautifulsoup4==4.11.1 \ + --hash=sha256:58d5c3d29f5a36ffeb94f02f0d786cd53014cf9b3b3951d42e0080d8a9498d30 \ + --hash=sha256:ad9aa55b65ef2808eb405f46cf74df7fcb7044d5cbc26487f96eb2ef2e436693 + # via -r requirements.bundle.txt +black==22.10.0 \ + --hash=sha256:14ff67aec0a47c424bc99b71005202045dc09270da44a27848d534600ac64fc7 \ + --hash=sha256:197df8509263b0b8614e1df1756b1dd41be6738eed2ba9e9769f3880c2b9d7b6 \ + --hash=sha256:1e464456d24e23d11fced2bc8c47ef66d471f845c7b7a42f3bd77bf3d1789650 \ + --hash=sha256:2039230db3c6c639bd84efe3292ec7b06e9214a2992cd9beb293d639c6402edb \ + --hash=sha256:21199526696b8f09c3997e2b4db8d0b108d801a348414264d2eb8eb2532e540d \ + --hash=sha256:2644b5d63633702bc2c5f3754b1b475378fbbfb481f62319388235d0cd104c2d \ + --hash=sha256:432247333090c8c5366e69627ccb363bc58514ae3e63f7fc75c54b1ea80fa7de \ + --hash=sha256:444ebfb4e441254e87bad00c661fe32df9969b2bf224373a448d8aca2132b395 \ + --hash=sha256:5b9b29da4f564ba8787c119f37d174f2b69cdfdf9015b7d8c5c16121ddc054ae \ + --hash=sha256:5cc42ca67989e9c3cf859e84c2bf014f6633db63d1cbdf8fdb666dcd9e77e3fa \ + --hash=sha256:5d8f74030e67087b219b032aa33a919fae8806d49c867846bfacde57f43972ef \ + --hash=sha256:72ef3925f30e12a184889aac03d77d031056860ccae8a1e519f6cbb742736383 \ + --hash=sha256:819dc789f4498ecc91438a7de64427c73b45035e2e3680c92e18795a839ebb66 \ + --hash=sha256:915ace4ff03fdfff953962fa672d44be269deb2eaf88499a0f8805221bc68c87 \ + --hash=sha256:9311e99228ae10023300ecac05be5a296f60d2fd10fff31cf5c1fa4ca4b1988d \ + --hash=sha256:974308c58d057a651d182208a484ce80a26dac0caef2895836a92dd6ebd725e0 \ + --hash=sha256:b8b49776299fece66bffaafe357d929ca9451450f5466e997a7285ab0fe28e3b \ + --hash=sha256:c957b2b4ea88587b46cf49d1dc17681c1e672864fd7af32fc1e9664d572b3458 \ + --hash=sha256:e41a86c6c650bcecc6633ee3180d80a025db041a8e2398dcc059b3afa8382cd4 \ + --hash=sha256:f513588da599943e0cde4e32cc9879e825d58720d6557062d1098c5ad80080e1 \ + --hash=sha256:fba8a281e570adafb79f7755ac8721b6cf1bbf691186a287e990c7929c7692ff + # via -r requirements.dev.in +build==0.9.0 \ + --hash=sha256:1a07724e891cbd898923145eb7752ee7653674c511378eb9c7691aab1612bc3c \ + --hash=sha256:38a7a2b7a0bdc61a42a0a67509d88c71ecfc37b393baba770fae34e20929ff69 + # via + # -r requirements.bundle.txt + # pip-tools +certifi==2022.9.24 \ + --hash=sha256:0d9c601124e5a6ba9712dbc60d9c53c21e34f5f641fe83002317394311bdce14 \ + --hash=sha256:90c1a32f1d68f940488354e36370f6cca89f0f106db09518524c88d6ed83f382 + # via + # -r requirements.bundle.txt + # requests +charset-normalizer==2.1.1 \ + --hash=sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845 \ + --hash=sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f + # via + # -r requirements.bundle.txt + # requests +click==8.1.3 \ + --hash=sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e \ + --hash=sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48 + # via + # -r requirements.bundle.txt + # black + # flask + # pip-tools +colorama==0.4.6 \ + --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ + --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 + # via + # -r requirements.bundle.txt + # -r requirements.dev.in +compare-locales==8.2.1 \ + --hash=sha256:470d50d96c68f8e147daa3d70f29a7b750adefea450c5fa07e0f666c8083d854 \ + --hash=sha256:e6a1610151d357e74ee6c1f5e944f1868e449f83e478c84d92f7b86132f721d7 + # via -r requirements.dev.in +decorator==5.1.1 \ + --hash=sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330 \ + --hash=sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186 + # via -r requirements.bundle.txt +dill==0.3.6 \ + --hash=sha256:a07ffd2351b8c678dfc4a856a3005f8067aea51d6ba6c700796a4d9e280f39f0 \ + --hash=sha256:e5db55f3687856d8fbdab002ed78544e1c4559a130302693d839dfe8f93f2373 + # via pylint +distro==1.8.0 ; sys_platform != "darwin" and sys_platform != "win32" \ + --hash=sha256:02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8 \ + --hash=sha256:99522ca3e365cac527b44bde033f64c6945d90eb9f769703caaec52b09bbd3ff + # via -r requirements.bundle.txt +exceptiongroup==1.0.4 \ + --hash=sha256:542adf9dea4055530d6e1279602fa5cb11dab2395fa650b8674eaec35fc4a828 \ + --hash=sha256:bd14967b79cd9bdb54d97323216f8fdf533e278df937aa2a90089e7d6e06e5ec + # via pytest +flask==2.2.2 \ + --hash=sha256:642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b \ + --hash=sha256:b9c46cc36662a7949f34b52d8ec7bb59c0d74ba08ba6cb9ce9adc1d8676d9526 + # via + # -r requirements.bundle.txt + # flask-cors +flask-cors==3.0.10 \ + --hash=sha256:74efc975af1194fc7891ff5cd85b0f7478be4f7f59fe158102e91abb72bb4438 \ + --hash=sha256:b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de + # via -r requirements.bundle.txt +fluent-syntax==0.18.1 \ + --hash=sha256:0e63679fa4f1b3042565220a5127b4bab842424f07d6a13c12299e3b3835486a \ + --hash=sha256:3a55f5e605d1b029a65cc8b6492c86ec4608e15447e73db1495de11fd46c104f + # via + # -r requirements.dev.in + # compare-locales +idna==3.4 \ + --hash=sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 \ + --hash=sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2 + # via + # -r requirements.bundle.txt + # requests +importlib-metadata==5.0.0 \ + --hash=sha256:da31db32b304314d044d3c12c79bd59e307889b287ad12ff387b3500835fc2ab \ + --hash=sha256:ddb0e35065e8938f867ed4928d0ae5bf2a53b7773871bfe6bcc7e4fcdc7dea43 + # via + # -r requirements.bundle.txt + # flask + # markdown +iniconfig==1.1.1 \ + --hash=sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3 \ + --hash=sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32 + # via pytest +isort==5.10.1 \ + --hash=sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7 \ + --hash=sha256:e8443a5e7a020e9d7f97f1d7d9cd17c88bcb3bc7e218bf9cf5095fe550be2951 + # via + # -r requirements.dev.in + # pylint +itsdangerous==2.1.2 \ + --hash=sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44 \ + --hash=sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a + # via + # -r requirements.bundle.txt + # flask +jinja2==3.1.2 \ + --hash=sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852 \ + --hash=sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61 + # via + # -r requirements.bundle.txt + # flask +jsonschema==4.1.2 \ + --hash=sha256:166870c8ab27bd712a8627e0598de4685bd8d199c4d7bd7cacc3d941ba0c6ca0 \ + --hash=sha256:5c1a282ee6b74235057421fd0f766ac5f2972f77440927f6471c9e8493632fac + # via -r requirements.bundle.txt +lazy-object-proxy==1.8.0 \ + --hash=sha256:0c1c7c0433154bb7c54185714c6929acc0ba04ee1b167314a779b9025517eada \ + --hash=sha256:14010b49a2f56ec4943b6cf925f597b534ee2fe1f0738c84b3bce0c1a11ff10d \ + --hash=sha256:4e2d9f764f1befd8bdc97673261b8bb888764dfdbd7a4d8f55e4fbcabb8c3fb7 \ + --hash=sha256:4fd031589121ad46e293629b39604031d354043bb5cdf83da4e93c2d7f3389fe \ + --hash=sha256:5b51d6f3bfeb289dfd4e95de2ecd464cd51982fe6f00e2be1d0bf94864d58acd \ + --hash=sha256:6850e4aeca6d0df35bb06e05c8b934ff7c533734eb51d0ceb2d63696f1e6030c \ + --hash=sha256:6f593f26c470a379cf7f5bc6db6b5f1722353e7bf937b8d0d0b3fba911998858 \ + --hash=sha256:71d9ae8a82203511a6f60ca5a1b9f8ad201cac0fc75038b2dc5fa519589c9288 \ + --hash=sha256:7e1561626c49cb394268edd00501b289053a652ed762c58e1081224c8d881cec \ + --hash=sha256:8f6ce2118a90efa7f62dd38c7dbfffd42f468b180287b748626293bf12ed468f \ + --hash=sha256:ae032743794fba4d171b5b67310d69176287b5bf82a21f588282406a79498891 \ + --hash=sha256:afcaa24e48bb23b3be31e329deb3f1858f1f1df86aea3d70cb5c8578bfe5261c \ + --hash=sha256:b70d6e7a332eb0217e7872a73926ad4fdc14f846e85ad6749ad111084e76df25 \ + --hash=sha256:c219a00245af0f6fa4e95901ed28044544f50152840c5b6a3e7b2568db34d156 \ + --hash=sha256:ce58b2b3734c73e68f0e30e4e725264d4d6be95818ec0a0be4bb6bf9a7e79aa8 \ + --hash=sha256:d176f392dbbdaacccf15919c77f526edf11a34aece58b55ab58539807b85436f \ + --hash=sha256:e20bfa6db17a39c706d24f82df8352488d2943a3b7ce7d4c22579cb89ca8896e \ + --hash=sha256:eac3a9a5ef13b332c059772fd40b4b1c3d45a3a2b05e33a361dee48e54a4dad0 \ + --hash=sha256:eb329f8d8145379bf5dbe722182410fe8863d186e51bf034d2075eb8d85ee25b + # via astroid +markdown==3.4.1 \ + --hash=sha256:08fb8465cffd03d10b9dd34a5c3fea908e20391a2a90b88d66362cb05beed186 \ + --hash=sha256:3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff + # via -r requirements.bundle.txt +markupsafe==2.1.1 \ + --hash=sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003 \ + --hash=sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88 \ + --hash=sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5 \ + --hash=sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7 \ + --hash=sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a \ + --hash=sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603 \ + --hash=sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1 \ + --hash=sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135 \ + --hash=sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247 \ + --hash=sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6 \ + --hash=sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601 \ + --hash=sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77 \ + --hash=sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02 \ + --hash=sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e \ + --hash=sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63 \ + --hash=sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f \ + --hash=sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980 \ + --hash=sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b \ + --hash=sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812 \ + --hash=sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff \ + --hash=sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96 \ + --hash=sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1 \ + --hash=sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925 \ + --hash=sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a \ + --hash=sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6 \ + --hash=sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e \ + --hash=sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f \ + --hash=sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4 \ + --hash=sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f \ + --hash=sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3 \ + --hash=sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c \ + --hash=sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a \ + --hash=sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417 \ + --hash=sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a \ + --hash=sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a \ + --hash=sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37 \ + --hash=sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452 \ + --hash=sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933 \ + --hash=sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a \ + --hash=sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7 + # via + # -r requirements.bundle.txt + # jinja2 + # werkzeug +mccabe==0.7.0 \ + --hash=sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325 \ + --hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e + # via pylint +mock==4.0.3 \ + --hash=sha256:122fcb64ee37cfad5b3f48d7a7d51875d7031aaf3d8be7c42e2bee25044eee62 \ + --hash=sha256:7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc + # via -r requirements.dev.in +mypy==0.991 \ + --hash=sha256:0714258640194d75677e86c786e80ccf294972cc76885d3ebbb560f11db0003d \ + --hash=sha256:0c8f3be99e8a8bd403caa8c03be619544bc2c77a7093685dcf308c6b109426c6 \ + --hash=sha256:0cca5adf694af539aeaa6ac633a7afe9bbd760df9d31be55ab780b77ab5ae8bf \ + --hash=sha256:1c8cd4fb70e8584ca1ed5805cbc7c017a3d1a29fb450621089ffed3e99d1857f \ + --hash=sha256:1f7d1a520373e2272b10796c3ff721ea1a0712288cafaa95931e66aa15798813 \ + --hash=sha256:209ee89fbb0deed518605edddd234af80506aec932ad28d73c08f1400ef80a33 \ + --hash=sha256:26efb2fcc6b67e4d5a55561f39176821d2adf88f2745ddc72751b7890f3194ad \ + --hash=sha256:37bd02ebf9d10e05b00d71302d2c2e6ca333e6c2a8584a98c00e038db8121f05 \ + --hash=sha256:3a700330b567114b673cf8ee7388e949f843b356a73b5ab22dd7cff4742a5297 \ + --hash=sha256:3c0165ba8f354a6d9881809ef29f1a9318a236a6d81c690094c5df32107bde06 \ + --hash=sha256:3d80e36b7d7a9259b740be6d8d906221789b0d836201af4234093cae89ced0cd \ + --hash=sha256:4175593dc25d9da12f7de8de873a33f9b2b8bdb4e827a7cae952e5b1a342e243 \ + --hash=sha256:4307270436fd7694b41f913eb09210faff27ea4979ecbcd849e57d2da2f65305 \ + --hash=sha256:5e80e758243b97b618cdf22004beb09e8a2de1af481382e4d84bc52152d1c476 \ + --hash=sha256:641411733b127c3e0dab94c45af15fea99e4468f99ac88b39efb1ad677da5711 \ + --hash=sha256:652b651d42f155033a1967739788c436491b577b6a44e4c39fb340d0ee7f0d70 \ + --hash=sha256:6d7464bac72a85cb3491c7e92b5b62f3dcccb8af26826257760a552a5e244aa5 \ + --hash=sha256:74e259b5c19f70d35fcc1ad3d56499065c601dfe94ff67ae48b85596b9ec1461 \ + --hash=sha256:7d17e0a9707d0772f4a7b878f04b4fd11f6f5bcb9b3813975a9b13c9332153ab \ + --hash=sha256:901c2c269c616e6cb0998b33d4adbb4a6af0ac4ce5cd078afd7bc95830e62c1c \ + --hash=sha256:98e781cd35c0acf33eb0295e8b9c55cdbef64fcb35f6d3aa2186f289bed6e80d \ + --hash=sha256:a12c56bf73cdab116df96e4ff39610b92a348cc99a1307e1da3c3768bbb5b135 \ + --hash=sha256:ac6e503823143464538efda0e8e356d871557ef60ccd38f8824a4257acc18d93 \ + --hash=sha256:b8472f736a5bfb159a5e36740847808f6f5b659960115ff29c7cecec1741c648 \ + --hash=sha256:b86ce2c1866a748c0f6faca5232059f881cda6dda2a893b9a8373353cfe3715a \ + --hash=sha256:bc9ec663ed6c8f15f4ae9d3c04c989b744436c16d26580eaa760ae9dd5d662eb \ + --hash=sha256:c9166b3f81a10cdf9b49f2d594b21b31adadb3d5e9db9b834866c3258b695be3 \ + --hash=sha256:d13674f3fb73805ba0c45eb6c0c3053d218aa1f7abead6e446d474529aafc372 \ + --hash=sha256:de32edc9b0a7e67c2775e574cb061a537660e51210fbf6006b0b36ea695ae9bb \ + --hash=sha256:e62ebaad93be3ad1a828a11e90f0e76f15449371ffeecca4a0a0b9adc99abcef + # via -r requirements.dev.in +mypy-extensions==0.4.3 \ + --hash=sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d \ + --hash=sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8 + # via + # black + # mypy +mypy-protobuf==3.4.0 \ + --hash=sha256:7d75a079651b105076776a35a5405e3fa773b8a167118f1b712e443e9a6c18a2 \ + --hash=sha256:da33dfde7547ff57e5ba5564126cbfa114f14413b2fa50759b1fa5de1e4ab511 + # via -r requirements.dev.in +orjson==3.8.1 \ + --hash=sha256:03389e3750c521a7f3d4837de23cfd21a7f24574b4b3985c9498f440d21adb03 \ + --hash=sha256:07c42de52dfef56cdcaf2278f58e837b26f5b5af5f1fd133a68c4af203851fc7 \ + --hash=sha256:0b4e3857dd2416b479f700e9bdf4fcec8c690d2716622397d2b7e848f9833e50 \ + --hash=sha256:0bd5b4e539db8a9635776bdf9a25c3db84e37165e65d45c8ca90437adc46d6d8 \ + --hash=sha256:0f21eed14697083c01f7e00a87e21056fc8fb5851e8a7bca98345189abcdb4d4 \ + --hash=sha256:124207d2cd04e845eaf2a6171933cde40aebcb8c2d7d3b081e01be066d3014b6 \ + --hash=sha256:21efb87b168066201a120b0f54a2381f6f51ff3727e07b3908993732412b314a \ + --hash=sha256:231c30958ed99c23128a21993c5ac0a70e1e568e6a898a47f70d5d37461ca47c \ + --hash=sha256:395d02fd6be45f960da014372e7ecefc9e5f8df57a0558b7111a5fa8423c0669 \ + --hash=sha256:3fd5472020042482d7da4c26a0ee65dbd931f691e1c838c6cf4232823179ecc1 \ + --hash=sha256:4449e70b98f3ad3e43958360e4be1189c549865c0a128e8629ec96ce92d251c3 \ + --hash=sha256:45357eea9114bd41ef19280066591e9069bb4f6f5bffd533e9bfc12a439d735f \ + --hash=sha256:45c1914795ffedb2970bfcd3ed83daf49124c7c37943ed0a7368971c6ea5e278 \ + --hash=sha256:4f5a9bc5bc4d730153529cb0584c63ff286d50663ccd48c9435423660b1bb12d \ + --hash=sha256:59b4baf71c9f39125d7e535974b146cc180926462969f6d8821b4c5e975e11b3 \ + --hash=sha256:5a9e324213220578d324e0858baeab47808a13d3c3fbc6ba55a3f4f069d757cf \ + --hash=sha256:5ded261268d5dfd307078fe3370295e5eb15bdde838bbb882acf8538e061c451 \ + --hash=sha256:5e3db6496463c3000d15b7a712da5a9601c6c43682f23f81862fe1d2a338f295 \ + --hash=sha256:6071bcf51f0ae4d53b9d3e9164f7138164df4291c484a7b14562075aaa7a2b7b \ + --hash=sha256:6802edf98f6918e89df355f56be6e7db369b31eed64ff2496324febb8b0aa43b \ + --hash=sha256:69097c50c3ccbcc61292192b045927f1688ca57ce80525dc5d120e0b91e19bb0 \ + --hash=sha256:6956cf7a1ac97523e96f75b11534ff851df99a6474a561ad836b6e82004acbb8 \ + --hash=sha256:6a7b76d4b44bca418f7797b1e157907b56b7d31caa9091db4e99ebee51c16933 \ + --hash=sha256:7adaac93678ac61f5dc070f615b18639d16ee66f6a946d5221dbf315e8b74bec \ + --hash=sha256:8623ac25fa0850a44ac845e9333c4da9ae5707b7cec8ac87cbe9d4e41137180f \ + --hash=sha256:8f672f3987f6424f60ab2e86ea7ed76dd2806b8e9b506a373fc8499aed85ddb5 \ + --hash=sha256:97839a6abbebb06099294e6057d5b3061721ada08b76ae792e7041b6cb54c97f \ + --hash=sha256:a4244f4199a160717f0027e434abb886e322093ceadb2f790ff0c73ed3e17662 \ + --hash=sha256:a70aaa2e56356e58c6e1b49f7b7f069df5b15e55db002a74db3ff3f7af67c7ff \ + --hash=sha256:a806aca6b80fa1d996aa16593e4995a71126a085ee1a59fff19ccad29a4e47fd \ + --hash=sha256:b0c1750f73658906b82cabbf4be2f74300644c17cb037fbc8b48d746c3b90c76 \ + --hash=sha256:b0f9d9b5c6692097de07dd0b2d5ff20fd135bacd1b2fb7ea383ee717a4150c93 \ + --hash=sha256:b9abc49c014def1b832fcd53bdc670474b6fe41f373d16f40409882c0d0eccba \ + --hash=sha256:c15e7d691cee75b5192fc1fa8487bf541d463246dc25c926b9b40f5b6ab56770 \ + --hash=sha256:c2c9ef10b6344465fd5ac002be2d34f818211274dd79b44c75b2c14a979f84f3 \ + --hash=sha256:caff3c1e964cfee044a03a46244ecf6373f3c56142ad16458a1446ac6d69824a \ + --hash=sha256:d45db052d01d0ab7579470141d5c3592f4402d43cfacb67f023bc1210a67b7bc \ + --hash=sha256:d67a0bd0283a3b17ac43c5ab8e4a7e9d3aa758d6ec5d51c232343c408825a5ad \ + --hash=sha256:d89ef8a4444d83e0a5171d14f2ab4895936ab1773165b020f97d29cf289a2d88 \ + --hash=sha256:d8ed77098c2e22181fce971f49a34204c38b79ca91c01d515d07015339ae8165 \ + --hash=sha256:da6306e1f03e7085fe0db61d4a3377f70c6fd865118d0afe17f80ae9a8f6f124 \ + --hash=sha256:e073338e422f518c1d4d80efc713cd17f3ed6d37c8c7459af04a95459f3206d1 \ + --hash=sha256:e2aae92398c0023ac26a6cd026375f765ef5afe127eccabf563c78af7b572d59 \ + --hash=sha256:e399ed1b0d6f8089b9b6ff2cb3e71ba63a56d8ea88e1d95467949795cc74adfd \ + --hash=sha256:e7822cba140f7ca48ed0256229f422dbae69e3a3475176185db0c0538cfadb57 \ + --hash=sha256:f532c2cbe8c140faffaebcfb34d43c9946599ea8138971f181a399bec7d6b123 \ + --hash=sha256:f850489d89ea12be486492e68f0fd63e402fa28e426d4f0b5fc1eec0595e6109 \ + --hash=sha256:f8873e490dea0f9cd975d66f84618b6fb57b1ba45ecb218313707a71173d764f \ + --hash=sha256:fe25f50dc3d45364428baa0dbe3f613a5171c64eb0286eb775136b74e61ba58a + # via -r requirements.bundle.txt +packaging==21.3 \ + --hash=sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb \ + --hash=sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522 + # via + # -r requirements.bundle.txt + # build + # pytest +pathspec==0.10.2 \ + --hash=sha256:88c2606f2c1e818b978540f73ecc908e13999c6c3a383daf3705652ae79807a5 \ + --hash=sha256:8f6bf73e5758fd365ef5d58ce09ac7c27d2833a8d7da51712eac6e27e35141b0 + # via black +pep517==0.13.0 \ + --hash=sha256:4ba4446d80aed5b5eac6509ade100bff3e7943a8489de249654a5ae9b33ee35b \ + --hash=sha256:ae69927c5c172be1add9203726d4b84cf3ebad1edcd5f71fcdc746e66e829f59 + # via + # -r requirements.bundle.txt + # build +pip-tools==6.10.0 \ + --hash=sha256:57ac98392548f5ca96c2831927deec3035efe81ff476e3c744bd474ca9c6a1f2 \ + --hash=sha256:7f9f7356052db6942b5aaabc8eba29983591ca0ad75affbf2f0a25d9361be624 + # via + # -r requirements.bundle.txt + # -r requirements.dev.in +platformdirs==2.5.4 \ + --hash=sha256:1006647646d80f16130f052404c6b901e80ee4ed6bef6792e1f238a8969106f7 \ + --hash=sha256:af0276409f9a02373d540bf8480021a048711d572745aef4b7842dad245eba10 + # via + # black + # pylint +pluggy==1.0.0 \ + --hash=sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159 \ + --hash=sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3 + # via pytest +protobuf==4.21.9 \ + --hash=sha256:2c9c2ed7466ad565f18668aa4731c535511c5d9a40c6da39524bccf43e441719 \ + --hash=sha256:48e2cd6b88c6ed3d5877a3ea40df79d08374088e89bedc32557348848dff250b \ + --hash=sha256:5b0834e61fb38f34ba8840d7dcb2e5a2f03de0c714e0293b3963b79db26de8ce \ + --hash=sha256:61f21493d96d2a77f9ca84fefa105872550ab5ef71d21c458eb80edcf4885a99 \ + --hash=sha256:6e0be9f09bf9b6cf497b27425487706fa48c6d1632ddd94dab1a5fe11a422392 \ + --hash=sha256:6e312e280fbe3c74ea9e080d9e6080b636798b5e3939242298b591064470b06b \ + --hash=sha256:7eb8f2cc41a34e9c956c256e3ac766cf4e1a4c9c925dc757a41a01be3e852965 \ + --hash=sha256:84ea107016244dfc1eecae7684f7ce13c788b9a644cd3fca5b77871366556444 \ + --hash=sha256:9227c14010acd9ae7702d6467b4625b6fe853175a6b150e539b21d2b2f2b409c \ + --hash=sha256:a419cc95fca8694804709b8c4f2326266d29659b126a93befe210f5bbc772536 \ + --hash=sha256:a7d0ea43949d45b836234f4ebb5ba0b22e7432d065394b532cdca8f98415e3cf \ + --hash=sha256:b5ab0b8918c136345ff045d4b3d5f719b505b7c8af45092d7f45e304f55e50a1 \ + --hash=sha256:e575c57dc8b5b2b2caa436c16d44ef6981f2235eb7179bfc847557886376d740 \ + --hash=sha256:f9eae277dd240ae19bb06ff4e2346e771252b0e619421965504bd1b1bba7c5fa + # via + # -r requirements.bundle.txt + # mypy-protobuf +pylint==2.15.5 \ + --hash=sha256:3b120505e5af1d06a5ad76b55d8660d44bf0f2fc3c59c2bdd94e39188ee3a4df \ + --hash=sha256:c2108037eb074334d9e874dc3c783752cc03d0796c88c9a9af282d0f161a1004 + # via -r requirements.dev.in +pyparsing==3.0.9 \ + --hash=sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb \ + --hash=sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc + # via + # -r requirements.bundle.txt + # packaging +pyrsistent==0.19.2 \ + --hash=sha256:055ab45d5911d7cae397dc418808d8802fb95262751872c841c170b0dbf51eed \ + --hash=sha256:111156137b2e71f3a9936baf27cb322e8024dac3dc54ec7fb9f0bcf3249e68bb \ + --hash=sha256:187d5730b0507d9285a96fca9716310d572e5464cadd19f22b63a6976254d77a \ + --hash=sha256:21455e2b16000440e896ab99e8304617151981ed40c29e9507ef1c2e4314ee95 \ + --hash=sha256:2aede922a488861de0ad00c7630a6e2d57e8023e4be72d9d7147a9fcd2d30712 \ + --hash=sha256:3ba4134a3ff0fc7ad225b6b457d1309f4698108fb6b35532d015dca8f5abed73 \ + --hash=sha256:456cb30ca8bff00596519f2c53e42c245c09e1a4543945703acd4312949bfd41 \ + --hash=sha256:71d332b0320642b3261e9fee47ab9e65872c2bd90260e5d225dabeed93cbd42b \ + --hash=sha256:879b4c2f4d41585c42df4d7654ddffff1239dc4065bc88b745f0341828b83e78 \ + --hash=sha256:9cd3e9978d12b5d99cbdc727a3022da0430ad007dacf33d0bf554b96427f33ab \ + --hash=sha256:a178209e2df710e3f142cbd05313ba0c5ebed0a55d78d9945ac7a4e09d923308 \ + --hash=sha256:b39725209e06759217d1ac5fcdb510e98670af9e37223985f330b611f62e7425 \ + --hash=sha256:bfa0351be89c9fcbcb8c9879b826f4353be10f58f8a677efab0c017bf7137ec2 \ + --hash=sha256:bfd880614c6237243ff53a0539f1cb26987a6dc8ac6e66e0c5a40617296a045e \ + --hash=sha256:c43bec251bbd10e3cb58ced80609c5c1eb238da9ca78b964aea410fb820d00d6 \ + --hash=sha256:d690b18ac4b3e3cab73b0b7aa7dbe65978a172ff94970ff98d82f2031f8971c2 \ + --hash=sha256:d6982b5a0237e1b7d876b60265564648a69b14017f3b5f908c5be2de3f9abb7a \ + --hash=sha256:dec3eac7549869365fe263831f576c8457f6c833937c68542d08fde73457d291 \ + --hash=sha256:e371b844cec09d8dc424d940e54bba8f67a03ebea20ff7b7b0d56f526c71d584 \ + --hash=sha256:e5d8f84d81e3729c3b506657dddfe46e8ba9c330bf1858ee33108f8bb2adb38a \ + --hash=sha256:ea6b79a02a28550c98b6ca9c35b9f492beaa54d7c5c9e9949555893c8a9234d0 \ + --hash=sha256:f1258f4e6c42ad0b20f9cfcc3ada5bd6b83374516cd01c0960e3cb75fdca6770 + # via + # -r requirements.bundle.txt + # jsonschema +pysocks==1.7.1 \ + --hash=sha256:08e69f092cc6dbe92a0fdd16eeb9b9ffbc13cadfe5ca4c7bd92ffb078b293299 \ + --hash=sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5 \ + --hash=sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0 + # via -r requirements.bundle.txt +pytest==7.2.0 \ + --hash=sha256:892f933d339f068883b6fd5a459f03d85bfcb355e4981e146d2c7616c21fef71 \ + --hash=sha256:c4014eb40e10f11f355ad4e3c2fb2c6c6d1919c73f3b5a433de4708202cade59 + # via -r requirements.dev.in +pytoml==0.1.21 \ + --hash=sha256:57a21e6347049f73bfb62011ff34cd72774c031b9828cb628a752225136dfc33 \ + --hash=sha256:8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7 + # via compare-locales +requests==2.28.1 \ + --hash=sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983 \ + --hash=sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349 + # via -r requirements.bundle.txt +send2trash==1.8.0 \ + --hash=sha256:d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d \ + --hash=sha256:f20eaadfdb517eaca5ce077640cb261c7d2698385a6a0f072a4a5447fd49fa08 + # via -r requirements.bundle.txt +six==1.16.0 \ + --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ + --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 + # via + # -r requirements.bundle.txt + # compare-locales + # flask-cors +soupsieve==2.3.2.post1 \ + --hash=sha256:3b2503d3c7084a42b1ebd08116e5f81aadfaea95863628c80a3b774a11b7c759 \ + --hash=sha256:fc53893b3da2c33de295667a0e19f078c14bf86544af307354de5fcf12a3f30d + # via + # -r requirements.bundle.txt + # beautifulsoup4 +tomli==2.0.1 \ + --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ + --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f + # via + # -r requirements.bundle.txt + # black + # build + # mypy + # pep517 + # pylint + # pytest +tomlkit==0.11.6 \ + --hash=sha256:07de26b0d8cfc18f871aec595fda24d95b08fef89d147caa861939f37230bf4b \ + --hash=sha256:71b952e5721688937fb02cf9d354dbcf0785066149d2855e44531ebdd2b65d73 + # via pylint +types-click==7.1.8 \ + --hash=sha256:8cb030a669e2e927461be9827375f83c16b8178c365852c060a34e24871e7e81 \ + --hash=sha256:b6604968be6401dc516311ca50708a0a28baa7a0cb840efd7412f0dbbff4e092 + # via types-flask +types-decorator==5.1.8.1 \ + --hash=sha256:da7218420e3efc8435c59654160300db43f685ef68709c933eaed124326b2755 \ + --hash=sha256:f9290cbe23d2674bb18a2d95f593c27547463ed459e0e604800c42099c3c6a44 + # via -r requirements.dev.in +types-flask==1.1.6 \ + --hash=sha256:6ab8a9a5e258b76539d652f6341408867298550b19b81f0e41e916825fc39087 \ + --hash=sha256:aac777b3abfff9436e6b01f6d08171cf23ea6e5be71cbf773aaabb1c5763e9cf + # via -r requirements.dev.in +types-flask-cors==3.0.10 \ + --hash=sha256:17ba57b32a97dde31d136e2b312f06714533d1e828bf5328adde64b49c9cdbd8 \ + --hash=sha256:8d2dad18f3f5d2b3a22bc4235c97629b701b784fd428e671564093ca293ae91d + # via -r requirements.dev.in +types-jinja2==2.11.9 \ + --hash=sha256:60a1e21e8296979db32f9374d8a239af4cb541ff66447bb915d8ad398f9c63b2 \ + --hash=sha256:dbdc74a40aba7aed520b7e4d89e8f0fe4286518494208b35123bcf084d4b8c81 + # via types-flask +types-markdown==3.4.2.1 \ + --hash=sha256:03c0904cf5886a7d8193e2f50bcf842afc89e0ab80f060f389f6c2635c65628f \ + --hash=sha256:b2333f6f4b8f69af83de359e10a097e4a3f14bbd6d2484e1829d9b0ec56fa0cb + # via -r requirements.dev.in +types-markupsafe==1.1.10 \ + --hash=sha256:85b3a872683d02aea3a5ac2a8ef590193c344092032f58457287fbf8e06711b1 \ + --hash=sha256:ca2bee0f4faafc45250602567ef38d533e877d2ddca13003b319c551ff5b3cc5 + # via types-jinja2 +types-orjson==3.6.2 \ + --hash=sha256:22ee9a79236b6b0bfb35a0684eded62ad930a88a56797fa3c449b026cf7dbfe4 \ + --hash=sha256:cf9afcc79a86325c7aff251790338109ed6f6b1bab09d2d4262dd18c85a3c638 + # via -r requirements.dev.in +types-protobuf==3.20.4.5 \ + --hash=sha256:97af5ce70d890fdb94cb0c906f5a6624ca2fef58bc04e27990a25509e992a950 \ + --hash=sha256:e9b45008d106e1d10cc77a29d2d344b85c0f01e2e643aaccf32f69e9e81b0cdd + # via + # -r requirements.dev.in + # mypy-protobuf +types-requests==2.28.11.5 \ + --hash=sha256:091d4a5a33c1b4f20d8b1b952aa8fa27a6e767c44c3cf65e56580df0b05fd8a9 \ + --hash=sha256:a7df37cc6fb6187a84097da951f8e21d335448aa2501a6b0a39cbd1d7ca9ee2a + # via -r requirements.dev.in +types-urllib3==1.26.25.4 \ + --hash=sha256:ed6b9e8a8be488796f72306889a06a3fc3cb1aa99af02ab8afb50144d7317e49 \ + --hash=sha256:eec5556428eec862b1ac578fb69aab3877995a99ffec9e5a12cf7fbd0cc9daee + # via types-requests +types-waitress==2.1.4.3 \ + --hash=sha256:6c7d3a1a609b29365e8d410d44b7437b629b1ee0ec91bf9e8329cd3e7b0d1fbb \ + --hash=sha256:c5d9ad17613ec8757b504fce47daced71d7cc8199771aed56ff7891382e287f8 + # via -r requirements.dev.in +types-werkzeug==1.0.9 \ + --hash=sha256:194bd5715a13c598f05c63e8a739328657590943bce941e8a3619a6b5d4a54ec \ + --hash=sha256:5cc269604c400133d452a40cee6397655f878fc460e03fde291b9e3a5eaa518c + # via types-flask +typing-extensions==4.4.0 \ + --hash=sha256:1511434bb92bf8dd198c12b1cc812e800d4181cfcb867674e0f8279cc93087aa \ + --hash=sha256:16fa4864408f655d35ec496218b85f79b3437c829e93320c7c9215ccfd92489e + # via + # astroid + # black + # mypy + # pylint +urllib3==1.26.12 \ + --hash=sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e \ + --hash=sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997 + # via + # -r requirements.bundle.txt + # requests +waitress==2.1.2 \ + --hash=sha256:7500c9625927c8ec60f54377d590f67b30c8e70ef4b8894214ac6e4cad233d2a \ + --hash=sha256:780a4082c5fbc0fde6a2fcfe5e26e6efc1e8f425730863c04085769781f51eba + # via -r requirements.bundle.txt +werkzeug==2.2.2 \ + --hash=sha256:7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f \ + --hash=sha256:f979ab81f58d7318e064e99c4506445d60135ac5cd2e177a2de0089bfd4c9bd5 + # via + # -r requirements.bundle.txt + # flask +wheel==0.38.4 \ + --hash=sha256:965f5259b566725405b05e7cf774052044b1ed30119b5d586b2703aafe8719ac \ + --hash=sha256:b60533f3f5d530e971d6737ca6d58681ee434818fab630c83a734bb10c083ce8 + # via + # -r requirements.bundle.txt + # pip-tools +wrapt==1.14.1 \ + --hash=sha256:00b6d4ea20a906c0ca56d84f93065b398ab74b927a7a3dbd470f6fc503f95dc3 \ + --hash=sha256:01c205616a89d09827986bc4e859bcabd64f5a0662a7fe95e0d359424e0e071b \ + --hash=sha256:02b41b633c6261feff8ddd8d11c711df6842aba629fdd3da10249a53211a72c4 \ + --hash=sha256:07f7a7d0f388028b2df1d916e94bbb40624c59b48ecc6cbc232546706fac74c2 \ + --hash=sha256:11871514607b15cfeb87c547a49bca19fde402f32e2b1c24a632506c0a756656 \ + --hash=sha256:1b376b3f4896e7930f1f772ac4b064ac12598d1c38d04907e696cc4d794b43d3 \ + --hash=sha256:21ac0156c4b089b330b7666db40feee30a5d52634cc4560e1905d6529a3897ff \ + --hash=sha256:257fd78c513e0fb5cdbe058c27a0624c9884e735bbd131935fd49e9fe719d310 \ + --hash=sha256:2b39d38039a1fdad98c87279b48bc5dce2c0ca0d73483b12cb72aa9609278e8a \ + --hash=sha256:2cf71233a0ed05ccdabe209c606fe0bac7379fdcf687f39b944420d2a09fdb57 \ + --hash=sha256:2fe803deacd09a233e4762a1adcea5db5d31e6be577a43352936179d14d90069 \ + --hash=sha256:3232822c7d98d23895ccc443bbdf57c7412c5a65996c30442ebe6ed3df335383 \ + --hash=sha256:34aa51c45f28ba7f12accd624225e2b1e5a3a45206aa191f6f9aac931d9d56fe \ + --hash=sha256:36f582d0c6bc99d5f39cd3ac2a9062e57f3cf606ade29a0a0d6b323462f4dd87 \ + --hash=sha256:380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d \ + --hash=sha256:40e7bc81c9e2b2734ea4bc1aceb8a8f0ceaac7c5299bc5d69e37c44d9081d43b \ + --hash=sha256:43ca3bbbe97af00f49efb06e352eae40434ca9d915906f77def219b88e85d907 \ + --hash=sha256:4fcc4649dc762cddacd193e6b55bc02edca674067f5f98166d7713b193932b7f \ + --hash=sha256:5a0f54ce2c092aaf439813735584b9537cad479575a09892b8352fea5e988dc0 \ + --hash=sha256:5a9a0d155deafd9448baff28c08e150d9b24ff010e899311ddd63c45c2445e28 \ + --hash=sha256:5b02d65b9ccf0ef6c34cba6cf5bf2aab1bb2f49c6090bafeecc9cd81ad4ea1c1 \ + --hash=sha256:60db23fa423575eeb65ea430cee741acb7c26a1365d103f7b0f6ec412b893853 \ + --hash=sha256:642c2e7a804fcf18c222e1060df25fc210b9c58db7c91416fb055897fc27e8cc \ + --hash=sha256:6a9a25751acb379b466ff6be78a315e2b439d4c94c1e99cb7266d40a537995d3 \ + --hash=sha256:6b1a564e6cb69922c7fe3a678b9f9a3c54e72b469875aa8018f18b4d1dd1adf3 \ + --hash=sha256:6d323e1554b3d22cfc03cd3243b5bb815a51f5249fdcbb86fda4bf62bab9e164 \ + --hash=sha256:6e743de5e9c3d1b7185870f480587b75b1cb604832e380d64f9504a0535912d1 \ + --hash=sha256:709fe01086a55cf79d20f741f39325018f4df051ef39fe921b1ebe780a66184c \ + --hash=sha256:7b7c050ae976e286906dd3f26009e117eb000fb2cf3533398c5ad9ccc86867b1 \ + --hash=sha256:7d2872609603cb35ca513d7404a94d6d608fc13211563571117046c9d2bcc3d7 \ + --hash=sha256:7ef58fb89674095bfc57c4069e95d7a31cfdc0939e2a579882ac7d55aadfd2a1 \ + --hash=sha256:80bb5c256f1415f747011dc3604b59bc1f91c6e7150bd7db03b19170ee06b320 \ + --hash=sha256:81b19725065dcb43df02b37e03278c011a09e49757287dca60c5aecdd5a0b8ed \ + --hash=sha256:833b58d5d0b7e5b9832869f039203389ac7cbf01765639c7309fd50ef619e0b1 \ + --hash=sha256:88bd7b6bd70a5b6803c1abf6bca012f7ed963e58c68d76ee20b9d751c74a3248 \ + --hash=sha256:8ad85f7f4e20964db4daadcab70b47ab05c7c1cf2a7c1e51087bfaa83831854c \ + --hash=sha256:8c0ce1e99116d5ab21355d8ebe53d9460366704ea38ae4d9f6933188f327b456 \ + --hash=sha256:8d649d616e5c6a678b26d15ece345354f7c2286acd6db868e65fcc5ff7c24a77 \ + --hash=sha256:903500616422a40a98a5a3c4ff4ed9d0066f3b4c951fa286018ecdf0750194ef \ + --hash=sha256:9736af4641846491aedb3c3f56b9bc5568d92b0692303b5a305301a95dfd38b1 \ + --hash=sha256:988635d122aaf2bdcef9e795435662bcd65b02f4f4c1ae37fbee7401c440b3a7 \ + --hash=sha256:9cca3c2cdadb362116235fdbd411735de4328c61425b0aa9f872fd76d02c4e86 \ + --hash=sha256:9e0fd32e0148dd5dea6af5fee42beb949098564cc23211a88d799e434255a1f4 \ + --hash=sha256:9f3e6f9e05148ff90002b884fbc2a86bd303ae847e472f44ecc06c2cd2fcdb2d \ + --hash=sha256:a85d2b46be66a71bedde836d9e41859879cc54a2a04fad1191eb50c2066f6e9d \ + --hash=sha256:a9a52172be0b5aae932bef82a79ec0a0ce87288c7d132946d645eba03f0ad8a8 \ + --hash=sha256:aa31fdcc33fef9eb2552cbcbfee7773d5a6792c137b359e82879c101e98584c5 \ + --hash=sha256:b014c23646a467558be7da3d6b9fa409b2c567d2110599b7cf9a0c5992b3b471 \ + --hash=sha256:b21bb4c09ffabfa0e85e3a6b623e19b80e7acd709b9f91452b8297ace2a8ab00 \ + --hash=sha256:b5901a312f4d14c59918c221323068fad0540e34324925c8475263841dbdfe68 \ + --hash=sha256:b9b7a708dd92306328117d8c4b62e2194d00c365f18eff11a9b53c6f923b01e3 \ + --hash=sha256:d1967f46ea8f2db647c786e78d8cc7e4313dbd1b0aca360592d8027b8508e24d \ + --hash=sha256:d52a25136894c63de15a35bc0bdc5adb4b0e173b9c0d07a2be9d3ca64a332735 \ + --hash=sha256:d77c85fedff92cf788face9bfa3ebaa364448ebb1d765302e9af11bf449ca36d \ + --hash=sha256:d79d7d5dc8a32b7093e81e97dad755127ff77bcc899e845f41bf71747af0c569 \ + --hash=sha256:dbcda74c67263139358f4d188ae5faae95c30929281bc6866d00573783c422b7 \ + --hash=sha256:ddaea91abf8b0d13443f6dac52e89051a5063c7d014710dcb4d4abb2ff811a59 \ + --hash=sha256:dee0ce50c6a2dd9056c20db781e9c1cfd33e77d2d569f5d1d9321c641bb903d5 \ + --hash=sha256:dee60e1de1898bde3b238f18340eec6148986da0455d8ba7848d50470a7a32fb \ + --hash=sha256:e2f83e18fe2f4c9e7db597e988f72712c0c3676d337d8b101f6758107c42425b \ + --hash=sha256:e3fb1677c720409d5f671e39bac6c9e0e422584e5f518bfd50aa4cbbea02433f \ + --hash=sha256:ee2b1b1769f6707a8a445162ea16dddf74285c3964f605877a20e38545c3c462 \ + --hash=sha256:ee6acae74a2b91865910eef5e7de37dc6895ad96fa23603d1d27ea69df545015 \ + --hash=sha256:ef3f72c9666bba2bab70d2a8b79f2c6d2c1a42a7f7e2b0ec83bb2f9e383950af + # via astroid +zipp==3.10.0 \ + --hash=sha256:4fcb6f278987a6605757302a6e40e896257570d11c51628968ccb2a47e80c6c1 \ + --hash=sha256:7a7262fd930bd3e36c50b9a64897aec3fafff3dfdeec9623ae22b40e93f99bb8 + # via + # -r requirements.bundle.txt + # importlib-metadata + +# The following packages are considered to be unsafe in a requirements file: +pip==22.3.1 \ + --hash=sha256:65fd48317359f3af8e593943e6ae1506b66325085ea64b706a998c6e83eeaf38 \ + --hash=sha256:908c78e6bc29b676ede1c4d57981d490cb892eb45cd8c214ab6298125119e077 + # via + # -r requirements.bundle.txt + # pip-tools +setuptools==65.5.1 \ + --hash=sha256:d0b9a8433464d5800cbe05094acf5c6d52a91bfac9b52bcfc4d41382be5d5d31 \ + --hash=sha256:e197a19aa8ec9722928f2206f8de752def0e4c9fc6953527360d1c36d94ddb2f + # via + # -r requirements.bundle.txt + # pip-tools diff --git a/python/requirements.in b/python/requirements.in deleted file mode 100644 index 60efef802..000000000 --- a/python/requirements.in +++ /dev/null @@ -1,39 +0,0 @@ -beautifulsoup4 -black -compare-locales -decorator -distro -flask -flask-cors -isort -jsonschema<4.2 -markdown -mock -mypy -mypy-protobuf -orjson -pip-tools -protobuf -pylint -pytest -requests[socks] -send2trash -snakeviz -waitress>=2.0.0 -fluent.syntax -types-decorator -types-flask -types-markdown -types-orjson -types-protobuf -types-requests -types-waitress - -# windows only -psutil; sys.platform == "win32" -pywin32; sys.platform == "win32" -winrt; sys.platform == "win32" and platform_release == "10" - -# transitive windows dependencies -atomicwrites; sys.platform == "win32" # via pytest -colorama; sys.platform == "win32" # via pylint, pytest diff --git a/python/pyqt/5_14/requirements.in b/python/requirements.qt5_14.in similarity index 100% rename from python/pyqt/5_14/requirements.in rename to python/requirements.qt5_14.in diff --git a/python/pyqt/5_14/requirements.txt b/python/requirements.qt5_14.txt similarity index 100% rename from python/pyqt/5_14/requirements.txt rename to python/requirements.qt5_14.txt diff --git a/python/pyqt/5_15/requirements.in b/python/requirements.qt5_15.in similarity index 100% rename from python/pyqt/5_15/requirements.in rename to python/requirements.qt5_15.in diff --git a/python/pyqt/5_15/requirements.txt b/python/requirements.qt5_15.txt similarity index 100% rename from python/pyqt/5_15/requirements.txt rename to python/requirements.qt5_15.txt diff --git a/python/pyqt/6/requirements.in b/python/requirements.qt6.in similarity index 100% rename from python/pyqt/6/requirements.in rename to python/requirements.qt6.in diff --git a/python/pyqt/6/requirements.txt b/python/requirements.qt6.txt similarity index 86% rename from python/pyqt/6/requirements.txt rename to python/requirements.qt6.txt index 782b1eb30..6ad056e00 100644 --- a/python/pyqt/6/requirements.txt +++ b/python/requirements.qt6.txt @@ -4,7 +4,7 @@ pyqt6==6.4.0 \ --hash=sha256:8e614cc4b95dec8bec8ba3c3eaf821058b45862e66d69a8c4fb5576123f2be98 \ --hash=sha256:91392469be1f491905fa9e78fa4e4059a89ab616ddf2ecfd525bc1d65c26bb93 # via - # -r requirements.in + # -r requirements.qt6.in # pyqt6-webengine pyqt6-qt6==6.4.0 \ --hash=sha256:38cfedf942f6982e2492234c4912a6f9ae0d54430313ba32297b7d673adaa11d \ @@ -12,7 +12,7 @@ pyqt6-qt6==6.4.0 \ --hash=sha256:adee1f98678adebf14cdf4ea1f95cf00b6a644c14e9a79136166d0060de72dfc \ --hash=sha256:fe846c6f89c4ca720ec03c85ec31ac6cc3ffbe8bf5e780f25f99a4cac3372f7c # via - # -r requirements.in + # -r requirements.qt6.in # pyqt6 pyqt6-sip==13.4.0 \ --hash=sha256:2694ae67811cefb6ea3ee0e9995755b45e4952f4dcadec8c04300fd828f91c75 \ @@ -20,16 +20,19 @@ pyqt6-sip==13.4.0 \ --hash=sha256:3ac7e0800180202dcc0c7035ff88c2a6f4a0f5acb20c4a19f71d807d0f7857b7 \ --hash=sha256:3de18c4a32f717a351d560a39f528af24077f5135aacfa8890a2f2d79f0633da \ --hash=sha256:6d87a3ee5872d7511b76957d68a32109352caf3b7a42a01d9ee20032b350d979 \ + --hash=sha256:77af9c7e3f50414ec5af9b1534aaf2ba25115ae65aa5ed735111c8ef0884b862 \ --hash=sha256:802b0cfed19900183220c46895c2635f0dd062f2d275a25506423f911ef74db4 \ --hash=sha256:83b446d247a92d119d507dbc94fc1f47389d8118a5b6232a2859951157319a30 \ --hash=sha256:9c5231536e6153071b22175e46e368045fd08d772a90d772a0977d1166c7822c \ --hash=sha256:9e03c780846fd5d71c06e33322fd11a05713d9cd410e3571d069ac9a84077647 \ --hash=sha256:bb4f2e2fdcf3a8dafe4256750bbedd9e7107c4fd8afa9c25be28423c36bb12b8 \ --hash=sha256:cfdcd43e123bd55c155cfe7a33895033e6d25de90a48ed9c25a0ddd0196a810e \ + --hash=sha256:d51704d50b82713fd7c928b7deb31e17be239ddac74fc2fd708e52bd21ecea3a \ --hash=sha256:de601187055d684b36ebe6e800a5deacaa55b69d71ad43312b76422cfeae0e12 \ + --hash=sha256:e3b17308ca729bcb6d25c01144c6b2e17d40812231c3ef9caaa72a78db2b1069 \ --hash=sha256:fd2df2a9479b8ac858117bd55dc0ec0bd1ce6c8f3486b0cc5e860c0540a8bba0 # via - # -r requirements.in + # -r requirements.qt6.in # pyqt6 # pyqt6-webengine pyqt6-webengine==6.4.0 \ @@ -37,12 +40,12 @@ pyqt6-webengine==6.4.0 \ --hash=sha256:4c71c130860abcd11e04cafb22e33983fa9a3aee8323c51909b15a1701828e21 \ --hash=sha256:7f6cde52b7b8c00ef2a1522ad92cde66f2bd3a3066646efe4ef96a4907b1b1cd \ --hash=sha256:9658919bc1c5279a6fae9e6990448dfe483e136e957e6fb14e8f6265f4e9d1da - # via -r requirements.in + # via -r requirements.qt6.in pyqt6-webengine-qt6==6.4.0 \ --hash=sha256:572e7fee6de616191b98dd974ced8bd732e86dc1856c1ada7ad734402e37285c \ --hash=sha256:689127e483ab76744477762ab936de9541e7fc368ab4f4ee463a9099bf8bc5be \ --hash=sha256:971aedd051c77c17c59e724692636a4a0883c70dff3dbd172ae7cfb2fe7ddcc4 \ --hash=sha256:f13b3582c7f170017ecd52ec4c2e735c859316f05820e1bb4a2910c530611af4 # via - # -r requirements.in + # -r requirements.qt6.in # pyqt6-webengine diff --git a/python/requirements.txt b/python/requirements.txt deleted file mode 100644 index d7b92d578..000000000 --- a/python/requirements.txt +++ /dev/null @@ -1,662 +0,0 @@ -astroid==2.12.10 \ - --hash=sha256:81f870105d892e73bf535da77a8261aa5bde838fa4ed12bb2f435291a098c581 \ - --hash=sha256:997e0c735df60d4a4caff27080a3afc51f9bdd693d3572a4a0b7090b645c36c5 - # via pylint -atomicwrites==1.4.1 ; sys_platform == "win32" \ - --hash=sha256:81b2c9071a49367a7f770170e5eec8cb66567cfbbc8c73d20ce5ca4a8d71cf11 - # via -r requirements.in -attrs==22.1.0 \ - --hash=sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6 \ - --hash=sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c - # via - # jsonschema - # pytest -beautifulsoup4==4.11.1 \ - --hash=sha256:58d5c3d29f5a36ffeb94f02f0d786cd53014cf9b3b3951d42e0080d8a9498d30 \ - --hash=sha256:ad9aa55b65ef2808eb405f46cf74df7fcb7044d5cbc26487f96eb2ef2e436693 - # via -r requirements.in -black==22.8.0 \ - --hash=sha256:0a12e4e1353819af41df998b02c6742643cfef58282915f781d0e4dd7a200411 \ - --hash=sha256:0ad827325a3a634bae88ae7747db1a395d5ee02cf05d9aa7a9bd77dfb10e940c \ - --hash=sha256:32a4b17f644fc288c6ee2bafdf5e3b045f4eff84693ac069d87b1a347d861497 \ - --hash=sha256:3b2c25f8dea5e8444bdc6788a2f543e1fb01494e144480bc17f806178378005e \ - --hash=sha256:4a098a69a02596e1f2a58a2a1c8d5a05d5a74461af552b371e82f9fa4ada8342 \ - --hash=sha256:5107ea36b2b61917956d018bd25129baf9ad1125e39324a9b18248d362156a27 \ - --hash=sha256:53198e28a1fb865e9fe97f88220da2e44df6da82b18833b588b1883b16bb5d41 \ - --hash=sha256:5594efbdc35426e35a7defa1ea1a1cb97c7dbd34c0e49af7fb593a36bd45edab \ - --hash=sha256:5b879eb439094751185d1cfdca43023bc6786bd3c60372462b6f051efa6281a5 \ - --hash=sha256:78dd85caaab7c3153054756b9fe8c611efa63d9e7aecfa33e533060cb14b6d16 \ - --hash=sha256:792f7eb540ba9a17e8656538701d3eb1afcb134e3b45b71f20b25c77a8db7e6e \ - --hash=sha256:8ce13ffed7e66dda0da3e0b2eb1bdfc83f5812f66e09aca2b0978593ed636b6c \ - --hash=sha256:a05da0430bd5ced89176db098567973be52ce175a55677436a271102d7eaa3fe \ - --hash=sha256:a983526af1bea1e4cf6768e649990f28ee4f4137266921c2c3cee8116ae42ec3 \ - --hash=sha256:bc4d4123830a2d190e9cc42a2e43570f82ace35c3aeb26a512a2102bce5af7ec \ - --hash=sha256:c3a73f66b6d5ba7288cd5d6dad9b4c9b43f4e8a4b789a94bf5abfb878c663eb3 \ - --hash=sha256:ce957f1d6b78a8a231b18e0dd2d94a33d2ba738cd88a7fe64f53f659eea49fdd \ - --hash=sha256:cea1b2542d4e2c02c332e83150e41e3ca80dc0fb8de20df3c5e98e242156222c \ - --hash=sha256:d2c21d439b2baf7aa80d6dd4e3659259be64c6f49dfd0f32091063db0e006db4 \ - --hash=sha256:d839150f61d09e7217f52917259831fe2b689f5c8e5e32611736351b89bb2a90 \ - --hash=sha256:dd82842bb272297503cbec1a2600b6bfb338dae017186f8f215c8958f8acf869 \ - --hash=sha256:e8166b7bfe5dcb56d325385bd1d1e0f635f24aae14b3ae437102dedc0c186747 \ - --hash=sha256:e981e20ec152dfb3e77418fb616077937378b322d7b26aa1ff87717fb18b4875 - # via -r requirements.in -build==0.8.0 \ - --hash=sha256:19b0ed489f92ace6947698c3ca8436cb0556a66e2aa2d34cd70e2a5d27cd0437 \ - --hash=sha256:887a6d471c901b1a6e6574ebaeeebb45e5269a79d095fe9a8f88d6614ed2e5f0 - # via pip-tools -certifi==2022.9.14 \ - --hash=sha256:36973885b9542e6bd01dea287b2b4b3b21236307c56324fcc3f1160f2d655ed5 \ - --hash=sha256:e232343de1ab72c2aa521b625c80f699e356830fd0e2c620b465b304b17b0516 - # via requests -charset-normalizer==2.1.1 \ - --hash=sha256:5a3d016c7c547f69d6f81fb0db9449ce888b418b5b9952cc5e6e66843e9dd845 \ - --hash=sha256:83e9a75d1911279afd89352c68b45348559d1fc0506b054b346651b5e7fee29f - # via requests -click==8.1.3 \ - --hash=sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e \ - --hash=sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48 - # via - # black - # flask - # pip-tools -colorama==0.4.5 ; sys_platform == "win32" \ - --hash=sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da \ - --hash=sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4 - # via - # -r requirements.in - # build - # click - # pylint - # pytest -compare-locales==8.2.1 \ - --hash=sha256:470d50d96c68f8e147daa3d70f29a7b750adefea450c5fa07e0f666c8083d854 \ - --hash=sha256:e6a1610151d357e74ee6c1f5e944f1868e449f83e478c84d92f7b86132f721d7 - # via -r requirements.in -decorator==5.1.1 \ - --hash=sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330 \ - --hash=sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186 - # via -r requirements.in -dill==0.3.5.1 \ - --hash=sha256:33501d03270bbe410c72639b350e941882a8b0fd55357580fbc873fba0c59302 \ - --hash=sha256:d75e41f3eff1eee599d738e76ba8f4ad98ea229db8b085318aa2b3333a208c86 - # via pylint -distro==1.7.0 \ - --hash=sha256:151aeccf60c216402932b52e40ee477a939f8d58898927378a02abbe852c1c39 \ - --hash=sha256:d596311d707e692c2160c37807f83e3820c5d539d5a83e87cfb6babd8ba3a06b - # via -r requirements.in -flask==2.2.2 \ - --hash=sha256:642c450d19c4ad482f96729bd2a8f6d32554aa1e231f4f6b4e7e5264b16cca2b \ - --hash=sha256:b9c46cc36662a7949f34b52d8ec7bb59c0d74ba08ba6cb9ce9adc1d8676d9526 - # via - # -r requirements.in - # flask-cors -flask-cors==3.0.10 \ - --hash=sha256:74efc975af1194fc7891ff5cd85b0f7478be4f7f59fe158102e91abb72bb4438 \ - --hash=sha256:b60839393f3b84a0f3746f6cdca56c1ad7426aa738b70d6c61375857823181de - # via -r requirements.in -fluent-syntax==0.18.1 \ - --hash=sha256:0e63679fa4f1b3042565220a5127b4bab842424f07d6a13c12299e3b3835486a \ - --hash=sha256:3a55f5e605d1b029a65cc8b6492c86ec4608e15447e73db1495de11fd46c104f - # via - # -r requirements.in - # compare-locales -idna==3.4 \ - --hash=sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4 \ - --hash=sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2 - # via requests -importlib-metadata==4.12.0 \ - --hash=sha256:637245b8bab2b6502fcbc752cc4b7a6f6243bb02b31c5c26156ad103d3d45670 \ - --hash=sha256:7401a975809ea1fdc658c3aa4f78cc2195a0e019c5cbc4c06122884e9ae80c23 - # via - # flask - # markdown -iniconfig==1.1.1 \ - --hash=sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3 \ - --hash=sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32 - # via pytest -isort==5.10.1 \ - --hash=sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7 \ - --hash=sha256:e8443a5e7a020e9d7f97f1d7d9cd17c88bcb3bc7e218bf9cf5095fe550be2951 - # via - # -r requirements.in - # pylint -itsdangerous==2.1.2 \ - --hash=sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44 \ - --hash=sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a - # via flask -jinja2==3.1.2 \ - --hash=sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852 \ - --hash=sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61 - # via flask -jsonschema==4.1.2 \ - --hash=sha256:166870c8ab27bd712a8627e0598de4685bd8d199c4d7bd7cacc3d941ba0c6ca0 \ - --hash=sha256:5c1a282ee6b74235057421fd0f766ac5f2972f77440927f6471c9e8493632fac - # via -r requirements.in -lazy-object-proxy==1.7.1 \ - --hash=sha256:043651b6cb706eee4f91854da4a089816a6606c1428fd391573ef8cb642ae4f7 \ - --hash=sha256:07fa44286cda977bd4803b656ffc1c9b7e3bc7dff7d34263446aec8f8c96f88a \ - --hash=sha256:12f3bb77efe1367b2515f8cb4790a11cffae889148ad33adad07b9b55e0ab22c \ - --hash=sha256:2052837718516a94940867e16b1bb10edb069ab475c3ad84fd1e1a6dd2c0fcfc \ - --hash=sha256:2130db8ed69a48a3440103d4a520b89d8a9405f1b06e2cc81640509e8bf6548f \ - --hash=sha256:39b0e26725c5023757fc1ab2a89ef9d7ab23b84f9251e28f9cc114d5b59c1b09 \ - --hash=sha256:46ff647e76f106bb444b4533bb4153c7370cdf52efc62ccfc1a28bdb3cc95442 \ - --hash=sha256:4dca6244e4121c74cc20542c2ca39e5c4a5027c81d112bfb893cf0790f96f57e \ - --hash=sha256:553b0f0d8dbf21890dd66edd771f9b1b5f51bd912fa5f26de4449bfc5af5e029 \ - --hash=sha256:677ea950bef409b47e51e733283544ac3d660b709cfce7b187f5ace137960d61 \ - --hash=sha256:6a24357267aa976abab660b1d47a34aaf07259a0c3859a34e536f1ee6e76b5bb \ - --hash=sha256:6a6e94c7b02641d1311228a102607ecd576f70734dc3d5e22610111aeacba8a0 \ - --hash=sha256:6aff3fe5de0831867092e017cf67e2750c6a1c7d88d84d2481bd84a2e019ec35 \ - --hash=sha256:6ecbb350991d6434e1388bee761ece3260e5228952b1f0c46ffc800eb313ff42 \ - --hash=sha256:7096a5e0c1115ec82641afbdd70451a144558ea5cf564a896294e346eb611be1 \ - --hash=sha256:70ed0c2b380eb6248abdef3cd425fc52f0abd92d2b07ce26359fcbc399f636ad \ - --hash=sha256:8561da8b3dd22d696244d6d0d5330618c993a215070f473b699e00cf1f3f6443 \ - --hash=sha256:85b232e791f2229a4f55840ed54706110c80c0a210d076eee093f2b2e33e1bfd \ - --hash=sha256:898322f8d078f2654d275124a8dd19b079080ae977033b713f677afcfc88e2b9 \ - --hash=sha256:8f3953eb575b45480db6568306893f0bd9d8dfeeebd46812aa09ca9579595148 \ - --hash=sha256:91ba172fc5b03978764d1df5144b4ba4ab13290d7bab7a50f12d8117f8630c38 \ - --hash=sha256:9d166602b525bf54ac994cf833c385bfcc341b364e3ee71e3bf5a1336e677b55 \ - --hash=sha256:a57d51ed2997e97f3b8e3500c984db50a554bb5db56c50b5dab1b41339b37e36 \ - --hash=sha256:b9e89b87c707dd769c4ea91f7a31538888aad05c116a59820f28d59b3ebfe25a \ - --hash=sha256:bb8c5fd1684d60a9902c60ebe276da1f2281a318ca16c1d0a96db28f62e9166b \ - --hash=sha256:c19814163728941bb871240d45c4c30d33b8a2e85972c44d4e63dd7107faba44 \ - --hash=sha256:c4ce15276a1a14549d7e81c243b887293904ad2d94ad767f42df91e75fd7b5b6 \ - --hash=sha256:c7a683c37a8a24f6428c28c561c80d5f4fd316ddcf0c7cab999b15ab3f5c5c69 \ - --hash=sha256:d609c75b986def706743cdebe5e47553f4a5a1da9c5ff66d76013ef396b5a8a4 \ - --hash=sha256:d66906d5785da8e0be7360912e99c9188b70f52c422f9fc18223347235691a84 \ - --hash=sha256:dd7ed7429dbb6c494aa9bc4e09d94b778a3579be699f9d67da7e6804c422d3de \ - --hash=sha256:df2631f9d67259dc9620d831384ed7732a198eb434eadf69aea95ad18c587a28 \ - --hash=sha256:e368b7f7eac182a59ff1f81d5f3802161932a41dc1b1cc45c1f757dc876b5d2c \ - --hash=sha256:e40f2013d96d30217a51eeb1db28c9ac41e9d0ee915ef9d00da639c5b63f01a1 \ - --hash=sha256:f769457a639403073968d118bc70110e7dce294688009f5c24ab78800ae56dc8 \ - --hash=sha256:fccdf7c2c5821a8cbd0a9440a456f5050492f2270bd54e94360cac663398739b \ - --hash=sha256:fd45683c3caddf83abbb1249b653a266e7069a09f486daa8863fb0e7496a9fdb - # via astroid -markdown==3.4.1 \ - --hash=sha256:08fb8465cffd03d10b9dd34a5c3fea908e20391a2a90b88d66362cb05beed186 \ - --hash=sha256:3b809086bb6efad416156e00a0da66fe47618a5d6918dd688f53f40c8e4cfeff - # via -r requirements.in -markupsafe==2.1.1 \ - --hash=sha256:0212a68688482dc52b2d45013df70d169f542b7394fc744c02a57374a4207003 \ - --hash=sha256:089cf3dbf0cd6c100f02945abeb18484bd1ee57a079aefd52cffd17fba910b88 \ - --hash=sha256:10c1bfff05d95783da83491be968e8fe789263689c02724e0c691933c52994f5 \ - --hash=sha256:33b74d289bd2f5e527beadcaa3f401e0df0a89927c1559c8566c066fa4248ab7 \ - --hash=sha256:3799351e2336dc91ea70b034983ee71cf2f9533cdff7c14c90ea126bfd95d65a \ - --hash=sha256:3ce11ee3f23f79dbd06fb3d63e2f6af7b12db1d46932fe7bd8afa259a5996603 \ - --hash=sha256:421be9fbf0ffe9ffd7a378aafebbf6f4602d564d34be190fc19a193232fd12b1 \ - --hash=sha256:43093fb83d8343aac0b1baa75516da6092f58f41200907ef92448ecab8825135 \ - --hash=sha256:46d00d6cfecdde84d40e572d63735ef81423ad31184100411e6e3388d405e247 \ - --hash=sha256:4a33dea2b688b3190ee12bd7cfa29d39c9ed176bda40bfa11099a3ce5d3a7ac6 \ - --hash=sha256:4b9fe39a2ccc108a4accc2676e77da025ce383c108593d65cc909add5c3bd601 \ - --hash=sha256:56442863ed2b06d19c37f94d999035e15ee982988920e12a5b4ba29b62ad1f77 \ - --hash=sha256:671cd1187ed5e62818414afe79ed29da836dde67166a9fac6d435873c44fdd02 \ - --hash=sha256:694deca8d702d5db21ec83983ce0bb4b26a578e71fbdbd4fdcd387daa90e4d5e \ - --hash=sha256:6a074d34ee7a5ce3effbc526b7083ec9731bb3cbf921bbe1d3005d4d2bdb3a63 \ - --hash=sha256:6d0072fea50feec76a4c418096652f2c3238eaa014b2f94aeb1d56a66b41403f \ - --hash=sha256:6fbf47b5d3728c6aea2abb0589b5d30459e369baa772e0f37a0320185e87c980 \ - --hash=sha256:7f91197cc9e48f989d12e4e6fbc46495c446636dfc81b9ccf50bb0ec74b91d4b \ - --hash=sha256:86b1f75c4e7c2ac2ccdaec2b9022845dbb81880ca318bb7a0a01fbf7813e3812 \ - --hash=sha256:8dc1c72a69aa7e082593c4a203dcf94ddb74bb5c8a731e4e1eb68d031e8498ff \ - --hash=sha256:8e3dcf21f367459434c18e71b2a9532d96547aef8a871872a5bd69a715c15f96 \ - --hash=sha256:8e576a51ad59e4bfaac456023a78f6b5e6e7651dcd383bcc3e18d06f9b55d6d1 \ - --hash=sha256:96e37a3dc86e80bf81758c152fe66dbf60ed5eca3d26305edf01892257049925 \ - --hash=sha256:97a68e6ada378df82bc9f16b800ab77cbf4b2fada0081794318520138c088e4a \ - --hash=sha256:99a2a507ed3ac881b975a2976d59f38c19386d128e7a9a18b7df6fff1fd4c1d6 \ - --hash=sha256:a49907dd8420c5685cfa064a1335b6754b74541bbb3706c259c02ed65b644b3e \ - --hash=sha256:b09bf97215625a311f669476f44b8b318b075847b49316d3e28c08e41a7a573f \ - --hash=sha256:b7bd98b796e2b6553da7225aeb61f447f80a1ca64f41d83612e6139ca5213aa4 \ - --hash=sha256:b87db4360013327109564f0e591bd2a3b318547bcef31b468a92ee504d07ae4f \ - --hash=sha256:bcb3ed405ed3222f9904899563d6fc492ff75cce56cba05e32eff40e6acbeaa3 \ - --hash=sha256:d4306c36ca495956b6d568d276ac11fdd9c30a36f1b6eb928070dc5360b22e1c \ - --hash=sha256:d5ee4f386140395a2c818d149221149c54849dfcfcb9f1debfe07a8b8bd63f9a \ - --hash=sha256:dda30ba7e87fbbb7eab1ec9f58678558fd9a6b8b853530e176eabd064da81417 \ - --hash=sha256:e04e26803c9c3851c931eac40c695602c6295b8d432cbe78609649ad9bd2da8a \ - --hash=sha256:e1c0b87e09fa55a220f058d1d49d3fb8df88fbfab58558f1198e08c1e1de842a \ - --hash=sha256:e72591e9ecd94d7feb70c1cbd7be7b3ebea3f548870aa91e2732960fa4d57a37 \ - --hash=sha256:e8c843bbcda3a2f1e3c2ab25913c80a3c5376cd00c6e8c4a86a89a28c8dc5452 \ - --hash=sha256:efc1913fd2ca4f334418481c7e595c00aad186563bbc1ec76067848c7ca0a933 \ - --hash=sha256:f121a1420d4e173a5d96e47e9a0c0dcff965afdf1626d28de1460815f7c4ee7a \ - --hash=sha256:fc7b548b17d238737688817ab67deebb30e8073c95749d55538ed473130ec0c7 - # via - # jinja2 - # werkzeug -mccabe==0.7.0 \ - --hash=sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325 \ - --hash=sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e - # via pylint -mock==4.0.3 \ - --hash=sha256:122fcb64ee37cfad5b3f48d7a7d51875d7031aaf3d8be7c42e2bee25044eee62 \ - --hash=sha256:7d3fbbde18228f4ff2f1f119a45cdffa458b4c0dee32eb4d2bb2f82554bac7bc - # via -r requirements.in -mypy==0.971 \ - --hash=sha256:02ef476f6dcb86e6f502ae39a16b93285fef97e7f1ff22932b657d1ef1f28655 \ - --hash=sha256:0d054ef16b071149917085f51f89555a576e2618d5d9dd70bd6eea6410af3ac9 \ - --hash=sha256:19830b7dba7d5356d3e26e2427a2ec91c994cd92d983142cbd025ebe81d69cf3 \ - --hash=sha256:1f7656b69974a6933e987ee8ffb951d836272d6c0f81d727f1d0e2696074d9e6 \ - --hash=sha256:23488a14a83bca6e54402c2e6435467a4138785df93ec85aeff64c6170077fb0 \ - --hash=sha256:23c7ff43fff4b0df93a186581885c8512bc50fc4d4910e0f838e35d6bb6b5e58 \ - --hash=sha256:25c5750ba5609a0c7550b73a33deb314ecfb559c350bb050b655505e8aed4103 \ - --hash=sha256:2ad53cf9c3adc43cf3bea0a7d01a2f2e86db9fe7596dfecb4496a5dda63cbb09 \ - --hash=sha256:3fa7a477b9900be9b7dd4bab30a12759e5abe9586574ceb944bc29cddf8f0417 \ - --hash=sha256:40b0f21484238269ae6a57200c807d80debc6459d444c0489a102d7c6a75fa56 \ - --hash=sha256:4b21e5b1a70dfb972490035128f305c39bc4bc253f34e96a4adf9127cf943eb2 \ - --hash=sha256:5a361d92635ad4ada1b1b2d3630fc2f53f2127d51cf2def9db83cba32e47c856 \ - --hash=sha256:77a514ea15d3007d33a9e2157b0ba9c267496acf12a7f2b9b9f8446337aac5b0 \ - --hash=sha256:855048b6feb6dfe09d3353466004490b1872887150c5bb5caad7838b57328cc8 \ - --hash=sha256:9796a2ba7b4b538649caa5cecd398d873f4022ed2333ffde58eaf604c4d2cb27 \ - --hash=sha256:98e02d56ebe93981c41211c05adb630d1d26c14195d04d95e49cd97dbc046dc5 \ - --hash=sha256:b793b899f7cf563b1e7044a5c97361196b938e92f0a4343a5d27966a53d2ec71 \ - --hash=sha256:d1ea5d12c8e2d266b5fb8c7a5d2e9c0219fedfeb493b7ed60cd350322384ac27 \ - --hash=sha256:d2022bfadb7a5c2ef410d6a7c9763188afdb7f3533f22a0a32be10d571ee4bbe \ - --hash=sha256:d3348e7eb2eea2472db611486846742d5d52d1290576de99d59edeb7cd4a42ca \ - --hash=sha256:d744f72eb39f69312bc6c2abf8ff6656973120e2eb3f3ec4f758ed47e414a4bf \ - --hash=sha256:ef943c72a786b0f8d90fd76e9b39ce81fb7171172daf84bf43eaf937e9f220a9 \ - --hash=sha256:f2899a3cbd394da157194f913a931edfd4be5f274a88041c9dc2d9cdcb1c315c - # via -r requirements.in -mypy-extensions==0.4.3 \ - --hash=sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d \ - --hash=sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8 - # via - # black - # mypy -mypy-protobuf==3.3.0 \ - --hash=sha256:15604f6943b16c05db646903261e3b3e775cf7f7990b7c37b03d043a907b650d \ - --hash=sha256:24f3b0aecb06656e983f58e07c732a90577b9d7af3e1066fc2b663bbf0370248 - # via -r requirements.in -orjson==3.8.0 \ - --hash=sha256:02d638d43951ba346a80f0abd5942a872cc87db443e073f6f6fc530fee81e19b \ - --hash=sha256:03ed95814140ff09f550b3a42e6821f855d981c94d25b9cc83e8cca431525d70 \ - --hash=sha256:1b1cd25acfa77935bb2e791b75211cec0cfc21227fe29387e553c545c3ff87e1 \ - --hash=sha256:2058653cc12b90e482beacb5c2d52dc3d7606f9e9f5a52c1c10ef49371e76f52 \ - --hash=sha256:2065b6d280dc58f131ffd93393737961ff68ae7eb6884b68879394074cc03c13 \ - --hash=sha256:25b5e48fbb9f0b428a5e44cf740675c9281dd67816149fc33659803399adbbe8 \ - --hash=sha256:2bdb1042970ca5f544a047d6c235a7eb4acdb69df75441dd1dfcbc406377ab37 \ - --hash=sha256:2d81e6e56bbea44be0222fb53f7b255b4e7426290516771592738ca01dbd053b \ - --hash=sha256:3c7225e8b08996d1a0c804d3a641a53e796685e8c9a9fd52bd428980032cad9a \ - --hash=sha256:3e2459d441ab8fd8b161aa305a73d5269b3cda13b5a2a39eba58b4dd3e394f49 \ - --hash=sha256:4065906ce3ad6195ac4d1bddde862fe811a42d7be237a1ff762666c3a4bb2151 \ - --hash=sha256:5b072ef8520cfe7bd4db4e3c9972d94336763c2253f7c4718a49e8733bada7b8 \ - --hash=sha256:5edb93cdd3eb32977633fa7aaa6a34b8ab54d9c49cdcc6b0d42c247a29091b22 \ - --hash=sha256:5f856279872a4449fc629924e6a083b9821e366cf98b14c63c308269336f7c14 \ - --hash=sha256:5fd6cac83136e06e538a4d17117eaeabec848c1e86f5742d4811656ad7ee475f \ - --hash=sha256:6433c956f4a18112342a18281e0bec67fcd8b90be3a5271556c09226e045d805 \ - --hash=sha256:655d7387a1634a9a477c545eea92a1ee902ab28626d701c6de4914e2ed0fecd2 \ - --hash=sha256:66c19399bb3b058e3236af7910b57b19a4fc221459d722ed72a7dc90370ca090 \ - --hash=sha256:6a23b40c98889e9abac084ce5a1fb251664b41da9f6bdb40a4729e2288ed2ed4 \ - --hash=sha256:6e3da2e4bd27c3b796519ca74132c7b9e5348fb6746315e0f6c1592bc5cf1caf \ - --hash=sha256:6ea5fe20ef97545e14dd4d0263e4c5c3bc3d2248d39b4b0aed4b84d528dfc0af \ - --hash=sha256:7536a2a0b41672f824912aeab545c2467a9ff5ca73a066ff04fb81043a0a177a \ - --hash=sha256:7990a9caf3b34016ac30be5e6cfc4e7efd76aa85614a1215b0eae4f0c7e3db59 \ - --hash=sha256:7b0e72974a5d3b101226899f111368ec2c9824d3e9804af0e5b31567f53ad98a \ - --hash=sha256:87462791dd57de2e3e53068bf4b7169c125c50960f1bdda08ed30c797cb42a56 \ - --hash=sha256:896a21a07f1998648d9998e881ab2b6b80d5daac4c31188535e9d50460edfcf7 \ - --hash=sha256:8b391d5c2ddc2f302d22909676b306cb6521022c3ee306c861a6935670291b2c \ - --hash=sha256:8f687776a03c19f40b982fb5c414221b7f3d19097841571be2223d1569a59877 \ - --hash=sha256:9a93850a1bdc300177b111b4b35b35299f046148ba23020f91d6efd7bf6b9d20 \ - --hash=sha256:9e6ac22cec72d5b39035b566e4b86c74b84866f12b5b0b6541506a080fb67d6d \ - --hash=sha256:a709c2249c1f2955dbf879506fd43fa08c31fdb79add9aeb891e3338b648bf60 \ - --hash=sha256:b68a42a31f8429728183c21fb440c21de1b62e5378d0d73f280e2d894ef8942e \ - --hash=sha256:be02f6acee33bb63862eeff80548cd6b8a62e2d60ad2d8dfd5a8824cc43d8887 \ - --hash=sha256:d189e2acb510e374700cb98cf11b54f0179916ee40f8453b836157ae293efa79 \ - --hash=sha256:d2b5dafbe68237a792143137cba413447f60dd5df428e05d73dcba10c1ea6fcf \ - --hash=sha256:e1418feeb8b698b9224b1f024555895169d481604d5d884498c1838d7412794c \ - --hash=sha256:e2defd9527651ad39ec20ae03c812adf47ef7662bdd6bc07dabb10888d70dc62 \ - --hash=sha256:e2f4a5542f50e3d336a18cb224fc757245ca66b1fd0b70b5dd4471b8ff5f2b0e \ - --hash=sha256:e68c699471ea3e2dd1b35bfd71c6a0a0e4885b64abbe2d98fce1ef11e0afaff3 \ - --hash=sha256:f4b46dbdda2f0bd6480c39db90b21340a19c3b0fcf34bc4c6e465332930ca539 \ - --hash=sha256:fb42f7cf57d5804a9daa6b624e3490ec9e2631e042415f3aebe9f35a8492ba6c \ - --hash=sha256:ff13410ddbdda5d4197a4a4c09969cb78c722a67550f0a63c02c07aadc624833 - # via -r requirements.in -packaging==21.3 \ - --hash=sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb \ - --hash=sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522 - # via - # build - # pytest -pathspec==0.10.1 \ - --hash=sha256:46846318467efc4556ccfd27816e004270a9eeeeb4d062ce5e6fc7a87c573f93 \ - --hash=sha256:7ace6161b621d31e7902eb6b5ae148d12cfd23f4a249b9ffb6b9fee12084323d - # via black -pep517==0.13.0 \ - --hash=sha256:4ba4446d80aed5b5eac6509ade100bff3e7943a8489de249654a5ae9b33ee35b \ - --hash=sha256:ae69927c5c172be1add9203726d4b84cf3ebad1edcd5f71fcdc746e66e829f59 - # via build -pip-tools==6.8.0 \ - --hash=sha256:39e8aee465446e02278d80dbebd4325d1dd8633248f43213c73a25f58e7d8a55 \ - --hash=sha256:3e5cd4acbf383d19bdfdeab04738b6313ebf4ad22ce49bf529c729061eabfab8 - # via -r requirements.in -platformdirs==2.5.2 \ - --hash=sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788 \ - --hash=sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19 - # via - # black - # pylint -pluggy==1.0.0 \ - --hash=sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159 \ - --hash=sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3 - # via pytest -protobuf==4.21.6 \ - --hash=sha256:07a0bb9cc6114f16a39c866dc28b6e3d96fa4ffb9cc1033057412547e6e75cb9 \ - --hash=sha256:308173d3e5a3528787bb8c93abea81d5a950bdce62840d9760effc84127fb39c \ - --hash=sha256:4143513c766db85b9d7c18dbf8339673c8a290131b2a0fe73855ab20770f72b0 \ - --hash=sha256:49f88d56a9180dbb7f6199c920f5bb5c1dd0172f672983bb281298d57c2ac8eb \ - --hash=sha256:6b1040a5661cd5f6e610cbca9cfaa2a17d60e2bb545309bc1b278bb05be44bdd \ - --hash=sha256:77b355c8604fe285536155286b28b0c4cbc57cf81b08d8357bf34829ea982860 \ - --hash=sha256:7a6cc8842257265bdfd6b74d088b829e44bcac3cca234c5fdd6052730017b9ea \ - --hash=sha256:80e6540381080715fddac12690ee42d087d0d17395f8d0078dfd6f1181e7be4c \ - --hash=sha256:8f9e60f7d44592c66e7b332b6a7b4b6e8d8b889393c79dbc3a91f815118f8eac \ - --hash=sha256:9666da97129138585b26afcb63ad4887f602e169cafe754a8258541c553b8b5d \ - --hash=sha256:aa29113ec901281f29d9d27b01193407a98aa9658b8a777b0325e6d97149f5ce \ - --hash=sha256:b6cea204865595a92a7b240e4b65bcaaca3ad5d2ce25d9db3756eba06041138e \ - --hash=sha256:ba596b9ffb85c909fcfe1b1a23136224ed678af3faf9912d3fa483d5f9813c4e \ - --hash=sha256:c7c864148a237f058c739ae7a05a2b403c0dfa4ce7d1f3e5213f352ad52d57c6 - # via - # -r requirements.in - # mypy-protobuf -psutil==5.9.2 ; sys_platform == "win32" \ - --hash=sha256:14b29f581b5edab1f133563272a6011925401804d52d603c5c606936b49c8b97 \ - --hash=sha256:256098b4f6ffea6441eb54ab3eb64db9ecef18f6a80d7ba91549195d55420f84 \ - --hash=sha256:39ec06dc6c934fb53df10c1672e299145ce609ff0611b569e75a88f313634969 \ - --hash=sha256:404f4816c16a2fcc4eaa36d7eb49a66df2d083e829d3e39ee8759a411dbc9ecf \ - --hash=sha256:42638876b7f5ef43cef8dcf640d3401b27a51ee3fa137cb2aa2e72e188414c32 \ - --hash=sha256:4642fd93785a29353d6917a23e2ac6177308ef5e8be5cc17008d885cb9f70f12 \ - --hash=sha256:4fb54941aac044a61db9d8eb56fc5bee207db3bc58645d657249030e15ba3727 \ - --hash=sha256:561dec454853846d1dd0247b44c2e66a0a0c490f937086930ec4b8f83bf44f06 \ - --hash=sha256:5d39e3a2d5c40efa977c9a8dd4f679763c43c6c255b1340a56489955dbca767c \ - --hash=sha256:614337922702e9be37a39954d67fdb9e855981624d8011a9927b8f2d3c9625d9 \ - --hash=sha256:67b33f27fc0427483b61563a16c90d9f3b547eeb7af0ef1b9fe024cdc9b3a6ea \ - --hash=sha256:68b35cbff92d1f7103d8f1db77c977e72f49fcefae3d3d2b91c76b0e7aef48b8 \ - --hash=sha256:7cbb795dcd8ed8fd238bc9e9f64ab188f3f4096d2e811b5a82da53d164b84c3f \ - --hash=sha256:8f024fbb26c8daf5d70287bb3edfafa22283c255287cf523c5d81721e8e5d82c \ - --hash=sha256:91aa0dac0c64688667b4285fa29354acfb3e834e1fd98b535b9986c883c2ce1d \ - --hash=sha256:94e621c6a4ddb2573d4d30cba074f6d1aa0186645917df42c811c473dd22b339 \ - --hash=sha256:9770c1d25aee91417eba7869139d629d6328a9422ce1cdd112bd56377ca98444 \ - --hash=sha256:b1928b9bf478d31fdffdb57101d18f9b70ed4e9b0e41af751851813547b2a9ab \ - --hash=sha256:b2f248ffc346f4f4f0d747ee1947963613216b06688be0be2e393986fe20dbbb \ - --hash=sha256:b315febaebae813326296872fdb4be92ad3ce10d1d742a6b0c49fb619481ed0b \ - --hash=sha256:b3591616fa07b15050b2f87e1cdefd06a554382e72866fcc0ab2be9d116486c8 \ - --hash=sha256:b4018d5f9b6651f9896c7a7c2c9f4652e4eea53f10751c4e7d08a9093ab587ec \ - --hash=sha256:d75291912b945a7351d45df682f9644540d564d62115d4a20d45fa17dc2d48f8 \ - --hash=sha256:dc9bda7d5ced744622f157cc8d8bdd51735dafcecff807e928ff26bdb0ff097d \ - --hash=sha256:e3ac2c0375ef498e74b9b4ec56df3c88be43fe56cac465627572dbfb21c4be34 \ - --hash=sha256:e4c4a7636ffc47b7141864f1c5e7d649f42c54e49da2dd3cceb1c5f5d29bfc85 \ - --hash=sha256:ed29ea0b9a372c5188cdb2ad39f937900a10fb5478dc077283bf86eeac678ef1 \ - --hash=sha256:f40ba362fefc11d6bea4403f070078d60053ed422255bd838cd86a40674364c9 \ - --hash=sha256:f4cb67215c10d4657e320037109939b1c1d2fd70ca3d76301992f89fe2edb1f1 \ - --hash=sha256:f7929a516125f62399d6e8e026129c8835f6c5a3aab88c3fff1a05ee8feb840d \ - --hash=sha256:fd331866628d18223a4265371fd255774affd86244fc307ef66eaf00de0633d5 \ - --hash=sha256:feb861a10b6c3bb00701063b37e4afc754f8217f0f09c42280586bd6ac712b5c - # via -r requirements.in -py==1.11.0 \ - --hash=sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719 \ - --hash=sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378 - # via pytest -pylint==2.15.3 \ - --hash=sha256:5fdfd44af182866999e6123139d265334267339f29961f00c89783155eacc60b \ - --hash=sha256:7f6aad1d8d50807f7bc64f89ac75256a9baf8e6ed491cc9bc65592bc3f462cf1 - # via -r requirements.in -pyparsing==3.0.9 \ - --hash=sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb \ - --hash=sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc - # via packaging -pyrsistent==0.18.1 \ - --hash=sha256:0e3e1fcc45199df76053026a51cc59ab2ea3fc7c094c6627e93b7b44cdae2c8c \ - --hash=sha256:1b34eedd6812bf4d33814fca1b66005805d3640ce53140ab8bbb1e2651b0d9bc \ - --hash=sha256:4ed6784ceac462a7d6fcb7e9b663e93b9a6fb373b7f43594f9ff68875788e01e \ - --hash=sha256:5d45866ececf4a5fff8742c25722da6d4c9e180daa7b405dc0a2a2790d668c26 \ - --hash=sha256:636ce2dc235046ccd3d8c56a7ad54e99d5c1cd0ef07d9ae847306c91d11b5fec \ - --hash=sha256:6455fc599df93d1f60e1c5c4fe471499f08d190d57eca040c0ea182301321286 \ - --hash=sha256:6bc66318fb7ee012071b2792024564973ecc80e9522842eb4e17743604b5e045 \ - --hash=sha256:7bfe2388663fd18bd8ce7db2c91c7400bf3e1a9e8bd7d63bf7e77d39051b85ec \ - --hash=sha256:7ec335fc998faa4febe75cc5268a9eac0478b3f681602c1f27befaf2a1abe1d8 \ - --hash=sha256:914474c9f1d93080338ace89cb2acee74f4f666fb0424896fcfb8d86058bf17c \ - --hash=sha256:b568f35ad53a7b07ed9b1b2bae09eb15cdd671a5ba5d2c66caee40dbf91c68ca \ - --hash=sha256:cdfd2c361b8a8e5d9499b9082b501c452ade8bbf42aef97ea04854f4a3f43b22 \ - --hash=sha256:d1b96547410f76078eaf66d282ddca2e4baae8964364abb4f4dcdde855cd123a \ - --hash=sha256:d4d61f8b993a7255ba714df3aca52700f8125289f84f704cf80916517c46eb96 \ - --hash=sha256:d7a096646eab884bf8bed965bad63ea327e0d0c38989fc83c5ea7b8a87037bfc \ - --hash=sha256:df46c854f490f81210870e509818b729db4488e1f30f2a1ce1698b2295a878d1 \ - --hash=sha256:e24a828f57e0c337c8d8bb9f6b12f09dfdf0273da25fda9e314f0b684b415a07 \ - --hash=sha256:e4f3149fd5eb9b285d6bfb54d2e5173f6a116fe19172686797c056672689daf6 \ - --hash=sha256:e92a52c166426efbe0d1ec1332ee9119b6d32fc1f0bbfd55d5c1088070e7fc1b \ - --hash=sha256:f87cc2863ef33c709e237d4b5f4502a62a00fab450c9e020892e8e2ede5847f5 \ - --hash=sha256:fd8da6d0124efa2f67d86fa70c851022f87c98e205f0594e1fae044e7119a5a6 - # via jsonschema -pysocks==1.7.1 \ - --hash=sha256:08e69f092cc6dbe92a0fdd16eeb9b9ffbc13cadfe5ca4c7bd92ffb078b293299 \ - --hash=sha256:2725bd0a9925919b9b51739eea5f9e2bae91e83288108a9ad338b2e3a4435ee5 \ - --hash=sha256:3f8804571ebe159c380ac6de37643bb4685970655d3bba243530d6558b799aa0 - # via requests -pytest==7.1.3 \ - --hash=sha256:1377bda3466d70b55e3f5cecfa55bb7cfcf219c7964629b967c37cf0bda818b7 \ - --hash=sha256:4f365fec2dff9c1162f834d9f18af1ba13062db0c708bf7b946f8a5c76180c39 - # via -r requirements.in -pytoml==0.1.21 \ - --hash=sha256:57a21e6347049f73bfb62011ff34cd72774c031b9828cb628a752225136dfc33 \ - --hash=sha256:8eecf7c8d0adcff3b375b09fe403407aa9b645c499e5ab8cac670ac4a35f61e7 - # via compare-locales -pywin32==304 ; sys_platform == "win32" \ - --hash=sha256:25746d841201fd9f96b648a248f731c1dec851c9a08b8e33da8b56148e4c65cc \ - --hash=sha256:30c53d6ce44c12a316a06c153ea74152d3b1342610f1b99d40ba2795e5af0269 \ - --hash=sha256:3c7bacf5e24298c86314f03fa20e16558a4e4138fc34615d7de4070c23e65af3 \ - --hash=sha256:4f32145913a2447736dad62495199a8e280a77a0ca662daa2332acf849f0be48 \ - --hash=sha256:7ffa0c0fa4ae4077e8b8aa73800540ef8c24530057768c3ac57c609f99a14fd4 \ - --hash=sha256:94037b5259701988954931333aafd39cf897e990852115656b014ce72e052e96 \ - --hash=sha256:bb2ea2aa81e96eee6a6b79d87e1d1648d3f8b87f9a64499e0b92b30d141e76df \ - --hash=sha256:be253e7b14bc601718f014d2832e4c18a5b023cbe72db826da63df76b77507a1 \ - --hash=sha256:cbbe34dad39bdbaa2889a424d28752f1b4971939b14b1bb48cbf0182a3bcfc43 \ - --hash=sha256:d24a3382f013b21aa24a5cfbfad5a2cd9926610c0affde3e8ab5b3d7dbcf4ac9 \ - --hash=sha256:d3ee45adff48e0551d1aa60d2ec066fec006083b791f5c3527c40cd8aefac71f \ - --hash=sha256:de9827c23321dcf43d2f288f09f3b6d772fee11e809015bdae9e69fe13213988 \ - --hash=sha256:ead865a2e179b30fb717831f73cf4373401fc62fbc3455a0889a7ddac848f83e \ - --hash=sha256:f64c0377cf01b61bd5e76c25e1480ca8ab3b73f0c4add50538d332afdf8f69c5 - # via -r requirements.in -requests==2.28.1 \ - --hash=sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983 \ - --hash=sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349 - # via -r requirements.in -send2trash==1.8.0 \ - --hash=sha256:d2c24762fd3759860a0aff155e45871447ea58d2be6bdd39b5c8f966a0c99c2d \ - --hash=sha256:f20eaadfdb517eaca5ce077640cb261c7d2698385a6a0f072a4a5447fd49fa08 - # via -r requirements.in -six==1.16.0 \ - --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ - --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 - # via - # compare-locales - # flask-cors -snakeviz==2.1.1 \ - --hash=sha256:0d96c006304f095cb4b3fb7ed98bb866ca35a7ca4ab9020bbc27d295ee4c94d9 \ - --hash=sha256:931142dc927101c9a4b6e89bc0577ff1a3d1886b483a04e6af70c31d2c3dce19 - # via -r requirements.in -soupsieve==2.3.2.post1 \ - --hash=sha256:3b2503d3c7084a42b1ebd08116e5f81aadfaea95863628c80a3b774a11b7c759 \ - --hash=sha256:fc53893b3da2c33de295667a0e19f078c14bf86544af307354de5fcf12a3f30d - # via beautifulsoup4 -tomli==2.0.1 \ - --hash=sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc \ - --hash=sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f - # via - # black - # build - # mypy - # pylint - # pytest -tomlkit==0.11.4 \ - --hash=sha256:25d4e2e446c453be6360c67ddfb88838cfc42026322770ba13d1fbd403a93a5c \ - --hash=sha256:3235a9010fae54323e727c3ac06fb720752fe6635b3426e379daec60fbd44a83 - # via pylint -tornado==6.2 \ - --hash=sha256:1d54d13ab8414ed44de07efecb97d4ef7c39f7438cf5e976ccd356bebb1b5fca \ - --hash=sha256:20f638fd8cc85f3cbae3c732326e96addff0a15e22d80f049e00121651e82e72 \ - --hash=sha256:5c87076709343557ef8032934ce5f637dbb552efa7b21d08e89ae7619ed0eb23 \ - --hash=sha256:5f8c52d219d4995388119af7ccaa0bcec289535747620116a58d830e7c25d8a8 \ - --hash=sha256:6fdfabffd8dfcb6cf887428849d30cf19a3ea34c2c248461e1f7d718ad30b66b \ - --hash=sha256:87dcafae3e884462f90c90ecc200defe5e580a7fbbb4365eda7c7c1eb809ebc9 \ - --hash=sha256:9b630419bde84ec666bfd7ea0a4cb2a8a651c2d5cccdbdd1972a0c859dfc3c13 \ - --hash=sha256:b8150f721c101abdef99073bf66d3903e292d851bee51910839831caba341a75 \ - --hash=sha256:ba09ef14ca9893954244fd872798b4ccb2367c165946ce2dd7376aebdde8e3ac \ - --hash=sha256:d3a2f5999215a3a06a4fc218026cd84c61b8b2b40ac5296a6db1f1451ef04c1e \ - --hash=sha256:e5f923aa6a47e133d1cf87d60700889d7eae68988704e20c75fb2d65677a8e4b - # via snakeviz -types-click==7.1.8 \ - --hash=sha256:8cb030a669e2e927461be9827375f83c16b8178c365852c060a34e24871e7e81 \ - --hash=sha256:b6604968be6401dc516311ca50708a0a28baa7a0cb840efd7412f0dbbff4e092 - # via types-flask -types-decorator==5.1.8 \ - --hash=sha256:0cb0cc4ab6cd6f90981cf530376be5d01156c8f423a1dff1456bbc0259d3e393 \ - --hash=sha256:b664ca986324ed8ad6e52b56022417556af265b7494fbd8e77d8a2856cdfb5e4 - # via -r requirements.in -types-flask==1.1.6 \ - --hash=sha256:6ab8a9a5e258b76539d652f6341408867298550b19b81f0e41e916825fc39087 \ - --hash=sha256:aac777b3abfff9436e6b01f6d08171cf23ea6e5be71cbf773aaabb1c5763e9cf - # via -r requirements.in -types-jinja2==2.11.9 \ - --hash=sha256:60a1e21e8296979db32f9374d8a239af4cb541ff66447bb915d8ad398f9c63b2 \ - --hash=sha256:dbdc74a40aba7aed520b7e4d89e8f0fe4286518494208b35123bcf084d4b8c81 - # via types-flask -types-markdown==3.4.2 \ - --hash=sha256:7c5b2346873ae12d548de684a25920009f2446f0ea42ce8c5559eb9a3ac10072 \ - --hash=sha256:7dd9fe8bd2645ec984f438b255f42b795507b5cd2a998cc1970ec13f443dc832 - # via -r requirements.in -types-markupsafe==1.1.10 \ - --hash=sha256:85b3a872683d02aea3a5ac2a8ef590193c344092032f58457287fbf8e06711b1 \ - --hash=sha256:ca2bee0f4faafc45250602567ef38d533e877d2ddca13003b319c551ff5b3cc5 - # via types-jinja2 -types-orjson==3.6.2 \ - --hash=sha256:22ee9a79236b6b0bfb35a0684eded62ad930a88a56797fa3c449b026cf7dbfe4 \ - --hash=sha256:cf9afcc79a86325c7aff251790338109ed6f6b1bab09d2d4262dd18c85a3c638 - # via -r requirements.in -types-protobuf==3.20.4 \ - --hash=sha256:0dad3a5009895c985a56e2837f61902bad9594151265ac0ee907bb16d0b01eb7 \ - --hash=sha256:5082437afe64ce3b31c8db109eae86e02fda11e4d5f9ac59cb8578a8a138aa70 - # via - # -r requirements.in - # mypy-protobuf -types-requests==2.28.11 \ - --hash=sha256:7ee827eb8ce611b02b5117cfec5da6455365b6a575f5e3ff19f655ba603e6b4e \ - --hash=sha256:af5f55e803cabcfb836dad752bd6d8a0fc8ef1cd84243061c0e27dee04ccf4fd - # via -r requirements.in -types-urllib3==1.26.24 \ - --hash=sha256:a1b3aaea7dda3eb1b51699ee723aadd235488e4dc4648e030f09bc429ecff42f \ - --hash=sha256:cf7918503d02d3576e503bbfb419b0e047c4617653bba09624756ab7175e15c9 - # via types-requests -types-waitress==2.1.4 \ - --hash=sha256:49e705dcb12ed63866a93e687d37ed6c83f532efee15799f02bdb85fd94d4ccc \ - --hash=sha256:871f246b23c9f1393c9a3112d50424d32298746efcba77e1c2d4b7aacd9794fb - # via -r requirements.in -types-werkzeug==1.0.9 \ - --hash=sha256:194bd5715a13c598f05c63e8a739328657590943bce941e8a3619a6b5d4a54ec \ - --hash=sha256:5cc269604c400133d452a40cee6397655f878fc460e03fde291b9e3a5eaa518c - # via types-flask -typing-extensions==4.3.0 \ - --hash=sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02 \ - --hash=sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6 - # via - # astroid - # black - # mypy - # pylint -urllib3==1.26.12 \ - --hash=sha256:3fa96cf423e6987997fc326ae8df396db2a8b7c667747d47ddd8ecba91f4a74e \ - --hash=sha256:b930dd878d5a8afb066a637fbb35144fe7901e3b209d1cd4f524bd0e9deee997 - # via requests -waitress==2.1.2 \ - --hash=sha256:7500c9625927c8ec60f54377d590f67b30c8e70ef4b8894214ac6e4cad233d2a \ - --hash=sha256:780a4082c5fbc0fde6a2fcfe5e26e6efc1e8f425730863c04085769781f51eba - # via -r requirements.in -werkzeug==2.2.2 \ - --hash=sha256:7ea2d48322cc7c0f8b3a215ed73eabd7b5d75d0b50e31ab006286ccff9e00b8f \ - --hash=sha256:f979ab81f58d7318e064e99c4506445d60135ac5cd2e177a2de0089bfd4c9bd5 - # via flask -wheel==0.37.1 \ - --hash=sha256:4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a \ - --hash=sha256:e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4 - # via pip-tools -winrt==1.0.21033.1 ; sys_platform == "win32" and platform_release == "10" \ - --hash=sha256:224e13eb172435aaabdc7066752898a61dae0fcc3022f6f8cbd1ce953be3358c \ - --hash=sha256:9d7b7d2e48c301855afd3280aaf51ea0d3c683450f46de2db813f71ee1cd5937 \ - --hash=sha256:ad4afd1c7b041a6b770256d70e07093920fa83eecd80e42cac2704cd03902243 \ - --hash=sha256:d035570ce2cf7e8caa785abb43f25a6ede600c2cde0378c931495bdbeaf1a075 \ - --hash=sha256:da3ca3626fb992f2efa4528993d4760b298f399a7f459f7e070a2f8681d82106 \ - --hash=sha256:f5ab502117da4777ab49b846ad1919fbf448bd5e49b4aca00cc59667bae2c362 - # via -r requirements.in -wrapt==1.14.1 \ - --hash=sha256:00b6d4ea20a906c0ca56d84f93065b398ab74b927a7a3dbd470f6fc503f95dc3 \ - --hash=sha256:01c205616a89d09827986bc4e859bcabd64f5a0662a7fe95e0d359424e0e071b \ - --hash=sha256:02b41b633c6261feff8ddd8d11c711df6842aba629fdd3da10249a53211a72c4 \ - --hash=sha256:07f7a7d0f388028b2df1d916e94bbb40624c59b48ecc6cbc232546706fac74c2 \ - --hash=sha256:11871514607b15cfeb87c547a49bca19fde402f32e2b1c24a632506c0a756656 \ - --hash=sha256:1b376b3f4896e7930f1f772ac4b064ac12598d1c38d04907e696cc4d794b43d3 \ - --hash=sha256:21ac0156c4b089b330b7666db40feee30a5d52634cc4560e1905d6529a3897ff \ - --hash=sha256:257fd78c513e0fb5cdbe058c27a0624c9884e735bbd131935fd49e9fe719d310 \ - --hash=sha256:2b39d38039a1fdad98c87279b48bc5dce2c0ca0d73483b12cb72aa9609278e8a \ - --hash=sha256:2cf71233a0ed05ccdabe209c606fe0bac7379fdcf687f39b944420d2a09fdb57 \ - --hash=sha256:2fe803deacd09a233e4762a1adcea5db5d31e6be577a43352936179d14d90069 \ - --hash=sha256:3232822c7d98d23895ccc443bbdf57c7412c5a65996c30442ebe6ed3df335383 \ - --hash=sha256:34aa51c45f28ba7f12accd624225e2b1e5a3a45206aa191f6f9aac931d9d56fe \ - --hash=sha256:36f582d0c6bc99d5f39cd3ac2a9062e57f3cf606ade29a0a0d6b323462f4dd87 \ - --hash=sha256:380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d \ - --hash=sha256:40e7bc81c9e2b2734ea4bc1aceb8a8f0ceaac7c5299bc5d69e37c44d9081d43b \ - --hash=sha256:43ca3bbbe97af00f49efb06e352eae40434ca9d915906f77def219b88e85d907 \ - --hash=sha256:4fcc4649dc762cddacd193e6b55bc02edca674067f5f98166d7713b193932b7f \ - --hash=sha256:5a0f54ce2c092aaf439813735584b9537cad479575a09892b8352fea5e988dc0 \ - --hash=sha256:5a9a0d155deafd9448baff28c08e150d9b24ff010e899311ddd63c45c2445e28 \ - --hash=sha256:5b02d65b9ccf0ef6c34cba6cf5bf2aab1bb2f49c6090bafeecc9cd81ad4ea1c1 \ - --hash=sha256:60db23fa423575eeb65ea430cee741acb7c26a1365d103f7b0f6ec412b893853 \ - --hash=sha256:642c2e7a804fcf18c222e1060df25fc210b9c58db7c91416fb055897fc27e8cc \ - --hash=sha256:6a9a25751acb379b466ff6be78a315e2b439d4c94c1e99cb7266d40a537995d3 \ - --hash=sha256:6b1a564e6cb69922c7fe3a678b9f9a3c54e72b469875aa8018f18b4d1dd1adf3 \ - --hash=sha256:6d323e1554b3d22cfc03cd3243b5bb815a51f5249fdcbb86fda4bf62bab9e164 \ - --hash=sha256:6e743de5e9c3d1b7185870f480587b75b1cb604832e380d64f9504a0535912d1 \ - --hash=sha256:709fe01086a55cf79d20f741f39325018f4df051ef39fe921b1ebe780a66184c \ - --hash=sha256:7b7c050ae976e286906dd3f26009e117eb000fb2cf3533398c5ad9ccc86867b1 \ - --hash=sha256:7d2872609603cb35ca513d7404a94d6d608fc13211563571117046c9d2bcc3d7 \ - --hash=sha256:7ef58fb89674095bfc57c4069e95d7a31cfdc0939e2a579882ac7d55aadfd2a1 \ - --hash=sha256:80bb5c256f1415f747011dc3604b59bc1f91c6e7150bd7db03b19170ee06b320 \ - --hash=sha256:81b19725065dcb43df02b37e03278c011a09e49757287dca60c5aecdd5a0b8ed \ - --hash=sha256:833b58d5d0b7e5b9832869f039203389ac7cbf01765639c7309fd50ef619e0b1 \ - --hash=sha256:88bd7b6bd70a5b6803c1abf6bca012f7ed963e58c68d76ee20b9d751c74a3248 \ - --hash=sha256:8ad85f7f4e20964db4daadcab70b47ab05c7c1cf2a7c1e51087bfaa83831854c \ - --hash=sha256:8c0ce1e99116d5ab21355d8ebe53d9460366704ea38ae4d9f6933188f327b456 \ - --hash=sha256:8d649d616e5c6a678b26d15ece345354f7c2286acd6db868e65fcc5ff7c24a77 \ - --hash=sha256:903500616422a40a98a5a3c4ff4ed9d0066f3b4c951fa286018ecdf0750194ef \ - --hash=sha256:9736af4641846491aedb3c3f56b9bc5568d92b0692303b5a305301a95dfd38b1 \ - --hash=sha256:988635d122aaf2bdcef9e795435662bcd65b02f4f4c1ae37fbee7401c440b3a7 \ - --hash=sha256:9cca3c2cdadb362116235fdbd411735de4328c61425b0aa9f872fd76d02c4e86 \ - --hash=sha256:9e0fd32e0148dd5dea6af5fee42beb949098564cc23211a88d799e434255a1f4 \ - --hash=sha256:9f3e6f9e05148ff90002b884fbc2a86bd303ae847e472f44ecc06c2cd2fcdb2d \ - --hash=sha256:a85d2b46be66a71bedde836d9e41859879cc54a2a04fad1191eb50c2066f6e9d \ - --hash=sha256:a9a52172be0b5aae932bef82a79ec0a0ce87288c7d132946d645eba03f0ad8a8 \ - --hash=sha256:aa31fdcc33fef9eb2552cbcbfee7773d5a6792c137b359e82879c101e98584c5 \ - --hash=sha256:b014c23646a467558be7da3d6b9fa409b2c567d2110599b7cf9a0c5992b3b471 \ - --hash=sha256:b21bb4c09ffabfa0e85e3a6b623e19b80e7acd709b9f91452b8297ace2a8ab00 \ - --hash=sha256:b5901a312f4d14c59918c221323068fad0540e34324925c8475263841dbdfe68 \ - --hash=sha256:b9b7a708dd92306328117d8c4b62e2194d00c365f18eff11a9b53c6f923b01e3 \ - --hash=sha256:d1967f46ea8f2db647c786e78d8cc7e4313dbd1b0aca360592d8027b8508e24d \ - --hash=sha256:d52a25136894c63de15a35bc0bdc5adb4b0e173b9c0d07a2be9d3ca64a332735 \ - --hash=sha256:d77c85fedff92cf788face9bfa3ebaa364448ebb1d765302e9af11bf449ca36d \ - --hash=sha256:d79d7d5dc8a32b7093e81e97dad755127ff77bcc899e845f41bf71747af0c569 \ - --hash=sha256:dbcda74c67263139358f4d188ae5faae95c30929281bc6866d00573783c422b7 \ - --hash=sha256:ddaea91abf8b0d13443f6dac52e89051a5063c7d014710dcb4d4abb2ff811a59 \ - --hash=sha256:dee0ce50c6a2dd9056c20db781e9c1cfd33e77d2d569f5d1d9321c641bb903d5 \ - --hash=sha256:dee60e1de1898bde3b238f18340eec6148986da0455d8ba7848d50470a7a32fb \ - --hash=sha256:e2f83e18fe2f4c9e7db597e988f72712c0c3676d337d8b101f6758107c42425b \ - --hash=sha256:e3fb1677c720409d5f671e39bac6c9e0e422584e5f518bfd50aa4cbbea02433f \ - --hash=sha256:ee2b1b1769f6707a8a445162ea16dddf74285c3964f605877a20e38545c3c462 \ - --hash=sha256:ee6acae74a2b91865910eef5e7de37dc6895ad96fa23603d1d27ea69df545015 \ - --hash=sha256:ef3f72c9666bba2bab70d2a8b79f2c6d2c1a42a7f7e2b0ec83bb2f9e383950af - # via astroid -zipp==3.8.1 \ - --hash=sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2 \ - --hash=sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009 - # via importlib-metadata - -# The following packages are considered to be unsafe in a requirements file: -pip==22.2.2 \ - --hash=sha256:3fd1929db052f056d7a998439176d3333fa1b3f6c1ad881de1885c0717608a4b \ - --hash=sha256:b61a374b5bc40a6e982426aede40c9b5a08ff20e640f5b56977f4f91fed1e39a - # via pip-tools -setuptools==65.3.0 \ - --hash=sha256:2e24e0bec025f035a2e72cdd1961119f557d78ad331bb00ff82efb2ab8da8e82 \ - --hash=sha256:7732871f4f7fa58fb6bdcaeadb0161b2bd046c85905dbaa066bdcbcc81953b57 - # via pip-tools diff --git a/python/requirements.win.in b/python/requirements.win.in new file mode 100644 index 000000000..10c9d322f --- /dev/null +++ b/python/requirements.win.in @@ -0,0 +1 @@ +pywin32 diff --git a/python/requirements.win.txt b/python/requirements.win.txt new file mode 100644 index 000000000..65c2b6e3e --- /dev/null +++ b/python/requirements.win.txt @@ -0,0 +1,16 @@ +pywin32==305 \ + --hash=sha256:109f98980bfb27e78f4df8a51a8198e10b0f347257d1e265bb1a32993d0c973d \ + --hash=sha256:13362cc5aa93c2beaf489c9c9017c793722aeb56d3e5166dadd5ef82da021fe1 \ + --hash=sha256:19ca459cd2e66c0e2cc9a09d589f71d827f26d47fe4a9d09175f6aa0256b51c2 \ + --hash=sha256:326f42ab4cfff56e77e3e595aeaf6c216712bbdd91e464d167c6434b28d65990 \ + --hash=sha256:421f6cd86e84bbb696d54563c48014b12a23ef95a14e0bdba526be756d89f116 \ + --hash=sha256:48d8b1659284f3c17b68587af047d110d8c44837736b8932c034091683e05863 \ + --hash=sha256:4ecd404b2c6eceaca52f8b2e3e91b2187850a1ad3f8b746d0796a98b4cea04db \ + --hash=sha256:50768c6b7c3f0b38b7fb14dd4104da93ebced5f1a50dc0e834594bff6fbe1271 \ + --hash=sha256:56d7a9c6e1a6835f521788f53b5af7912090674bb84ef5611663ee1595860fc7 \ + --hash=sha256:73e819c6bed89f44ff1d690498c0a811948f73777e5f97c494c152b850fad478 \ + --hash=sha256:742eb905ce2187133a29365b428e6c3b9001d79accdc30aa8969afba1d8470f4 \ + --hash=sha256:9d968c677ac4d5cbdaa62fd3014ab241718e619d8e36ef8e11fb930515a1e918 \ + --hash=sha256:9dd98384da775afa009bc04863426cb30596fd78c6f8e4e2e5bbf4edf8029504 \ + --hash=sha256:a55db448124d1c1484df22fa8bbcbc45c64da5e6eae74ab095b9ea62e6d00496 + # via -r requirements.win.in diff --git a/python/stubs/BUILD.bazel b/python/stubs/BUILD.bazel deleted file mode 100644 index f9f450eb8..000000000 --- a/python/stubs/BUILD.bazel +++ /dev/null @@ -1,42 +0,0 @@ -load("@rules_python//python:defs.bzl", "py_binary") -load("@py_deps//:requirements.bzl", "requirement") -load(":stubs.bzl", "copy_stubs") - -_stubs = [ - "requests", - "protobuf", - "decorator", - "flask", - "markdown", - "orjson", - "waitress", -] - -py_binary( - name = "gatherstubs", - srcs = [ - "gatherstubs.py", - ], - visibility = ["//visibility:public"], - deps = [ - requirement("mypy"), - ] + [requirement("types-" + stub) for stub in _stubs], -) - -py_binary( - name = "extendsitepkgs", - srcs = [ - "extendsitepkgs.py", - ], - visibility = ["//visibility:public"], - deps = [ - requirement("mypy"), - ], -) - -copy_stubs( - name = "stubs", - pkgs = [requirement("types-" + stub) for stub in _stubs], - tool = ":gatherstubs", - visibility = ["//visibility:public"], -) diff --git a/python/stubs/README.md b/python/stubs/README.md deleted file mode 100644 index 971571009..000000000 --- a/python/stubs/README.md +++ /dev/null @@ -1,2 +0,0 @@ -mypy 0.9 assumes stub files will be installed in site-packages, but they are not -in Bazel's case, so we need to hack around the issue. diff --git a/python/stubs/extendsitepkgs.py b/python/stubs/extendsitepkgs.py deleted file mode 100644 index 595df1b6a..000000000 --- a/python/stubs/extendsitepkgs.py +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import os -import sys -from mypy import pyinfo - -# taken from pyinfo -if __name__ == "__main__": - old_sys_path = sys.path - sys.path = sys.path[1:] - import types # noqa - - sys.path = old_sys_path - - -def getsearchdirs(): - dirs = pyinfo.getsearchdirs() - dirs.append(os.getenv("EXTRA_SITE_PACKAGES")) - return dirs - - -if sys.argv[-1] == "getsearchdirs": - print(repr(getsearchdirs())) -else: - sys.exit(1) diff --git a/python/stubs/gatherstubs.py b/python/stubs/gatherstubs.py deleted file mode 100644 index 4c5db6456..000000000 --- a/python/stubs/gatherstubs.py +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import os -import subprocess -import sys -import re -import shutil - -stubs_remap = {"protobuf": "google", "futures": "concurrent"} - - -def copy_folder(pkgname, path, outbase): - stubname = stubs_remap.get(pkgname, pkgname) - os.listdir(path) - path = f"{path}/{stubname}-stubs" - shutil.copytree(path, os.path.join(outbase, f"{stubname}-stubs")) - - -name_re = re.compile("deps_types_(.+?)$") - -if __name__ == "__main__": - outbase = os.path.abspath(sys.argv[1]) - - # copy stubs into top level folder, renaming - folder = os.path.join(os.path.dirname(__file__), "../../external") - os.chdir(folder) - for folder in os.listdir("."): - if "futures" in folder: - continue - if match := name_re.search(folder): - copy_folder(match.group(1), folder, outbase) diff --git a/python/stubs/stubs.bzl b/python/stubs/stubs.bzl deleted file mode 100644 index 906605be5..000000000 --- a/python/stubs/stubs.bzl +++ /dev/null @@ -1,20 +0,0 @@ -def _copy_stubs_impl(ctx): - dir = ctx.actions.declare_directory("stubs") - ctx.actions.run( - outputs = [dir], - inputs = ctx.files.pkgs, - executable = ctx.executable.tool, - arguments = [dir.path], - use_default_shell_env = True, - ) - return [ - DefaultInfo(files = depset([dir]), data_runfiles = ctx.runfiles(files = [dir])), - ] - -copy_stubs = rule( - implementation = _copy_stubs_impl, - attrs = { - "pkgs": attr.label_list(), - "tool": attr.label(executable = True, cfg = "host"), - }, -) diff --git a/python/update.py b/python/update.py deleted file mode 100644 index 5a5dab935..000000000 --- a/python/update.py +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import os -import sys - -import click -from piptools.scripts import compile - - -@click.group() -def cli(): - pass - - -cli.add_command(compile.cli, "compile") - -print("Updating deps...") -os.chdir(os.getenv("BUILD_WORKING_DIRECTORY")) - -if pkg := os.getenv("PACKAGE"): - upgrade_args = ["--upgrade-package", pkg] -else: - upgrade_args = ["--upgrade"] - -sys.argv[1:] = [ - "compile", - "--allow-unsafe", - *upgrade_args, - "--no-header", - "--strip-extras", - "--generate-hashes", - "requirements.in", -] - -cli() diff --git a/python/update_python_deps.sh b/python/update_python_deps.sh new file mode 100755 index 000000000..43afa7978 --- /dev/null +++ b/python/update_python_deps.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -e + +# if [ "$1" != "" ]; then +# upgrade="--upgrade-package $1" +# else +# upgrade="--upgrade" +# fi + +args="--resolver=backtracking --allow-unsafe --no-header --strip-extras --generate-hashes" + +# initial pyenv bootstrap +../out/pyenv/bin/pip-compile $args $upgrade requirements.base.in + +# during bundle +../out/pyenv/bin/pip-compile $args $upgrade requirements.bundle.in +../out/pyenv/bin/pip-compile $args $upgrade requirements.qt6.in +# ../out/pyenv/bin/pip-compile $args $upgrade requirements.qt5_14.in +# ../out/pyenv/bin/pip-compile $args $upgrade requirements.qt5_15.in + +# during build/development/testing +../out/pyenv/bin/pip-compile $args $upgrade requirements.dev.in diff --git a/python/write_wheel.py b/python/write_wheel.py new file mode 100644 index 000000000..897f781a4 --- /dev/null +++ b/python/write_wheel.py @@ -0,0 +1,206 @@ +# Based on https://github.com/ziglang/zig-pypi/blob/de14cf728fa35c014821f62a4fa9abd9f4bb560e/make_wheels.py +# MIT + +from __future__ import annotations + +import sys +from email.message import EmailMessage +from pathlib import Path +from zipfile import ZIP_DEFLATED, ZipInfo + +from wheel.wheelfile import WheelFile + + +class ReproducibleWheelFile(WheelFile): + def writestr(self, zinfo, *args, **kwargs): + if not isinstance(zinfo, ZipInfo): + raise ValueError("ZipInfo required") + zinfo.date_time = (1980, 1, 1, 0, 0, 0) + zinfo.create_system = 3 + super().writestr(zinfo, *args, **kwargs) + + +def make_message(headers, payload=None): + msg = EmailMessage() + for name, value in headers.items(): + if name == "_dependencies": + for dep in value: + if isinstance(dep, ExtraRequires): + msg["Provides-Extra"] = dep.name + for inner_dep in dep.deps: + msg["Requires-Dist"] = f"{inner_dep}; extra == '{dep.name}'" + else: + msg["Requires-Dist"] = dep + elif isinstance(value, list): + for value_part in value: + msg[name] = value_part + else: + msg[name] = value + if payload: + msg.set_payload(payload) + return msg + + +def write_wheel_file(filename, contents): + with ReproducibleWheelFile(filename, "w") as wheel: + for member_info, member_source in contents.items(): + if not isinstance(member_info, ZipInfo): + member_info = ZipInfo(member_info) + member_info.external_attr = 0o644 << 16 + member_info.file_size = len(member_source) + member_info.compress_type = ZIP_DEFLATED + wheel.writestr(member_info, bytes(member_source)) + return filename + + +def write_wheel( + wheel_path, + *, + name, + version, + tag, + metadata, + description, + contents, + entrypoints: list[str] | None = None, + top_level: list[str] | None = None, +): + dist_info = f"{name}-{version}.dist-info" + extra = {} + if entrypoints: + entrypoints_joined = "\n".join(entrypoints) + text = f"[console_scripts]\n{entrypoints_joined}" + file = f"{dist_info}/entry_points.txt" + extra[file] = text.encode("utf8") + if top_level: + top_level_joined = "\n".join(top_level) + "\n" + file = f"{dist_info}/top_level.txt" + extra[file] = top_level_joined.encode("utf8") + return write_wheel_file( + wheel_path, + { + **contents, + **extra, + f"{dist_info}/METADATA": make_message( + { + "Metadata-Version": "2.1", + "Name": name, + "Version": version, + **metadata, + }, + description, + ), + f"{dist_info}/WHEEL": make_message( + { + "Wheel-Version": "1.0", + "Generator": "anki write_wheel.py", + "Root-Is-Purelib": "false", + "Tag": tag, + } + ), + }, + ) + + +def merge_sources(contents, root, exclude): + root = Path(root) + for path in root.glob("**/*"): + if path.is_dir() or exclude(path): + continue + path_str = str(path.relative_to(root.parent)) + if path_str.endswith(".pyc"): + continue + contents[path_str] = path.read_bytes() + + +def split_wheel_path(path: str): + path2 = Path(path) + components = path2.stem.split("-", maxsplit=2) + return components + + +class ExtraRequires: + def __init__(self, name, deps): + self.name = name + self.deps = deps + + +src_root = sys.argv[1] +generated_root = sys.argv[2] +wheel_path = sys.argv[3] + +name, version, tag = split_wheel_path(wheel_path) + + +def exclude_aqt(path: Path) -> bool: + if path.suffix in [".ui", ".scss", ".map", ".ts"]: + return True + if path.name.startswith("tsconfig"): + return True + if "/aqt/data" in str(path): + return True + return False + + +def exclude_nothing(path: Path) -> bool: + return False + + +def extract_requirements(path: Path) -> list[str]: + return path.read_text().splitlines() + + +if name == "aqt": + exclude = exclude_aqt +else: + exclude = exclude_nothing + +contents: dict[str, str] = {} +merge_sources(contents, src_root, exclude) +merge_sources(contents, generated_root, exclude) + +if name == "anki": + all_requires = extract_requirements(Path("python/requirements.anki.in")) + [ + ExtraRequires("syncserver", ["flask", "waitress"]), + ] + entrypoints = None + top_level = None +else: + all_requires = extract_requirements(Path("python/requirements.aqt.in")) + [ + "anki==" + version, + ExtraRequires( + "qt5", + [ + "pyqt5>=5.14", + "pyqtwebengine", + ], + ), + ExtraRequires( + "qt6", + [ + "pyqt6>=6.2", + "pyqt6-webengine>=6.2", + ], + ), + ] + entrypoints = ["anki = aqt:run"] + top_level = ["aqt", "_aqt"] + +write_wheel( + wheel_path, + name=name, + version=version, + tag=tag, + metadata={ + "License": "AGPL-3", + "Classifier": [ + "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", + ], + "Requires-Python": ">=3.9", + "_dependencies": all_requires, + }, + description="Please see https://apps.ankiweb.net\n\n", + contents=contents, + entrypoints=entrypoints, + top_level=top_level, +) diff --git a/qt/.isort.cfg b/qt/.isort.cfg index 0ae1208de..9211d96e8 100644 --- a/qt/.isort.cfg +++ b/qt/.isort.cfg @@ -1,9 +1,9 @@ [settings] -skip=aqt/forms,hooks_gen.py -multi_line_output=3 -include_trailing_comma=True -force_grid_wrap=0 -use_parentheses=True -line_length=88 ensure_newline_before_comments=true +force_grid_wrap=0 +include_trailing_comma=True known_first_party=anki,aqt +line_length=88 +multi_line_output=3 +skip=aqt/forms,hooks_gen.py +use_parentheses=True diff --git a/qt/.pylintrc b/qt/.pylintrc deleted file mode 100644 index 0aaa1c769..000000000 --- a/qt/.pylintrc +++ /dev/null @@ -1,27 +0,0 @@ -[MASTER] -persistent = no -extension-pkg-whitelist=PyQt6 -ignore = forms,hooks_gen.py - -[TYPECHECK] -ignored-modules=win32file,pywintypes,socket,win32pipe,winrt,pyaudio,anki.scheduler_pb2 - -[REPORTS] -output-format=colorized - -[MESSAGES CONTROL] -disable=C,R, - fixme, - unused-wildcard-import, - attribute-defined-outside-init, - redefined-builtin, - wildcard-import, - broad-except, - bare-except, - unused-argument, - unused-variable, - redefined-outer-name, - global-statement, - protected-access, - arguments-differ, - arguments-renamed, diff --git a/qt/BUILD.bazel b/qt/BUILD.bazel deleted file mode 100644 index 3c1db25f5..000000000 --- a/qt/BUILD.bazel +++ /dev/null @@ -1,196 +0,0 @@ -load("@rules_python//python:defs.bzl", "py_binary", "py_test") -load("@py_deps//:requirements.bzl", "requirement") - -py_binary( - name = "genhooks_gui", - srcs = [ - "tools/genhooks_gui.py", - ], - imports = ["."], - visibility = [":__subpackages__"], - deps = [ - "//pylib/tools:hookslib", - requirement("black"), - "//pylib/anki/_vendor:stringcase", - ], -) - -py_binary( - name = "extract_sass_vars", - srcs = [ - "tools/extract_sass_vars.py", - ], - imports = ["."], - visibility = [":__subpackages__"], -) - -py_test( - name = "pytest", - srcs = glob(["tests/*.py"]) + ["bazelfixes.py"], - imports = ["."], - main = "tests/run_pytest.py", - deps = [ - "//pylib/anki", - "//qt/aqt:aqt_without_data", - requirement("pytest"), - requirement("mock"), - ], -) - -py_test( - name = "mypy", - srcs = [ - "tests/run_mypy.py", - ], - args = [ - "aqt", - "$(location mypy.ini)", - "$(location @pyqt6//:__init__.py)", - "$(location //python/stubs:extendsitepkgs)", - ], - data = [ - "mypy.ini", - "//python/stubs", - "//python/stubs:extendsitepkgs", - "@pyqt6//:__init__.py", - ], - env = {"EXTRA_SITE_PACKAGES": "$(location //python/stubs)"}, - main = "tests/run_mypy.py", - deps = [ - "//pylib/anki", - "//qt/aqt:aqt_without_data", - "@pyqt6", - requirement("mypy"), - ], -) - -py_test( - name = "pylint", - srcs = [ - "tests/run_pylint.py", - ], - args = [ - "aqt", - "$(location .pylintrc)", - ], - data = [ - ".pylintrc", - ], - main = "tests/run_pylint.py", - deps = [ - "//pylib/anki", - "//qt/aqt:aqt_without_data", - requirement("pylint"), - "@pyqt6", - ], -) - -py_test( - name = "format_check", - srcs = glob(["**/*.py"]) + [ - "//qt/aqt:py_source_files", - ], - args = [ - "$(location .isort.cfg)", - ], - data = [".isort.cfg"], - main = "tests/run_format.py", - deps = [ - "//qt/aqt:aqt_without_data", - requirement("black"), - requirement("isort"), - ], -) - -py_binary( - name = "format", - srcs = [ - "tests/run_format.py", - ], - args = [ - "$(location .isort.cfg)", - "fix", - ], - data = [".isort.cfg"], - main = "tests/run_format.py", - tags = ["manual"], - deps = [ - requirement("black"), - requirement("isort"), - ], -) - -py_binary( - name = "runanki", - srcs = [ - "bazelfixes.py", - "runanki.py", - ], - imports = ["."], - deps = [ - "//pylib/anki", - "//qt/aqt:aqt_with_data", - "@pyqt6", - ], -) - -py_binary( - name = "runanki_qt515", - srcs = [ - "bazelfixes.py", - "runanki.py", - ], - imports = ["."], - main = "runanki.py", - tags = ["manual"], - deps = [ - "//pylib/anki", - "//qt/aqt:aqt_with_data", - "@pyqt515", - ], -) - -py_binary( - name = "runanki_qt514", - srcs = [ - "bazelfixes.py", - "runanki.py", - ], - imports = ["."], - main = "runanki.py", - tags = ["manual"], - deps = [ - "//pylib/anki", - "//qt/aqt:aqt_with_data", - "@pyqt514", - ], -) - -py_binary( - name = "dmypy", - srcs = [ - "dmypy.py", - ], - data = [ - # ensure the binary's been built - "//python:dmypy", - "//python/stubs", - "//python/stubs:extendsitepkgs", - ], - env = {"EXTRA_SITE_PACKAGES": "$(location //python/stubs)"}, - imports = ["."], - tags = ["manual"], - deps = [ - "//pylib/anki", - "//qt/aqt:aqt_without_data", - ], -) - -py_binary( - name = "profile", - srcs = ["tools/profile.py"], - tags = ["manual"], - deps = [ - requirement("snakeviz"), - ], -) diff --git a/qt/aqt/BUILD.bazel b/qt/aqt/BUILD.bazel deleted file mode 100644 index 74b55ae52..000000000 --- a/qt/aqt/BUILD.bazel +++ /dev/null @@ -1,151 +0,0 @@ -load("@rules_python//python:defs.bzl", "py_library") -load("@py_deps//:requirements.bzl", "requirement") -load("@rules_python//python:packaging.bzl", "py_package", "py_wheel") -load("//:defs.bzl", "anki_version") -load("//ts:copy.bzl", "copy_files_into_group") - -genrule( - name = "hooks_gen", - outs = ["hooks_gen.py"], - cmd = "$(location //qt:genhooks_gui) $@", - tools = ["//qt:genhooks_gui"], -) - -genrule( - name = "extract_sass_vars", - srcs = [ - "//sass:_root-vars.css", - ], - outs = [ - "colors.py", - "props.py", - ], - cmd = "$(location //qt:extract_sass_vars) $(SRCS) $(OUTS)", - tools = [ - "//qt:extract_sass_vars", - ], -) - -py_library( - name = "colors", - srcs = [":colors.py"], - visibility = ["//qt:__subpackages__"], -) - -_py_srcs = glob( - [ - "**/*.py", - ], - exclude = ["hooks_gen.py"], -) - -_py_srcs_and_forms = _py_srcs + [ - "//qt/aqt/forms:forms", -] - -aqt_core_data = [ - "colors.py", - "props.py", - "py.typed", - ":hooks_gen", -] - -aqt_deps = [ - requirement("protobuf"), - requirement("decorator"), - requirement("requests"), - requirement("beautifulsoup4"), - requirement("flask"), - requirement("flask-cors"), - requirement("waitress"), - requirement("send2trash"), - requirement("jsonschema"), -] + select({ - "@bazel_tools//src/conditions:host_windows": [ - requirement("psutil"), - requirement("pywin32"), - requirement("winrt"), - ], - "//conditions:default": [], -}) - -# library without web/i18n data; faster for testing -py_library( - name = "aqt_without_data", - srcs = _py_srcs_and_forms, - data = aqt_core_data, - visibility = ["//visibility:public"], - deps = aqt_deps + [ - "@pyqt6", - ], -) - -py_library( - name = "aqt_with_data", - srcs = _py_srcs_and_forms, - data = aqt_core_data + ["//qt/aqt/data"], - visibility = ["//visibility:public"], - deps = aqt_deps, -) - -py_package( - name = "aqt_pkg", - packages = [ - "qt.aqt", - ], - deps = [ - ":aqt_with_data", - ], -) - -py_wheel( - name = "wheel", - description_file = "wheel_description.txt", - distribution = "aqt", - entry_points = { - "console_scripts": ["anki = aqt:run"], - }, - extra_requires = { - "qt5": [ - "pyqt5>=5.14", - "pyqtwebengine", - ], - "qt6": [ - "pyqt6>=6.2", - "pyqt6-webengine>=6.2", - ], - }, - homepage = "https://apps.ankiweb.net", - license = "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", - python_tag = "py3", - requires = [ - "beautifulsoup4", - "requests", - "send2trash", - "jsonschema", - "flask", - "flask_cors", - "waitress", - 'psutil; sys.platform == "win32"', - 'pywin32; sys.platform == "win32"', - 'winrt; sys.platform == "win32"', - "anki==" + anki_version, - ], - strip_path_prefixes = [ - "qt/", - ], - tags = ["manual"], - version = anki_version, - visibility = ["//visibility:public"], - deps = [ - ":aqt_pkg", - ], -) - -filegroup( - name = "py_source_files", - srcs = _py_srcs, - visibility = [ - "//qt:__subpackages__", - ], -) diff --git a/qt/aqt/_macos_helper.py b/qt/aqt/_macos_helper.py index 5a421a1a2..93c2f9e81 100644 --- a/qt/aqt/_macos_helper.py +++ b/qt/aqt/_macos_helper.py @@ -5,7 +5,7 @@ from __future__ import annotations import os import sys -from ctypes import CDLL, CFUNCTYPE, c_char_p +from ctypes import CDLL, CFUNCTYPE, c_bool, c_char_p from typing import Callable import aqt @@ -22,6 +22,7 @@ class _MacOSHelper: ) self._dll = CDLL(path) + self._dll.system_is_dark.restype = c_bool def system_is_dark(self) -> bool: return self._dll.system_is_dark() diff --git a/qt/aqt/browser/browser.py b/qt/aqt/browser/browser.py index c13d37161..b3892d9d0 100644 --- a/qt/aqt/browser/browser.py +++ b/qt/aqt/browser/browser.py @@ -430,7 +430,7 @@ class Browser(QMainWindow): """ self._lastSearchTxt = search - prompt = search if prompt == None else prompt + prompt = search if prompt is None else prompt self.form.searchEdit.setCurrentIndex(-1) self.form.searchEdit.lineEdit().setText(prompt) self.search() diff --git a/qt/aqt/clayout.py b/qt/aqt/clayout.py index 1df0b27cd..807489a10 100644 --- a/qt/aqt/clayout.py +++ b/qt/aqt/clayout.py @@ -13,7 +13,7 @@ from anki.consts import * from anki.lang import without_unicode_isolation from anki.notes import Note from aqt import AnkiQt, gui_hooks -from aqt.forms.browserdisp import Ui_Dialog +from aqt.forms import browserdisp from aqt.operations.notetype import update_notetype_legacy from aqt.qt import * from aqt.schema_change_tracker import ChangeTracker @@ -752,7 +752,7 @@ class CardLayout(QDialog): qconnect(f.buttonBox.accepted, lambda: self.onBrowserDisplayOk(f)) d.exec() - def onBrowserDisplayOk(self, f: Ui_Dialog) -> None: + def onBrowserDisplayOk(self, f: browserdisp.Ui_Dialog) -> None: t = self.current_template() self.change_tracker.mark_basic() t["bqfmt"] = f.qfmt.text().strip() diff --git a/qt/aqt/colors.py b/qt/aqt/colors.py deleted file mode 120000 index 7e7586a37..000000000 --- a/qt/aqt/colors.py +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/qt/aqt/colors.py \ No newline at end of file diff --git a/qt/aqt/colors.py b/qt/aqt/colors.py new file mode 100644 index 000000000..a73b3b66e --- /dev/null +++ b/qt/aqt/colors.py @@ -0,0 +1,4 @@ +# Copyright: Ankitects Pty Ltd and contributors +# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +from _aqt.colors import * diff --git a/qt/aqt/customstudy.py b/qt/aqt/customstudy.py index b6c359c82..32beb94e9 100644 --- a/qt/aqt/customstudy.py +++ b/qt/aqt/customstudy.py @@ -134,7 +134,7 @@ class CustomStudy(QDialog): form.spin.setVisible(True) form.cardType.setVisible(show_cram_type) form.title.setText(title_text) - form.title.setVisible(not not title_text) + form.title.setVisible(bool(title_text)) form.spin.setMinimum(min_spinner_value) form.spin.setMaximum(max_spinner_value) if max_spinner_value > 0: diff --git a/qt/aqt/data/BUILD.bazel b/qt/aqt/data/BUILD.bazel deleted file mode 100644 index f8745bed2..000000000 --- a/qt/aqt/data/BUILD.bazel +++ /dev/null @@ -1,9 +0,0 @@ -filegroup( - name = "data", - srcs = [ - "//qt/aqt/data/lib", - "//qt/aqt/data/qt", - "//qt/aqt/data/web", - ], - visibility = ["//qt:__subpackages__"], -) diff --git a/qt/aqt/data/lib/BUILD.bazel b/qt/aqt/data/lib/BUILD.bazel deleted file mode 100644 index 4a7e938ae..000000000 --- a/qt/aqt/data/lib/BUILD.bazel +++ /dev/null @@ -1,18 +0,0 @@ -load("@bazel_skylib//rules:copy_file.bzl", "copy_file") - -copy_file( - name = "ankihelper_dylib", - src = "//qt/mac:helper_dylib", - out = "libankihelper.dylib", - tags = ["manual"], -) - -filegroup( - name = "lib", - srcs = [] + select({ - "//platforms:macos_x86_64": ["libankihelper.dylib"], - "//platforms:macos_arm64": ["libankihelper.dylib"], - "//conditions:default": [], - }), - visibility = ["//qt:__subpackages__"], -) diff --git a/qt/aqt/data/qt/BUILD.bazel b/qt/aqt/data/qt/BUILD.bazel deleted file mode 100644 index a98b579a8..000000000 --- a/qt/aqt/data/qt/BUILD.bazel +++ /dev/null @@ -1,27 +0,0 @@ -load("@rules_python//python:defs.bzl", "py_binary") - -py_binary( - name = "build_qrc", - srcs = ["build_qrc.py"], - legacy_create_init = False, -) - -genrule( - name = "icons_qrc", - srcs = ["//qt/aqt/data/qt/icons"], - outs = ["icons.qrc"], - cmd = "$(location build_qrc) $(location icons.qrc) $(SRCS)", - tools = ["build_qrc"], - visibility = ["//qt/aqt:__pkg__"], -) - -filegroup( - name = "qt", - srcs = [ - "//qt/aqt/data/qt/icons", - # not needed at runtime, but including it here ensures - # it's up to date when a dev opens Qt Designer after a ./run - ":icons_qrc", - ], - visibility = ["//qt:__subpackages__"], -) diff --git a/qt/aqt/data/qt/icons/BUILD.bazel b/qt/aqt/data/qt/icons/BUILD.bazel deleted file mode 100644 index 330768715..000000000 --- a/qt/aqt/data/qt/icons/BUILD.bazel +++ /dev/null @@ -1,136 +0,0 @@ -load("//ts:vendor.bzl", "copy_mdi_icons") -load("color_svg.bzl", "color_svg") - -copy_mdi_icons( - name = "mdi-icons", - icons = [ - # saved searches - "heart-outline.svg", - - # today - "clock-outline.svg", - - # state - "circle.svg", - "circle-outline.svg", - - # flags - "flag-variant.svg", - "flag-variant-outline.svg", - "flag-variant-off-outline.svg", - - # decks - "book-outline.svg", - "book-clock-outline.svg", - "book-cog-outline.svg", - - # notetypes - "newspaper.svg", - # cardtype - "application-braces-outline.svg", - # fields - "form-textbox.svg", - - # tags - "tag-outline.svg", - "tag-off-outline.svg", - ], -) - -copy_mdi_icons( - name = "mdi-themed", - icons = [ - # sidebar tools - "magnify.svg", - "selection-drag.svg", - - # QComboBox arrows - "chevron-up.svg", - "chevron-down.svg", - - # QHeaderView arrows - "menu-up.svg", - "menu-down.svg", - - # drag handle - "drag-vertical.svg", - "drag-horizontal.svg", - - # checkbox - "check.svg", - "minus-thick.svg", - - # QRadioButton - "circle-medium.svg", - ], -) - -py_binary( - name = "color_svg", - srcs = [ - "color_svg.py", - "//qt/aqt:colors", - ], - imports = ["."], - visibility = [":__subpackages__"], -) - -color_svg( - name = "magnify", -) -color_svg( - name = "selection-drag", -) -color_svg( - name = "chevron-up", - extra_colors = ["FG_DISABLED"], -) -color_svg( - name = "chevron-down", - extra_colors = ["FG_DISABLED"], -) -color_svg( - name = "menu-up", -) -color_svg( - name = "menu-down", -) -color_svg( - name = "drag-vertical", - extra_colors = ["FG_SUBTLE"], -) -color_svg( - name = "drag-horizontal", - extra_colors = ["FG_SUBTLE"], -) -color_svg( - name = "check", -) -color_svg( - name = "minus-thick", -) -color_svg( - name = "circle-medium", -) - -filegroup( - name = "icons", - srcs = [ - "mdi-icons", - "magnify", - "selection-drag", - "chevron-up", - "chevron-down", - "menu-up", - "menu-down", - "drag-vertical", - "drag-horizontal", - "check", - "minus-thick", - "circle-medium", - ] + glob([ - "*.svg", - "*.png", - ]), - visibility = ["//visibility:public"], -) diff --git a/qt/aqt/data/qt/icons/color_svg.bzl b/qt/aqt/data/qt/icons/color_svg.bzl deleted file mode 100644 index 8dea97eb4..000000000 --- a/qt/aqt/data/qt/icons/color_svg.bzl +++ /dev/null @@ -1,30 +0,0 @@ -def color_svg(name, extra_colors = [], visibility = ["//qt:__submodules__"]): - native.genrule( - name = name, - srcs = ["mdi-themed"], - outs = [ - name + "-light.svg", - ] + [ - # additional light colors - "{}{}{}".format( - name, - "-{}".format(color), - "-light.svg" - ) for color in extra_colors - ] + [ - name + "-dark.svg", - ] + [ - # additional dark colors - "{}{}{}".format( - name, - "-{}".format(color), - "-dark.svg" - ) for color in extra_colors - ], - cmd = "$(location color_svg) {}.svg {} $(OUTS) $(SRCS)".format( - name, ":".join(["FG"] + extra_colors) - ), - tools = [ - "color_svg", - ], - ) diff --git a/qt/aqt/data/web/.prettierrc b/qt/aqt/data/web/.prettierrc deleted file mode 120000 index 397eec5a9..000000000 --- a/qt/aqt/data/web/.prettierrc +++ /dev/null @@ -1 +0,0 @@ -../../../../.prettierrc diff --git a/qt/aqt/data/web/BUILD.bazel b/qt/aqt/data/web/BUILD.bazel deleted file mode 100644 index 5473ba67b..000000000 --- a/qt/aqt/data/web/BUILD.bazel +++ /dev/null @@ -1,10 +0,0 @@ -filegroup( - name = "web", - srcs = [ - "//qt/aqt/data/web/css", - "//qt/aqt/data/web/imgs", - "//qt/aqt/data/web/js", - "//qt/aqt/data/web/pages", - ], - visibility = ["//qt:__subpackages__"], -) diff --git a/qt/aqt/data/web/css/BUILD.bazel b/qt/aqt/data/web/css/BUILD.bazel deleted file mode 100644 index abc01cd03..000000000 --- a/qt/aqt/data/web/css/BUILD.bazel +++ /dev/null @@ -1,54 +0,0 @@ -load("//ts:copy.bzl", "copy_files_into_group") -load("//ts:compile_sass.bzl", "compile_sass") - -compile_sass( - srcs = glob( - ["*.scss"], - exclude = ["_*.scss"], - ), - group = "css_local", - visibility = ["//visibility:private"], - deps = [ - "//sass:base_lib", - "//sass:buttons_lib", - "//sass:card_counts_lib", - "//sass:scrollbar_lib", - ], -) - -copy_files_into_group( - name = "editable", - srcs = [ - "editable.css", - ], - package = "//ts/editable", -) - -copy_files_into_group( - name = "editor", - srcs = [ - "browser_editor.css", - "reviewer_editor.css", - "note_creator.css", - ], - package = "//ts/editor", -) - -copy_files_into_group( - name = "reviewer", - srcs = [ - "reviewer.css", - ], - package = "//ts/reviewer", -) - -filegroup( - name = "css", - srcs = [ - "css_local", - "editable", - "editor", - "reviewer", - ], - visibility = ["//qt:__subpackages__"], -) diff --git a/qt/aqt/data/web/css/deckbrowser.scss b/qt/aqt/data/web/css/deckbrowser.scss index c4afc9c42..f744f6858 100644 --- a/qt/aqt/data/web/css/deckbrowser.scss +++ b/qt/aqt/data/web/css/deckbrowser.scss @@ -1,6 +1,6 @@ /* Copyright: Ankitects Pty Ltd and contributors * License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html */ -@use "root-vars"; +@use "sass/root-vars"; @use "sass/vars" as *; @use "sass/card-counts"; diff --git a/qt/aqt/data/web/css/overview.scss b/qt/aqt/data/web/css/overview.scss index d2201f884..75dc15e6a 100644 --- a/qt/aqt/data/web/css/overview.scss +++ b/qt/aqt/data/web/css/overview.scss @@ -1,7 +1,7 @@ /* Copyright: Ankitects Pty Ltd and contributors * License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html */ -@use "root-vars"; +@use "sass/root-vars"; @use "sass/vars" as *; @use "sass/card-counts"; @use "sass/button-mixins" as button; diff --git a/qt/aqt/data/web/css/reviewer-bottom.scss b/qt/aqt/data/web/css/reviewer-bottom.scss index 4be957291..0e97d1b43 100644 --- a/qt/aqt/data/web/css/reviewer-bottom.scss +++ b/qt/aqt/data/web/css/reviewer-bottom.scss @@ -1,7 +1,7 @@ /* Copyright: Ankitects Pty Ltd and contributors * License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html */ -@use "root-vars"; +@use "sass/root-vars"; @use "sass/vars" as *; @use "sass/card-counts"; diff --git a/qt/aqt/data/web/css/toolbar.scss b/qt/aqt/data/web/css/toolbar.scss index 301b0ec45..b230f5ba7 100644 --- a/qt/aqt/data/web/css/toolbar.scss +++ b/qt/aqt/data/web/css/toolbar.scss @@ -1,7 +1,7 @@ /* Copyright: Ankitects Pty Ltd and contributors * License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html */ -@use "root-vars"; +@use "sass/root-vars"; @use "sass/vars" as *; @use "sass/elevation" as *; @use "sass/button-mixins" as button; diff --git a/qt/aqt/data/web/imgs/BUILD.bazel b/qt/aqt/data/web/imgs/BUILD.bazel deleted file mode 100644 index 26b6d5efd..000000000 --- a/qt/aqt/data/web/imgs/BUILD.bazel +++ /dev/null @@ -1,9 +0,0 @@ -filegroup( - name = "imgs", - srcs = glob([ - "**/*.ico", - "**/*.png", - "**/*.svg", - ]), - visibility = ["//qt:__subpackages__"], -) diff --git a/qt/aqt/data/web/js/BUILD.bazel b/qt/aqt/data/web/js/BUILD.bazel deleted file mode 100644 index 78c7ada44..000000000 --- a/qt/aqt/data/web/js/BUILD.bazel +++ /dev/null @@ -1,80 +0,0 @@ -load("@build_bazel_rules_nodejs//:index.bzl", "js_library") -load("//ts:typescript.bzl", "typescript") -load("//ts:copy.bzl", "copy_files_into_group") -load("//ts:prettier.bzl", "prettier_test") -load("//ts:eslint.bzl", "eslint_test") - -js_library( - name = "pycmd", - srcs = ["pycmd.d.ts"], - visibility = ["//qt/aqt/data/web/js:__subpackages__"], -) - -typescript( - name = "aqt", - srcs = glob( - ["*.ts"], - exclude = ["*.d.ts"], - ), - deps = [ - "pycmd", - "@npm//@types/jquery", - "@npm//@types/jqueryui", - ], -) - -copy_files_into_group( - name = "editor", - srcs = [ - "browser_editor.js", - "reviewer_editor.js", - "note_creator.js", - ], - package = "//ts/editor", -) - -copy_files_into_group( - name = "reviewer", - srcs = [ - "reviewer.js", - ], - package = "//ts/reviewer", -) - -copy_files_into_group( - name = "mathjax", - srcs = [ - "mathjax.js", - ], - package = "//ts/mathjax", -) - -filegroup( - name = "js", - srcs = [ - "aqt", - "reviewer", - "editor", - "mathjax", - "//qt/aqt/data/web/js/vendor", - ], - visibility = ["//qt:__subpackages__"], -) - -prettier_test( - name = "format_check", - srcs = glob([ - "*.ts", - "*.js", - ]), -) - -# source files need fixing first -eslint_test( - name = "eslint", - srcs = glob(["*.ts"]), -) - -exports_files([ - "tsconfig.json", -]) diff --git a/qt/aqt/data/web/js/compile_ts.bzl b/qt/aqt/data/web/js/compile_ts.bzl deleted file mode 100644 index 31704f2d8..000000000 --- a/qt/aqt/data/web/js/compile_ts.bzl +++ /dev/null @@ -1,19 +0,0 @@ -def compile_ts(group, srcs): - css_files = [] - for ts_file in srcs: - name = ts_file.replace(".ts", "") + "_ts" - css_file = name + ".css" - css_files.append(css_file) - - sass_binary( - name = name, - src = ts_file, - sourcemap = False, - deps = [], - ) - - native.filegroup( - name = group, - srcs = css_files, - visibility = ["//qt:__subpackages__"], - ) diff --git a/qt/aqt/data/web/js/tsconfig.json b/qt/aqt/data/web/js/tsconfig.json index 9ca9efa2e..7b417363a 100644 --- a/qt/aqt/data/web/js/tsconfig.json +++ b/qt/aqt/data/web/js/tsconfig.json @@ -8,6 +8,7 @@ "lib": ["es2019", "dom", "dom.iterable"], "types": ["jquery", "jqueryui"], "strict": true, + "isolatedModules": false, "noImplicitAny": false, "strictNullChecks": false, "strictPropertyInitialization": false, diff --git a/qt/aqt/data/web/js/vendor/BUILD.bazel b/qt/aqt/data/web/js/vendor/BUILD.bazel deleted file mode 100644 index 19e6e8c21..000000000 --- a/qt/aqt/data/web/js/vendor/BUILD.bazel +++ /dev/null @@ -1,34 +0,0 @@ -load( - "//ts:vendor.bzl", - "copy_bootstrap_js", - "copy_css_browser_selector", - "copy_jquery", - "copy_jquery_ui", -) - -copy_jquery(name = "jquery") - -copy_jquery_ui(name = "jquery-ui") - -copy_css_browser_selector(name = "css-browser-selector") - -copy_bootstrap_js(name = "bootstrap") - -files = [ - "jquery", - "jquery-ui", - "css-browser-selector", - "bootstrap", -] - -directories = [ - "mathjax", -] - -filegroup( - name = "vendor", - srcs = glob(["*.js"]) + - ["//qt/aqt/data/web/js/vendor:{}".format(file) for file in files] + - ["//qt/aqt/data/web/js/vendor/{}".format(dir) for dir in directories], - visibility = ["//qt:__subpackages__"], -) diff --git a/qt/aqt/data/web/js/vendor/mathjax/BUILD.bazel b/qt/aqt/data/web/js/vendor/mathjax/BUILD.bazel deleted file mode 100644 index 88cd2740a..000000000 --- a/qt/aqt/data/web/js/vendor/mathjax/BUILD.bazel +++ /dev/null @@ -1,3 +0,0 @@ -load("//ts:vendor.bzl", "copy_mathjax") - -copy_mathjax(name = "mathjax") diff --git a/qt/aqt/data/web/pages/BUILD.bazel b/qt/aqt/data/web/pages/BUILD.bazel deleted file mode 100644 index c957a218a..000000000 --- a/qt/aqt/data/web/pages/BUILD.bazel +++ /dev/null @@ -1,31 +0,0 @@ -load("//ts:copy.bzl", "copy_files_into_group") - -_pages = [ - "graphs", - "congrats", - "deck-options", - "change-notetype", - "card-info", - "fields", - "import-csv", -] - -[copy_files_into_group( - name = name + "_page", - srcs = [ - name + "-base.css", - name + ".css", - name + ".html", - name + ".js", - ], - dev_srcs = [ - name + ".js.map", - ], - package = "//ts/" + name, -) for name in _pages] - -filegroup( - name = "pages", - srcs = [name + "_page" for name in _pages], - visibility = ["//qt:__subpackages__"], -) diff --git a/qt/aqt/deckconf.py b/qt/aqt/deckconf.py index aed8452e3..9988664fb 100644 --- a/qt/aqt/deckconf.py +++ b/qt/aqt/deckconf.py @@ -266,7 +266,7 @@ class DeckConf(QDialog): continue try: i = float(item) - if not i > 0: + if i <= 0: raise Exception("0 invalid") if i == int(i): i = int(i) diff --git a/qt/aqt/filtered_deck.py b/qt/aqt/filtered_deck.py index 9aad52cef..bba0626db 100644 --- a/qt/aqt/filtered_deck.py +++ b/qt/aqt/filtered_deck.py @@ -336,7 +336,7 @@ class FilteredDeckConfigDialog(QDialog): continue try: i = float(item) - if not i > 0: + if i <= 0: raise Exception("0 invalid") ret.append(i) except: diff --git a/qt/aqt/forms/BUILD.bazel b/qt/aqt/forms/BUILD.bazel deleted file mode 100644 index ecbf03fa0..000000000 --- a/qt/aqt/forms/BUILD.bazel +++ /dev/null @@ -1,32 +0,0 @@ -load("@rules_python//python:defs.bzl", "py_binary") -load("compile.bzl", "compile_all") - -py_binary( - name = "build_ui", - srcs = ["build_ui.py"], - legacy_create_init = False, - deps = ["@pyqt6"], -) - -compile_all( - name = "generated_forms", - srcs = glob(["*.ui"]), - builder = "build_ui", -) - -filegroup( - name = "forms", - srcs = glob( - ["*.py"], - exclude = [ - "*_qt5.py", - "*_qt6.py", - "build_ui*.py", - ], - ) + [ - ":generated_forms", - ], - visibility = [ - "//qt/aqt:__pkg__", - ], -) diff --git a/qt/aqt/forms/__init__.py b/qt/aqt/forms/__init__.py index d304d6956..cfae51e1c 100644 --- a/qt/aqt/forms/__init__.py +++ b/qt/aqt/forms/__init__.py @@ -1,43 +1,45 @@ -from . import about -from . import addcards -from . import addfield -from . import addmodel -from . import addonconf -from . import addons -from . import browser -from . import browserdisp -from . import browseropts -from . import changemap -from . import changemodel -from . import clayout_top -from . import customstudy -from . import dconf -from . import debug -from . import filtered_deck -from . import forget -from . import editaddon -from . import editcurrent -from . import edithtml -from . import emptycards -from . import exporting -from . import fields -from . import fields_web -from . import finddupes -from . import findreplace -from . import getaddons -from . import importing -from . import main -from . import modelopts -from . import models -from . import preferences -from . import preview -from . import profiles -from . import progress -from . import reposition -from . import setgroup -from . import setlang -from . import stats -from . import studydeck -from . import synclog -from . import taglimit -from . import template +from . import ( + about, + addcards, + addfield, + addmodel, + addonconf, + addons, + browser, + browserdisp, + browseropts, + changemap, + changemodel, + clayout_top, + customstudy, + dconf, + debug, + editaddon, + editcurrent, + edithtml, + emptycards, + exporting, + fields, + fields_web, + filtered_deck, + finddupes, + findreplace, + forget, + getaddons, + importing, + main, + modelopts, + models, + preferences, + preview, + profiles, + progress, + reposition, + setgroup, + setlang, + stats, + studydeck, + synclog, + taglimit, + template, +) diff --git a/qt/aqt/forms/about.py b/qt/aqt/forms/about.py index 8622ff868..9976f5c92 100644 --- a/qt/aqt/forms/about.py +++ b/qt/aqt/forms/about.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .about_qt6 import * + from _aqt.forms.about_qt6 import * else: - from .about_qt5 import * # type: ignore + from _aqt.forms.about_qt5 import * # type: ignore diff --git a/qt/aqt/forms/about_qt6.py b/qt/aqt/forms/about_qt6.py deleted file mode 120000 index 214f734ad..000000000 --- a/qt/aqt/forms/about_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/about_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/addcards.py b/qt/aqt/forms/addcards.py index 74082d63f..ee6da362d 100644 --- a/qt/aqt/forms/addcards.py +++ b/qt/aqt/forms/addcards.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .addcards_qt6 import * + from _aqt.forms.addcards_qt6 import * else: - from .addcards_qt5 import * # type: ignore + from _aqt.forms.addcards_qt5 import * # type: ignore diff --git a/qt/aqt/forms/addcards_qt6.py b/qt/aqt/forms/addcards_qt6.py deleted file mode 120000 index 8cca3e3db..000000000 --- a/qt/aqt/forms/addcards_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/addcards_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/addfield.py b/qt/aqt/forms/addfield.py index 839061794..f7164ffc2 100644 --- a/qt/aqt/forms/addfield.py +++ b/qt/aqt/forms/addfield.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .addfield_qt6 import * + from _aqt.forms.addfield_qt6 import * else: - from .addfield_qt5 import * # type: ignore + from _aqt.forms.addfield_qt5 import * # type: ignore diff --git a/qt/aqt/forms/addfield_qt6.py b/qt/aqt/forms/addfield_qt6.py deleted file mode 120000 index b3495d732..000000000 --- a/qt/aqt/forms/addfield_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/addfield_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/addmodel.py b/qt/aqt/forms/addmodel.py index 6128f1649..28cc48a5c 100644 --- a/qt/aqt/forms/addmodel.py +++ b/qt/aqt/forms/addmodel.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .addmodel_qt6 import * + from _aqt.forms.addmodel_qt6 import * else: - from .addmodel_qt5 import * # type: ignore + from _aqt.forms.addmodel_qt5 import * # type: ignore diff --git a/qt/aqt/forms/addmodel_qt6.py b/qt/aqt/forms/addmodel_qt6.py deleted file mode 120000 index 16af96f0a..000000000 --- a/qt/aqt/forms/addmodel_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/addmodel_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/addonconf.py b/qt/aqt/forms/addonconf.py index 759f9b11f..d52c6a077 100644 --- a/qt/aqt/forms/addonconf.py +++ b/qt/aqt/forms/addonconf.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .addonconf_qt6 import * + from _aqt.forms.addonconf_qt6 import * else: - from .addonconf_qt5 import * # type: ignore + from _aqt.forms.addonconf_qt5 import * # type: ignore diff --git a/qt/aqt/forms/addonconf_qt6.py b/qt/aqt/forms/addonconf_qt6.py deleted file mode 120000 index 93c6dca08..000000000 --- a/qt/aqt/forms/addonconf_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/addonconf_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/addons.py b/qt/aqt/forms/addons.py index fd423756e..1426d51a7 100644 --- a/qt/aqt/forms/addons.py +++ b/qt/aqt/forms/addons.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .addons_qt6 import * + from _aqt.forms.addons_qt6 import * else: - from .addons_qt5 import * # type: ignore + from _aqt.forms.addons_qt5 import * # type: ignore diff --git a/qt/aqt/forms/addons_qt6.py b/qt/aqt/forms/addons_qt6.py deleted file mode 120000 index 7aad64ebd..000000000 --- a/qt/aqt/forms/addons_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/addons_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/browser.py b/qt/aqt/forms/browser.py index 8f443ff4a..63606b67c 100644 --- a/qt/aqt/forms/browser.py +++ b/qt/aqt/forms/browser.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .browser_qt6 import * + from _aqt.forms.browser_qt6 import * else: - from .browser_qt5 import * # type: ignore + from _aqt.forms.browser_qt5 import * # type: ignore diff --git a/qt/aqt/forms/browser_qt6.py b/qt/aqt/forms/browser_qt6.py deleted file mode 120000 index a8e933afd..000000000 --- a/qt/aqt/forms/browser_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/browser_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/browserdisp.py b/qt/aqt/forms/browserdisp.py index c5bc36bd3..584b172a3 100644 --- a/qt/aqt/forms/browserdisp.py +++ b/qt/aqt/forms/browserdisp.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .browserdisp_qt6 import * + from _aqt.forms.browserdisp_qt6 import * else: - from .browserdisp_qt5 import * # type: ignore + from _aqt.forms.browserdisp_qt5 import * # type: ignore diff --git a/qt/aqt/forms/browserdisp_qt6.py b/qt/aqt/forms/browserdisp_qt6.py deleted file mode 120000 index d2ade7afd..000000000 --- a/qt/aqt/forms/browserdisp_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/browserdisp_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/browseropts.py b/qt/aqt/forms/browseropts.py index d0fd9dbca..618fcf7cf 100644 --- a/qt/aqt/forms/browseropts.py +++ b/qt/aqt/forms/browseropts.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .browseropts_qt6 import * + from _aqt.forms.browseropts_qt6 import * else: - from .browseropts_qt5 import * # type: ignore + from _aqt.forms.browseropts_qt5 import * # type: ignore diff --git a/qt/aqt/forms/browseropts_qt6.py b/qt/aqt/forms/browseropts_qt6.py deleted file mode 120000 index 66811a2b1..000000000 --- a/qt/aqt/forms/browseropts_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/browseropts_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/build_ui_qt5.py b/qt/aqt/forms/build_ui_qt5.py deleted file mode 100644 index d45d4f8ac..000000000 --- a/qt/aqt/forms/build_ui_qt5.py +++ /dev/null @@ -1,38 +0,0 @@ -import re -import sys -import io -from PyQt5.uic import compileUi - -ui_file = sys.argv[1] -py_file = sys.argv[2] -buf = io.StringIO() -compileUi(open(ui_file), buf, from_imports=True) - -outdata = buf.getvalue() -outdata = outdata.replace( - "# -*- coding: utf-8 -*-", "# -*- coding: utf-8 -*-\nfrom aqt.utils import tr\n" -) -outdata = re.sub( - r'(?:QtGui\.QApplication\.)?_?translate\(".*?", "(.*?)"', "tr.\\1(", outdata -) - - -outlines = [] -qt_bad_types = [ - ".connect(", - "setStandardButtons", - "setTextInteractionFlags", - "setAlignment", -] -for line in outdata.splitlines(): - for substr in qt_bad_types: - if substr in line: - line = line + " # type: ignore" - break - if line == "from . import icons_rc": - continue - line = line.replace(":/icons/", "icons:") - outlines.append(line) - -with open(py_file, "w") as file: - file.write("\n".join(outlines)) diff --git a/qt/aqt/forms/build_ui_qt6.py b/qt/aqt/forms/build_ui_qt6.py deleted file mode 100644 index 26d230c10..000000000 --- a/qt/aqt/forms/build_ui_qt6.py +++ /dev/null @@ -1,39 +0,0 @@ -import re -import sys -import io -from PyQt6.uic import compileUi - -ui_file = sys.argv[1] -py_file = sys.argv[2] -buf = io.StringIO() -compileUi(open(ui_file), buf) - -outdata = buf.getvalue() -outdata = outdata.replace( - "from PyQt6 import QtCore, QtGui, QtWidgets", - "from PyQt6 import QtCore, QtGui, QtWidgets\nfrom aqt.utils import tr\n" -) -outdata = re.sub( - r'(?:QtGui\.QApplication\.)?_?translate\(".*?", "(.*?)"', "tr.\\1(", outdata -) - - -outlines = [] -qt_bad_types = [ - ".connect(", -] -for line in outdata.splitlines(): - for substr in qt_bad_types: - if substr in line: - line = line + " # type: ignore" - break - if line == "from . import icons_rc": - continue - line = line.replace(":/icons/", "icons:") - line = line.replace("QAction.PreferencesRole", "QAction.MenuRole.PreferencesRole") - line = line.replace("QAction.AboutRole", "QAction.MenuRole.AboutRole") - line = line.replace("QComboBox.AdjustToMinimumContentsLength", "QComboBox.SizeAdjustPolicy.AdjustToMinimumContentsLength") - outlines.append(line) - -with open(py_file, "w") as file: - file.write("\n".join(outlines)) diff --git a/qt/aqt/forms/changemap.py b/qt/aqt/forms/changemap.py index d6dc2d060..45b25dd2d 100644 --- a/qt/aqt/forms/changemap.py +++ b/qt/aqt/forms/changemap.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .changemap_qt6 import * + from _aqt.forms.changemap_qt6 import * else: - from .changemap_qt5 import * # type: ignore + from _aqt.forms.changemap_qt5 import * # type: ignore diff --git a/qt/aqt/forms/changemap_qt6.py b/qt/aqt/forms/changemap_qt6.py deleted file mode 120000 index ea684b678..000000000 --- a/qt/aqt/forms/changemap_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/changemap_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/changemodel.py b/qt/aqt/forms/changemodel.py index 2b0a10492..abe89ea9d 100644 --- a/qt/aqt/forms/changemodel.py +++ b/qt/aqt/forms/changemodel.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .changemodel_qt6 import * + from _aqt.forms.changemodel_qt6 import * else: - from .changemodel_qt5 import * # type: ignore + from _aqt.forms.changemodel_qt5 import * # type: ignore diff --git a/qt/aqt/forms/changemodel_qt6.py b/qt/aqt/forms/changemodel_qt6.py deleted file mode 120000 index 0e37bf8f4..000000000 --- a/qt/aqt/forms/changemodel_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/changemodel_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/clayout_top.py b/qt/aqt/forms/clayout_top.py index 9c15a8f07..3e253bb0d 100644 --- a/qt/aqt/forms/clayout_top.py +++ b/qt/aqt/forms/clayout_top.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .clayout_top_qt6 import * + from _aqt.forms.clayout_top_qt6 import * else: - from .clayout_top_qt5 import * # type: ignore + from _aqt.forms.clayout_top_qt5 import * # type: ignore diff --git a/qt/aqt/forms/clayout_top_qt6.py b/qt/aqt/forms/clayout_top_qt6.py deleted file mode 120000 index e6c83d0d9..000000000 --- a/qt/aqt/forms/clayout_top_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/clayout_top_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/compile.bzl b/qt/aqt/forms/compile.bzl deleted file mode 100644 index 3f0c9a9d0..000000000 --- a/qt/aqt/forms/compile.bzl +++ /dev/null @@ -1,27 +0,0 @@ -def compile_all(name, builder, srcs): - py_files = [] - for ui_file in srcs: - base = ui_file.replace(".ui", "") - qt5_file = base + "_qt5.py" - qt6_file = base + "_qt6.py" - py_files.extend([qt5_file, qt6_file]) - - native.genrule( - name = name + "_build", - srcs = srcs, - outs = py_files, - cmd = "$(location {builder}) $(location {first_ui}) $(location {first_py})".format( - builder = builder, - first_ui = srcs[0], - first_py = py_files[0], - ), - tools = [ - builder, - ], - message = "Building Qt UI", - ) - - native.filegroup( - name = name, - srcs = py_files, - ) diff --git a/qt/aqt/forms/customstudy.py b/qt/aqt/forms/customstudy.py index 315e65d7d..75e81c1aa 100644 --- a/qt/aqt/forms/customstudy.py +++ b/qt/aqt/forms/customstudy.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .customstudy_qt6 import * + from _aqt.forms.customstudy_qt6 import * else: - from .customstudy_qt5 import * # type: ignore + from _aqt.forms.customstudy_qt5 import * # type: ignore diff --git a/qt/aqt/forms/customstudy_qt6.py b/qt/aqt/forms/customstudy_qt6.py deleted file mode 120000 index 81ad429fa..000000000 --- a/qt/aqt/forms/customstudy_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/customstudy_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/dconf.py b/qt/aqt/forms/dconf.py index 6f540938f..74d8ae6b9 100644 --- a/qt/aqt/forms/dconf.py +++ b/qt/aqt/forms/dconf.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .dconf_qt6 import * + from _aqt.forms.dconf_qt6 import * else: - from .dconf_qt5 import * # type: ignore + from _aqt.forms.dconf_qt5 import * # type: ignore diff --git a/qt/aqt/forms/dconf_qt6.py b/qt/aqt/forms/dconf_qt6.py deleted file mode 120000 index 925f5ad96..000000000 --- a/qt/aqt/forms/dconf_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/dconf_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/debug.py b/qt/aqt/forms/debug.py index e4bcd75c1..d8e2ee169 100644 --- a/qt/aqt/forms/debug.py +++ b/qt/aqt/forms/debug.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .debug_qt6 import * + from _aqt.forms.debug_qt6 import * else: - from .debug_qt5 import * # type: ignore + from _aqt.forms.debug_qt5 import * # type: ignore diff --git a/qt/aqt/forms/debug_qt6.py b/qt/aqt/forms/debug_qt6.py deleted file mode 120000 index 5f8841953..000000000 --- a/qt/aqt/forms/debug_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/debug_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/editaddon.py b/qt/aqt/forms/editaddon.py index da7a02b89..aae45adc1 100644 --- a/qt/aqt/forms/editaddon.py +++ b/qt/aqt/forms/editaddon.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .editaddon_qt6 import * + from _aqt.forms.editaddon_qt6 import * else: - from .editaddon_qt5 import * # type: ignore + from _aqt.forms.editaddon_qt5 import * # type: ignore diff --git a/qt/aqt/forms/editaddon_qt6.py b/qt/aqt/forms/editaddon_qt6.py deleted file mode 120000 index 925c1f8bf..000000000 --- a/qt/aqt/forms/editaddon_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/editaddon_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/editcurrent.py b/qt/aqt/forms/editcurrent.py index a9f03c6ea..8c257645f 100644 --- a/qt/aqt/forms/editcurrent.py +++ b/qt/aqt/forms/editcurrent.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .editcurrent_qt6 import * + from _aqt.forms.editcurrent_qt6 import * else: - from .editcurrent_qt5 import * # type: ignore + from _aqt.forms.editcurrent_qt5 import * # type: ignore diff --git a/qt/aqt/forms/editcurrent_qt6.py b/qt/aqt/forms/editcurrent_qt6.py deleted file mode 120000 index 07ffe5678..000000000 --- a/qt/aqt/forms/editcurrent_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/editcurrent_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/edithtml.py b/qt/aqt/forms/edithtml.py index 92f792344..cbc79a8b5 100644 --- a/qt/aqt/forms/edithtml.py +++ b/qt/aqt/forms/edithtml.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .edithtml_qt6 import * + from _aqt.forms.edithtml_qt6 import * else: - from .edithtml_qt5 import * # type: ignore + from _aqt.forms.edithtml_qt5 import * # type: ignore diff --git a/qt/aqt/forms/edithtml_qt6.py b/qt/aqt/forms/edithtml_qt6.py deleted file mode 120000 index 6c7442504..000000000 --- a/qt/aqt/forms/edithtml_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/edithtml_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/emptycards.py b/qt/aqt/forms/emptycards.py index 616ea2ed4..9d81daebd 100644 --- a/qt/aqt/forms/emptycards.py +++ b/qt/aqt/forms/emptycards.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .emptycards_qt6 import * + from _aqt.forms.emptycards_qt6 import * else: - from .emptycards_qt5 import * # type: ignore + from _aqt.forms.emptycards_qt5 import * # type: ignore diff --git a/qt/aqt/forms/emptycards_qt6.py b/qt/aqt/forms/emptycards_qt6.py deleted file mode 120000 index 84885f1a0..000000000 --- a/qt/aqt/forms/emptycards_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/emptycards_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/exporting.py b/qt/aqt/forms/exporting.py index 2ce625bcd..46fc220fd 100644 --- a/qt/aqt/forms/exporting.py +++ b/qt/aqt/forms/exporting.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .exporting_qt6 import * + from _aqt.forms.exporting_qt6 import * else: - from .exporting_qt5 import * # type: ignore + from _aqt.forms.exporting_qt5 import * # type: ignore diff --git a/qt/aqt/forms/exporting_qt6.py b/qt/aqt/forms/exporting_qt6.py deleted file mode 120000 index 9842abfb1..000000000 --- a/qt/aqt/forms/exporting_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/exporting_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/fields.py b/qt/aqt/forms/fields.py index 2c1512701..32a8f313a 100644 --- a/qt/aqt/forms/fields.py +++ b/qt/aqt/forms/fields.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .fields_qt6 import * + from _aqt.forms.fields_qt6 import * else: - from .fields_qt5 import * # type: ignore + from _aqt.forms.fields_qt5 import * # type: ignore diff --git a/qt/aqt/forms/fields_qt6.py b/qt/aqt/forms/fields_qt6.py deleted file mode 120000 index ab46d0750..000000000 --- a/qt/aqt/forms/fields_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/fields_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/fields_web.py b/qt/aqt/forms/fields_web.py index e3af4c85e..e4e1686be 100644 --- a/qt/aqt/forms/fields_web.py +++ b/qt/aqt/forms/fields_web.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .fields_web_qt6 import * + from _aqt.forms.fields_web_qt6 import * else: - from .fields_web_qt5 import * # type: ignore + from _aqt.forms.fields_web_qt5 import * # type: ignore diff --git a/qt/aqt/forms/fields_web_qt6.py b/qt/aqt/forms/fields_web_qt6.py deleted file mode 120000 index 33b70f31d..000000000 --- a/qt/aqt/forms/fields_web_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/fields_web_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/filtered_deck.py b/qt/aqt/forms/filtered_deck.py index 48a9dd52e..600f6dd3c 100644 --- a/qt/aqt/forms/filtered_deck.py +++ b/qt/aqt/forms/filtered_deck.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .filtered_deck_qt6 import * + from _aqt.forms.filtered_deck_qt6 import * else: - from .filtered_deck_qt5 import * # type: ignore + from _aqt.forms.filtered_deck_qt5 import * # type: ignore diff --git a/qt/aqt/forms/filtered_deck_qt6.py b/qt/aqt/forms/filtered_deck_qt6.py deleted file mode 120000 index f2304b20c..000000000 --- a/qt/aqt/forms/filtered_deck_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/filtered_deck_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/finddupes.py b/qt/aqt/forms/finddupes.py index 4f7db20b3..d168eac49 100644 --- a/qt/aqt/forms/finddupes.py +++ b/qt/aqt/forms/finddupes.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .finddupes_qt6 import * + from _aqt.forms.finddupes_qt6 import * else: - from .finddupes_qt5 import * # type: ignore + from _aqt.forms.finddupes_qt5 import * # type: ignore diff --git a/qt/aqt/forms/finddupes_qt6.py b/qt/aqt/forms/finddupes_qt6.py deleted file mode 120000 index c47097f13..000000000 --- a/qt/aqt/forms/finddupes_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/finddupes_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/findreplace.py b/qt/aqt/forms/findreplace.py index 1cdd2e075..8810f5b84 100644 --- a/qt/aqt/forms/findreplace.py +++ b/qt/aqt/forms/findreplace.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .findreplace_qt6 import * + from _aqt.forms.findreplace_qt6 import * else: - from .findreplace_qt5 import * # type: ignore + from _aqt.forms.findreplace_qt5 import * # type: ignore diff --git a/qt/aqt/forms/findreplace_qt6.py b/qt/aqt/forms/findreplace_qt6.py deleted file mode 120000 index fc1da0148..000000000 --- a/qt/aqt/forms/findreplace_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/findreplace_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/forget.py b/qt/aqt/forms/forget.py index 8c7231bf3..dcace3af9 100644 --- a/qt/aqt/forms/forget.py +++ b/qt/aqt/forms/forget.py @@ -1,6 +1,6 @@ from aqt.qt import qtmajor if qtmajor > 5: - from .forget_qt6 import * + from _aqt.forms.forget_qt6 import * else: - from .forget_qt5 import * # type: ignore + from _aqt.forms.forget_qt5 import * # type: ignore diff --git a/qt/aqt/forms/forget_qt6.py b/qt/aqt/forms/forget_qt6.py deleted file mode 120000 index 008c39912..000000000 --- a/qt/aqt/forms/forget_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/forget_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/getaddons.py b/qt/aqt/forms/getaddons.py index 262703bd6..8a34c3377 100644 --- a/qt/aqt/forms/getaddons.py +++ b/qt/aqt/forms/getaddons.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .getaddons_qt6 import * + from _aqt.forms.getaddons_qt6 import * else: - from .getaddons_qt5 import * # type: ignore + from _aqt.forms.getaddons_qt5 import * # type: ignore diff --git a/qt/aqt/forms/getaddons_qt6.py b/qt/aqt/forms/getaddons_qt6.py deleted file mode 120000 index 759f77aaa..000000000 --- a/qt/aqt/forms/getaddons_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/getaddons_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/icons.qrc b/qt/aqt/forms/icons.qrc deleted file mode 120000 index 4665b0083..000000000 --- a/qt/aqt/forms/icons.qrc +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/data/qt/icons.qrc \ No newline at end of file diff --git a/qt/aqt/forms/importing.py b/qt/aqt/forms/importing.py index 5dd58c0fc..72c70e917 100644 --- a/qt/aqt/forms/importing.py +++ b/qt/aqt/forms/importing.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .importing_qt6 import * + from _aqt.forms.importing_qt6 import * else: - from .importing_qt5 import * # type: ignore + from _aqt.forms.importing_qt5 import * # type: ignore diff --git a/qt/aqt/forms/importing_qt6.py b/qt/aqt/forms/importing_qt6.py deleted file mode 120000 index 339cb0341..000000000 --- a/qt/aqt/forms/importing_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/importing_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/main.py b/qt/aqt/forms/main.py index 00a04ef13..a20ceaf8e 100644 --- a/qt/aqt/forms/main.py +++ b/qt/aqt/forms/main.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .main_qt6 import * + from _aqt.forms.main_qt6 import * else: - from .main_qt5 import * # type: ignore + from _aqt.forms.main_qt5 import * # type: ignore diff --git a/qt/aqt/forms/main_qt6.py b/qt/aqt/forms/main_qt6.py deleted file mode 120000 index c2a5afe52..000000000 --- a/qt/aqt/forms/main_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/main_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/modelopts.py b/qt/aqt/forms/modelopts.py index f6166c8d4..2d3145409 100644 --- a/qt/aqt/forms/modelopts.py +++ b/qt/aqt/forms/modelopts.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .modelopts_qt6 import * + from _aqt.forms.modelopts_qt6 import * else: - from .modelopts_qt5 import * # type: ignore + from _aqt.forms.modelopts_qt5 import * # type: ignore diff --git a/qt/aqt/forms/modelopts_qt6.py b/qt/aqt/forms/modelopts_qt6.py deleted file mode 120000 index 19a5bb64f..000000000 --- a/qt/aqt/forms/modelopts_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/modelopts_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/models.py b/qt/aqt/forms/models.py index ddb565a58..915d8d7a2 100644 --- a/qt/aqt/forms/models.py +++ b/qt/aqt/forms/models.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .models_qt6 import * + from _aqt.forms.models_qt6 import * else: - from .models_qt5 import * # type: ignore + from _aqt.forms.models_qt5 import * # type: ignore diff --git a/qt/aqt/forms/models_qt6.py b/qt/aqt/forms/models_qt6.py deleted file mode 120000 index a866e559f..000000000 --- a/qt/aqt/forms/models_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/models_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/preferences.py b/qt/aqt/forms/preferences.py index 0b31698eb..e5aacdbc2 100644 --- a/qt/aqt/forms/preferences.py +++ b/qt/aqt/forms/preferences.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .preferences_qt6 import * + from _aqt.forms.preferences_qt6 import * else: - from .preferences_qt5 import * # type: ignore + from _aqt.forms.preferences_qt5 import * # type: ignore diff --git a/qt/aqt/forms/preferences_qt6.py b/qt/aqt/forms/preferences_qt6.py deleted file mode 120000 index 10222e0bc..000000000 --- a/qt/aqt/forms/preferences_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/preferences_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/preview.py b/qt/aqt/forms/preview.py index f20222c81..4d2496553 100644 --- a/qt/aqt/forms/preview.py +++ b/qt/aqt/forms/preview.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .preview_qt6 import * + from _aqt.forms.preview_qt6 import * else: - from .preview_qt5 import * # type: ignore + from _aqt.forms.preview_qt5 import * # type: ignore diff --git a/qt/aqt/forms/preview_qt6.py b/qt/aqt/forms/preview_qt6.py deleted file mode 120000 index 12fd95f8d..000000000 --- a/qt/aqt/forms/preview_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/preview_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/profiles.py b/qt/aqt/forms/profiles.py index 55c9b6784..0d22cacac 100644 --- a/qt/aqt/forms/profiles.py +++ b/qt/aqt/forms/profiles.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .profiles_qt6 import * + from _aqt.forms.profiles_qt6 import * else: - from .profiles_qt5 import * # type: ignore + from _aqt.forms.profiles_qt5 import * # type: ignore diff --git a/qt/aqt/forms/profiles_qt6.py b/qt/aqt/forms/profiles_qt6.py deleted file mode 120000 index c7de03a10..000000000 --- a/qt/aqt/forms/profiles_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/profiles_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/progress.py b/qt/aqt/forms/progress.py index 2af563f54..677e77a34 100644 --- a/qt/aqt/forms/progress.py +++ b/qt/aqt/forms/progress.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .progress_qt6 import * + from _aqt.forms.progress_qt6 import * else: - from .progress_qt5 import * # type: ignore + from _aqt.forms.progress_qt5 import * # type: ignore diff --git a/qt/aqt/forms/progress_qt6.py b/qt/aqt/forms/progress_qt6.py deleted file mode 120000 index 00dd8b8e7..000000000 --- a/qt/aqt/forms/progress_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/progress_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/reposition.py b/qt/aqt/forms/reposition.py index 8f35e51cd..46216c743 100644 --- a/qt/aqt/forms/reposition.py +++ b/qt/aqt/forms/reposition.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .reposition_qt6 import * + from _aqt.forms.reposition_qt6 import * else: - from .reposition_qt5 import * # type: ignore + from _aqt.forms.reposition_qt5 import * # type: ignore diff --git a/qt/aqt/forms/reposition_qt6.py b/qt/aqt/forms/reposition_qt6.py deleted file mode 120000 index c04c6546a..000000000 --- a/qt/aqt/forms/reposition_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/reposition_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/setgroup.py b/qt/aqt/forms/setgroup.py index c04c3d627..995255fce 100644 --- a/qt/aqt/forms/setgroup.py +++ b/qt/aqt/forms/setgroup.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .setgroup_qt6 import * + from _aqt.forms.setgroup_qt6 import * else: - from .setgroup_qt5 import * # type: ignore + from _aqt.forms.setgroup_qt5 import * # type: ignore diff --git a/qt/aqt/forms/setgroup_qt6.py b/qt/aqt/forms/setgroup_qt6.py deleted file mode 120000 index a16a2670b..000000000 --- a/qt/aqt/forms/setgroup_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/setgroup_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/setlang.py b/qt/aqt/forms/setlang.py index 10107e5c0..48c03f4de 100644 --- a/qt/aqt/forms/setlang.py +++ b/qt/aqt/forms/setlang.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .setlang_qt6 import * + from _aqt.forms.setlang_qt6 import * else: - from .setlang_qt5 import * # type: ignore + from _aqt.forms.setlang_qt5 import * # type: ignore diff --git a/qt/aqt/forms/setlang_qt6.py b/qt/aqt/forms/setlang_qt6.py deleted file mode 120000 index ff99c5f9e..000000000 --- a/qt/aqt/forms/setlang_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/setlang_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/stats.py b/qt/aqt/forms/stats.py index a2e5be948..57688ed3b 100644 --- a/qt/aqt/forms/stats.py +++ b/qt/aqt/forms/stats.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .stats_qt6 import * + from _aqt.forms.stats_qt6 import * else: - from .stats_qt5 import * # type: ignore + from _aqt.forms.stats_qt5 import * # type: ignore diff --git a/qt/aqt/forms/stats_qt6.py b/qt/aqt/forms/stats_qt6.py deleted file mode 120000 index a5d0122d1..000000000 --- a/qt/aqt/forms/stats_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/stats_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/studydeck.py b/qt/aqt/forms/studydeck.py index 00f2ee6b7..6686e2ec1 100644 --- a/qt/aqt/forms/studydeck.py +++ b/qt/aqt/forms/studydeck.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .studydeck_qt6 import * + from _aqt.forms.studydeck_qt6 import * else: - from .studydeck_qt5 import * # type: ignore + from _aqt.forms.studydeck_qt5 import * # type: ignore diff --git a/qt/aqt/forms/studydeck_qt6.py b/qt/aqt/forms/studydeck_qt6.py deleted file mode 120000 index b624d15ae..000000000 --- a/qt/aqt/forms/studydeck_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/studydeck_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/synclog.py b/qt/aqt/forms/synclog.py index efc0d6f71..a1ec8fd17 100644 --- a/qt/aqt/forms/synclog.py +++ b/qt/aqt/forms/synclog.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .synclog_qt6 import * + from _aqt.forms.synclog_qt6 import * else: - from .synclog_qt5 import * # type: ignore + from _aqt.forms.synclog_qt5 import * # type: ignore diff --git a/qt/aqt/forms/synclog_qt6.py b/qt/aqt/forms/synclog_qt6.py deleted file mode 120000 index e8144fa28..000000000 --- a/qt/aqt/forms/synclog_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/synclog_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/taglimit.py b/qt/aqt/forms/taglimit.py index 2ee3398d5..8d33e4ed5 100644 --- a/qt/aqt/forms/taglimit.py +++ b/qt/aqt/forms/taglimit.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .taglimit_qt6 import * + from _aqt.forms.taglimit_qt6 import * else: - from .taglimit_qt5 import * # type: ignore + from _aqt.forms.taglimit_qt5 import * # type: ignore diff --git a/qt/aqt/forms/taglimit_qt6.py b/qt/aqt/forms/taglimit_qt6.py deleted file mode 120000 index dec9e8c8e..000000000 --- a/qt/aqt/forms/taglimit_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/taglimit_qt6.py \ No newline at end of file diff --git a/qt/aqt/forms/template.py b/qt/aqt/forms/template.py index 73a332c0a..abfae93ea 100644 --- a/qt/aqt/forms/template.py +++ b/qt/aqt/forms/template.py @@ -1,5 +1,6 @@ from aqt.qt import qtmajor + if qtmajor > 5: - from .template_qt6 import * + from _aqt.forms.template_qt6 import * else: - from .template_qt5 import * # type: ignore + from _aqt.forms.template_qt5 import * # type: ignore diff --git a/qt/aqt/forms/template_qt6.py b/qt/aqt/forms/template_qt6.py deleted file mode 120000 index e96e311f1..000000000 --- a/qt/aqt/forms/template_qt6.py +++ /dev/null @@ -1 +0,0 @@ -../../../.bazel/bin/qt/aqt/forms/template_qt6.py \ No newline at end of file diff --git a/qt/aqt/gui_hooks.py b/qt/aqt/gui_hooks.py index 6c59aadc7..4912c552d 100644 --- a/qt/aqt/gui_hooks.py +++ b/qt/aqt/gui_hooks.py @@ -8,4 +8,4 @@ See pylib/anki/hooks.py from __future__ import annotations # You can find the definitions in ../tools/genhooks_gui.py -from aqt.hooks_gen import * +from _aqt.hooks import * diff --git a/qt/aqt/hooks_gen.py b/qt/aqt/hooks_gen.py deleted file mode 120000 index c453e006f..000000000 --- a/qt/aqt/hooks_gen.py +++ /dev/null @@ -1 +0,0 @@ -../../.bazel/bin/qt/aqt/hooks_gen.py \ No newline at end of file diff --git a/qt/aqt/importing.py b/qt/aqt/importing.py index 904a7bcdd..572772432 100644 --- a/qt/aqt/importing.py +++ b/qt/aqt/importing.py @@ -256,8 +256,7 @@ class ImportDialog(QDialog): self.mapwidget.setLayout(self.grid) self.grid.setContentsMargins(3, 3, 3, 3) self.grid.setSpacing(6) - fields = self.importer.fields() - for num in range(len(self.mapping)): + for num in range(len(self.mapping)): # pylint: disable=consider-using-enumerate text = tr.importing_field_of_file_is(val=num + 1) self.grid.addWidget(QLabel(text), num, 0) if self.mapping[num] == "_tags": diff --git a/qt/aqt/main.py b/qt/aqt/main.py index 8ed665e4f..976471d9c 100644 --- a/qt/aqt/main.py +++ b/qt/aqt/main.py @@ -715,7 +715,7 @@ class AnkiQt(QMainWindow): self._background_op_count -= 1 if not self._background_op_count: gui_hooks.backend_did_block() - if not self._background_op_count >= 0: + if self._background_op_count < 0: raise Exception("no background ops active") def _synthesize_op_did_execute_from_reset(self) -> None: diff --git a/qt/aqt/mediasrv.py b/qt/aqt/mediasrv.py index 33c1dd465..25e603f02 100644 --- a/qt/aqt/mediasrv.py +++ b/qt/aqt/mediasrv.py @@ -16,7 +16,8 @@ from http import HTTPStatus from typing import Callable import flask -import flask_cors # type: ignore +import flask_cors +import stringcase from flask import Response, request from waitress.server import create_server @@ -24,7 +25,6 @@ import aqt import aqt.main import aqt.operations from anki import hooks -from anki._vendor import stringcase from anki.collection import OpChanges from anki.decks import UpdateDeckConfigs from anki.scheduler_pb2 import SchedulingStates @@ -34,6 +34,7 @@ from aqt.deckoptions import DeckOptionsDialog from aqt.import_export.import_csv_dialog import ImportCsvDialog from aqt.operations.deck import update_deck_configs as update_deck_configs_op from aqt.qt import * +from aqt.utils import aqt_data_path app = flask.Flask(__name__, root_path="/fake") flask_cors.CORS(app) @@ -213,18 +214,14 @@ def _handle_local_file_request(request: LocalFileRequest) -> Response: def _builtin_data(path: str) -> bytes: """Return data from file in aqt/data folder. Path must use forward slash separators.""" - # overridden location? - if data_folder := os.getenv("ANKI_DATA_FOLDER"): - full_path = os.path.join(data_folder, path) - with open(full_path, "rb") as f: - return f.read() - else: - if is_win and not getattr(sys, "frozen", False): - # default Python resource loader expects backslashes on Windows - path = path.replace("/", "\\") - reader = aqt.__loader__.get_resource_reader("aqt") # type: ignore + # packaged build? + if getattr(sys, "frozen", False): + reader = aqt.__loader__.get_resource_reader("_aqt") # type: ignore with reader.open_resource(path) as f: return f.read() + else: + full_path = aqt_data_path() / ".." / path + return full_path.read_bytes() def _handle_builtin_file_request(request: BundledFileRequest) -> Response: @@ -235,6 +232,8 @@ def _handle_builtin_file_request(request: BundledFileRequest) -> Response: data = _builtin_data(data_path) return Response(data, mimetype=mimetype) except FileNotFoundError: + if dev_mode: + print(f"404: {data_path}") return flask.make_response( f"Invalid path: {path}", HTTPStatus.NOT_FOUND, diff --git a/qt/aqt/operations/deck.py b/qt/aqt/operations/deck.py index 60e6f0be3..1b2bbab1e 100644 --- a/qt/aqt/operations/deck.py +++ b/qt/aqt/operations/deck.py @@ -7,8 +7,8 @@ from typing import Sequence from anki.collection import OpChanges, OpChangesWithCount, OpChangesWithId from anki.decks import DeckCollapseScope, DeckDict, DeckId, UpdateDeckConfigs -from aqt import QWidget from aqt.operations import CollectionOp +from aqt.qt import QWidget from aqt.utils import getOnlyText, tooltip, tr diff --git a/qt/aqt/operations/notetype.py b/qt/aqt/operations/notetype.py index 6e75844e5..22231c919 100644 --- a/qt/aqt/operations/notetype.py +++ b/qt/aqt/operations/notetype.py @@ -5,8 +5,8 @@ from __future__ import annotations from anki.collection import OpChanges, OpChangesWithId from anki.models import ChangeNotetypeRequest, NotetypeDict, NotetypeId -from aqt import QWidget from aqt.operations import CollectionOp +from aqt.qt import QWidget def add_notetype_legacy( diff --git a/qt/aqt/operations/tag.py b/qt/aqt/operations/tag.py index 33ee3b9b5..bf3d25945 100644 --- a/qt/aqt/operations/tag.py +++ b/qt/aqt/operations/tag.py @@ -7,8 +7,8 @@ from typing import Sequence from anki.collection import OpChanges, OpChangesWithCount from anki.notes import NoteId -from aqt import QWidget from aqt.operations import CollectionOp +from aqt.qt import QWidget from aqt.utils import showInfo, tooltip, tr diff --git a/qt/aqt/pinnedmodules.py b/qt/aqt/pinnedmodules.py deleted file mode 100644 index b818b23b8..000000000 --- a/qt/aqt/pinnedmodules.py +++ /dev/null @@ -1,53 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -# pylint: disable=import-error,unused-import - -""" -# this file is imported as part of the bundling process to ensure certain -# modules are included in the distribution - -isort:skip_file -""" - -# included implicitly in the past, and relied upon by some add-ons -import cgi -import decimal -import gettext - -# useful for add-ons -import logging -import logging.config -import logging.handlers - -# required by requests library -import queue -import typing -import uuid - -# other modules we require that may not be automatically included -try: - import PyQt6.QtSvg # type: ignore - import PyQt6.QtMultimedia # type: ignore -except: - import PyQt5.QtSvg # type: ignore - import PyQt5.QtMultimedia # type: ignore -import socks - -# legacy compat -import anki.storage -import anki.sync -import anki.rsbackend - -# platform-specifics -from anki.utils import is_lin, is_mac, is_win - -if is_win: - # external module access - import pythoncom - import pywintypes - import win32com - -if is_lin: - # file locking - import fcntl diff --git a/qt/aqt/props.py b/qt/aqt/props.py new file mode 100644 index 000000000..3dcf5c027 --- /dev/null +++ b/qt/aqt/props.py @@ -0,0 +1,11 @@ +# Copyright: Ankitects Pty Ltd and contributors +# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +""" +See pylib/anki/hooks.py +""" + +from __future__ import annotations + +# You can find the definitions in ../tools/genhooks_gui.py +from _aqt.props import * diff --git a/qt/aqt/qt/qt6.py b/qt/aqt/qt/qt6.py index 279c977e9..4b4d220a9 100644 --- a/qt/aqt/qt/qt6.py +++ b/qt/aqt/qt/qt6.py @@ -12,7 +12,7 @@ from PyQt6 import sip from PyQt6.QtCore import * # conflicting Qt and qFuzzyCompare definitions require an ignore -from PyQt6.QtGui import * # type: ignore[misc] +from PyQt6.QtGui import * # type: ignore[misc,assignment] from PyQt6.QtNetwork import QLocalServer, QLocalSocket, QNetworkProxy from PyQt6.QtWebChannel import QWebChannel from PyQt6.QtWebEngineCore import * diff --git a/qt/aqt/switch.py b/qt/aqt/switch.py index 5ae965607..d846ad6fb 100644 --- a/qt/aqt/switch.py +++ b/qt/aqt/switch.py @@ -35,7 +35,7 @@ class Switch(QAbstractButton): self._knob_radius = radius - 2 self._label_padding = 4 self._left_knob_position = self._position = radius - self._right_knob_position = self.width - self._path_radius + self._right_knob_position = self.width() - self._path_radius self._left_label_position = self._label_padding / 2 self._right_label_position = 2 * self._knob_radius self._hide_label: bool = False @@ -84,18 +84,16 @@ class Switch(QAbstractButton): + 2 * self._label_padding ) - @property def width(self) -> int: return self.label_width + 2 * self._path_radius - @property def height(self) -> int: return 2 * self._path_radius def sizeHint(self) -> QSize: return QSize( - self.width, - self.height, + self.width(), + self.height(), ) def setChecked(self, checked: bool) -> None: @@ -116,8 +114,8 @@ class Switch(QAbstractButton): return QRectF( 0, 0, - self.width, - self.height, + self.width(), + self.height(), ) def _current_label_rectangle(self) -> QRectF: @@ -127,7 +125,7 @@ class Switch(QAbstractButton): else self._right_label_position, 0, self.label_width, - self.height, + self.height(), ) def _current_knob_rectangle(self) -> QRectF: diff --git a/qt/aqt/utils.py b/qt/aqt/utils.py index ceba1e257..2441ef87f 100644 --- a/qt/aqt/utils.py +++ b/qt/aqt/utils.py @@ -2,6 +2,7 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html from __future__ import annotations +import inspect import os import re import shutil @@ -82,23 +83,29 @@ if TYPE_CHECKING: TextFormat = Literal["plain", "rich"] -def aqt_data_folder() -> str: - # running in Bazel on macOS? - if path := os.getenv("AQT_DATA_FOLDER"): - return path +def aqt_data_path() -> Path: # packaged? - elif getattr(sys, "frozen", False): - path = os.path.join(sys.prefix, "lib/aqt/data") - if os.path.exists(path): + if getattr(sys, "frozen", False): + prefix = Path(sys.prefix) + path = prefix / "lib/_aqt/data" + if path.exists(): return path else: - return os.path.join(sys.prefix, "../Resources/aqt/data") - elif os.path.exists(dir := os.path.join(os.path.dirname(__file__), "data")): - return os.path.abspath(dir) + return prefix / "../Resources/_aqt/data" else: - # should only happen when running unit tests - print("warning, data folder not found") - return "." + import _aqt.colors + + data_folder = Path(inspect.getfile(_aqt.colors)).with_name("data") + if data_folder.exists(): + return data_folder.absolute() + else: + # should only happen when running unit tests + print("warning, data folder not found") + return Path(".") + + +def aqt_data_folder() -> str: + return str(aqt_data_path()) # shortcut to access Fluent translations; set as @@ -1154,7 +1161,7 @@ def gfxDriverIsBroken() -> bool: def startup_info() -> Any: "Use subprocess.Popen(startupinfo=...) to avoid opening a console window." - if not sys.platform == "win32": + if sys.platform != "win32": return None si = subprocess.STARTUPINFO() # pytype: disable=module-attr si.dwFlags |= subprocess.STARTF_USESHOWWINDOW # pytype: disable=module-attr diff --git a/qt/aqt/wheel_description.txt b/qt/aqt/wheel_description.txt deleted file mode 100644 index 7586b2f43..000000000 --- a/qt/aqt/wheel_description.txt +++ /dev/null @@ -1 +0,0 @@ -Please see https://apps.ankiweb.net diff --git a/qt/bazelfixes.py b/qt/bazelfixes.py deleted file mode 100644 index b3f1eb594..000000000 --- a/qt/bazelfixes.py +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import os -import sys - - -def fix_pywin32_in_bazel(force=False): - if sys.platform != "win32": - return - if not force and "BAZEL_SH" not in os.environ: - return - - # get path to pywin32 package - path = None - for path in sys.path: - if "pywin32" in path: - break - - # trigger pywin32 bootstrap - import site - - site.addsitedir(path) - - # sys.path has been extended; use final - # path to locate dll folder and add it to path - path = sys.path[-1] - path = path.replace("Pythonwin", "pywin32_system32") - os.environ["PATH"] += ";" + path - - # import pythoncom module - import importlib - import importlib.machinery - - name = "pythoncom" - filename = os.path.join(path, "pythoncom39.dll") - loader = importlib.machinery.ExtensionFileLoader(name, filename) - spec = importlib.machinery.ModuleSpec(name=name, loader=loader, origin=filename) - _mod = importlib._bootstrap._load(spec) - - -def fix_extraneous_path_in_bazel(): - # source folder conflicts with bazel-out source - if sys.path[0].endswith("qt"): - del sys.path[0] - - -def fix_run_on_macos(): - if not sys.platform.startswith("darwin"): - return - exec_folder = os.path.dirname(sys.argv[0]) - if "runanki_qt515" in exec_folder: - qt_version = 515 - elif "runanki_qt514" in exec_folder: - qt_version = 514 - else: - qt_version = 6 - pyqt_repo = os.path.join(exec_folder, f"../../../../../../../external/pyqt{qt_version}") - if os.path.exists(pyqt_repo): - # pyqt must point to real folder, not a symlink - sys.path.insert(0, pyqt_repo) - # set the correct data folder base - data = os.path.join(exec_folder, "aqt", "data") - os.environ["AQT_DATA_FOLDER"] = data diff --git a/qt/bundle/Cargo.lock b/qt/bundle/Cargo.lock index 5f351e04b..4a64a0115 100644 --- a/qt/bundle/Cargo.lock +++ b/qt/bundle/Cargo.lock @@ -13,7 +13,7 @@ dependencies = [ [[package]] name = "anki" -version = "0.1.0" +version = "0.0.0" dependencies = [ "embed-resource", "jemallocator", @@ -31,6 +31,12 @@ version = "1.0.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1" +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + [[package]] name = "base64" version = "0.10.1" @@ -135,26 +141,9 @@ checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394" [[package]] name = "indoc" -version = "0.3.6" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47741a8bc60fb26eb8d6e0238bbb26d8575ff623fdc97b1a2c00c050b9684ed8" -dependencies = [ - "indoc-impl", - "proc-macro-hack", -] - -[[package]] -name = "indoc-impl" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce046d161f000fffde5f432a0d034d0341dc152643b2598ed5bfce44c4f3a8f0" -dependencies = [ - "proc-macro-hack", - "proc-macro2", - "quote", - "syn", - "unindent", -] +checksum = "adab1eaa3408fb7f0c777a73e7465fd5656136fc93b670eb6df3c88c2c1344e3" [[package]] name = "instant" @@ -176,9 +165,9 @@ dependencies = [ [[package]] name = "jemalloc-sys" -version = "0.3.2" +version = "0.5.2+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d3b9f3f5c9b31aa0f5ed3260385ac205db665baa41d49bb8338008ae94ede45" +checksum = "134163979b6eed9564c98637b710b40979939ba351f59952708234ea11b5f3f8" dependencies = [ "cc", "fs_extra", @@ -187,9 +176,9 @@ dependencies = [ [[package]] name = "jemallocator" -version = "0.3.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43ae63fcfc45e99ab3d1b29a46782ad679e98436c3169d15a167a1108a724b69" +checksum = "16c2514137880c52b0b4822b563fadd38257c1f380858addb74a400889696ea6" dependencies = [ "jemalloc-sys", "libc", @@ -248,13 +237,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" [[package]] -name = "memmap" -version = "0.7.0" +name = "memmap2" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6585fd95e7bb50d6cc31e20d4cf9afb4e2ba16c5846fc76793f11218da9c475b" +checksum = "4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc" dependencies = [ "libc", - "winapi", +] + +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", ] [[package]] @@ -308,31 +305,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "paste" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45ca20c77d80be666aef2b45486da86238fabe33e38306bd3118fe4af33fa880" -dependencies = [ - "paste-impl", - "proc-macro-hack", -] - -[[package]] -name = "paste-impl" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d95a7db200b97ef370c8e6de0088252f7e0dfff7d047a28528e47456c0fc98b6" -dependencies = [ - "proc-macro-hack", -] - -[[package]] -name = "proc-macro-hack" -version = "0.5.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" - [[package]] name = "proc-macro2" version = "1.0.30" @@ -344,12 +316,12 @@ dependencies = [ [[package]] name = "pyembed" -version = "0.20.0-pre" -source = "git+https://github.com/ankitects/PyOxidizer.git?rev=eb26dd7cd1290de6503869f3d719eabcec45e139#eb26dd7cd1290de6503869f3d719eabcec45e139" +version = "0.24.0-pre" dependencies = [ "anyhow", "dunce", "jemalloc-sys", + "libc", "libmimalloc-sys", "once_cell", "pyo3", @@ -361,35 +333,48 @@ dependencies = [ [[package]] name = "pyo3" -version = "0.15.1" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7cf01dbf1c05af0a14c7779ed6f3aa9deac9c3419606ac9de537a2d649005720" +checksum = "268be0c73583c183f2b14052337465768c07726936a260f480f0857cb95ba543" dependencies = [ "cfg-if", "indoc", "libc", + "memoffset", "parking_lot", - "paste", "pyo3-build-config", + "pyo3-ffi", "pyo3-macros", "unindent", ] [[package]] name = "pyo3-build-config" -version = "0.15.1" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf9e4d128bfbddc898ad3409900080d8d5095c379632fbbfbb9c8cfb1fb852b" +checksum = "28fcd1e73f06ec85bf3280c48c67e731d8290ad3d730f8be9dc07946923005c8" dependencies = [ "once_cell", + "target-lexicon", +] + +[[package]] +name = "pyo3-ffi" +version = "0.17.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f6cb136e222e49115b3c51c32792886defbfb0adead26a688142b346a0b9ffc" +dependencies = [ + "libc", + "pyo3-build-config", ] [[package]] name = "pyo3-macros" -version = "0.15.1" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67701eb32b1f9a9722b4bc54b548ff9d7ebfded011c12daece7b9063be1fd755" +checksum = "94144a1266e236b1c932682136dc35a9dee8d3589728f68130c7c3861ef96b28" dependencies = [ + "proc-macro2", "pyo3-macros-backend", "quote", "syn", @@ -397,36 +382,33 @@ dependencies = [ [[package]] name = "pyo3-macros-backend" -version = "0.15.1" +version = "0.17.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f44f09e825ee49a105f2c7b23ebee50886a9aee0746f4dd5a704138a64b0218a" +checksum = "c8df9be978a2d2f0cdebabb03206ed73b11314701a5bfe71b0d753b81997777f" dependencies = [ "proc-macro2", - "pyo3-build-config", "quote", "syn", ] [[package]] name = "python-oxidized-importer" -version = "0.5.0-pre" -source = "git+https://github.com/ankitects/PyOxidizer.git?rev=eb26dd7cd1290de6503869f3d719eabcec45e139#eb26dd7cd1290de6503869f3d719eabcec45e139" +version = "0.9.0-pre" dependencies = [ "anyhow", - "memmap", + "memmap2", "memory-module-sys", "once_cell", "pyo3", "python-packaging", "python-packed-resources", - "tugger-file-manifest", + "simple-file-manifest", "winapi", ] [[package]] name = "python-packaging" -version = "0.12.0-pre" -source = "git+https://github.com/ankitects/PyOxidizer.git?rev=eb26dd7cd1290de6503869f3d719eabcec45e139#eb26dd7cd1290de6503869f3d719eabcec45e139" +version = "0.16.0-pre" dependencies = [ "anyhow", "byteorder", @@ -436,16 +418,14 @@ dependencies = [ "once_cell", "python-packed-resources", "regex", + "simple-file-manifest", "spdx", - "tugger-file-manifest", - "tugger-licensing", "walkdir", ] [[package]] name = "python-packed-resources" -version = "0.9.0-pre" -source = "git+https://github.com/ankitects/PyOxidizer.git?rev=eb26dd7cd1290de6503869f3d719eabcec45e139#eb26dd7cd1290de6503869f3d719eabcec45e139" +version = "0.12.0-pre" dependencies = [ "anyhow", "byteorder", @@ -507,6 +487,12 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +[[package]] +name = "simple-file-manifest" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dd19be0257552dd56d1bb6946f89f193c6e5b9f13cc9327c4bc84a357507c74" + [[package]] name = "smallvec" version = "1.7.0" @@ -534,9 +520,9 @@ dependencies = [ [[package]] name = "spdx" -version = "0.6.2" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e1bff9c842210e48eb85ce4c24983b34a481af4ba4b6140b41737e432f4030b" +checksum = "a346909b3fd07776f9b96b98d4a58e3666f831c9a672c279b10f795a34c36425" dependencies = [ "smallvec", ] @@ -553,18 +539,10 @@ dependencies = [ ] [[package]] -name = "tugger-file-manifest" -version = "0.7.0-pre" -source = "git+https://github.com/ankitects/PyOxidizer.git?rev=eb26dd7cd1290de6503869f3d719eabcec45e139#eb26dd7cd1290de6503869f3d719eabcec45e139" - -[[package]] -name = "tugger-licensing" -version = "0.6.0-pre" -source = "git+https://github.com/ankitects/PyOxidizer.git?rev=eb26dd7cd1290de6503869f3d719eabcec45e139#eb26dd7cd1290de6503869f3d719eabcec45e139" -dependencies = [ - "anyhow", - "spdx", -] +name = "target-lexicon" +version = "0.12.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9410d0f6853b1d94f0e519fb95df60f29d2c1eff2d921ffdf01a4c8a3b54f12d" [[package]] name = "unicode-xid" diff --git a/qt/bundle/Cargo.toml b/qt/bundle/Cargo.toml index dcc63580f..99c55bfa7 100644 --- a/qt/bundle/Cargo.toml +++ b/qt/bundle/Cargo.toml @@ -1,22 +1,22 @@ [package] name = "anki" -version = "0.1.0" build = "build.rs" +version = "0.0.0" +authors = ["Ankitects Pty Ltd and contributors "] +license = "AGPL-3.0-or-later" +rust-version = "1.64" edition = "2021" +[dependencies] +pyembed = { path = "./PyOxidizer/pyembed", default-features = false } + [target.'cfg(windows)'.dependencies] winapi = { version = "0.3", features = ["wincon"] } libc = "0.2" libc-stdhandle = "=0.1.0" -[dependencies.pyembed] -git = "https://github.com/ankitects/PyOxidizer.git" -# when changing this, pyoxidizer in /repos.bzl needs to be updated as well -rev = "eb26dd7cd1290de6503869f3d719eabcec45e139" -default-features = false - [dependencies.jemallocator] -version = "0.3" +version = "0.5" optional = true [dependencies.mimalloc] diff --git a/qt/bundle/PyOxidizer b/qt/bundle/PyOxidizer new file mode 160000 index 000000000..12a249f68 --- /dev/null +++ b/qt/bundle/PyOxidizer @@ -0,0 +1 @@ +Subproject commit 12a249f686484c5e212ba800e1e7f18c7c4b1b27 diff --git a/qt/bundle/build.py b/qt/bundle/build.py deleted file mode 100644 index 686ce6671..000000000 --- a/qt/bundle/build.py +++ /dev/null @@ -1,385 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - - -from __future__ import annotations - -import glob -import os -import platform -import re -import shutil -import subprocess -import sys -from pathlib import Path - -is_win = sys.platform == "win32" -is_mac = sys.platform == "darwin" - -workspace = Path(sys.argv[1]) -bazel_external = Path(sys.argv[2]) - - -def with_exe_extension(program: str) -> str: - if is_win: - return program + ".exe" - else: - return program - - -output_root = workspace / ".bazel" / "out" / "build" -dist_folder = output_root / ".." / "dist" -venv = output_root / f"venv-{platform.machine()}" -build_folder = output_root / f"build-{platform.machine()}" -cargo_target = output_root / f"target-{platform.machine()}" -artifacts = output_root / "artifacts" -pyo3_config = output_root / "pyo3-build-config-file.txt" -pyoxidizer_folder = bazel_external / "pyoxidizer" -pyoxidizer_binary = cargo_target / "release" / with_exe_extension("pyoxidizer") - -for path in dist_folder.glob("*.zst"): - path.unlink() - -os.environ["PYOXIDIZER_ARTIFACT_DIR"] = str(artifacts) -os.environ["PYOXIDIZER_CONFIG"] = str(Path(os.getcwd()) / "pyoxidizer.bzl") -os.environ["CARGO_TARGET_DIR"] = str(cargo_target) - -# OS-specific things -pyqt5_folder_name = "pyqt515" -pyqt6_folder_path = bazel_external / "pyqt6" / "PyQt6" -extra_linux_deps = bazel_external / "bundle_extras_linux_amd64" -extra_qt5_linux_plugins = extra_linux_deps / "qt5" -extra_qt6_linux_plugins = extra_linux_deps / "qt6" -is_lin = False -arm64_linux = arm64_mac = False -if is_win: - os.environ["TARGET"] = "x86_64-pc-windows-msvc" -elif sys.platform.startswith("darwin"): - if platform.machine() == "arm64": - arm64_mac = True - pyqt5_folder_name = None - os.environ["TARGET"] = "aarch64-apple-darwin" - os.environ["MACOSX_DEPLOYMENT_TARGET"] = "11.0" - else: - pyqt5_folder_name = "pyqt514" - os.environ["TARGET"] = "x86_64-apple-darwin" - os.environ["MACOSX_DEPLOYMENT_TARGET"] = "10.14" -else: - is_lin = True - if platform.machine() == "x86_64": - os.environ["TARGET"] = "x86_64-unknown-linux-gnu" - else: - os.environ["TARGET"] = "aarch64-unknown-linux-gnu" - pyqt5_folder_name = None - pyqt6_folder_path = None - arm64_linux = True - -if is_win: - python_bin_folder = venv / "scripts" - os.environ["PATH"] += rf";{os.getenv('USERPROFILE')}\.cargo\bin" - cargo_features = "build-mode-prebuilt-artifacts" -else: - python_bin_folder = venv / "bin" - # PyOxidizer build depends on a system-installed version of Python, - # as the standalone build does not have its config set up properly, - # leading to "directory not found for option '-L/install/lib'". - # On macOS, after installing a system Python in /usr/local/bin, - # make sure /usr/local/bin/python3 is symlinked to /usr/local/bin/python. - os.environ["PATH"] = ":".join( - ["/usr/local/bin", f"{os.getenv('HOME')}/.cargo/bin", os.getenv("PATH")] - ) - cargo_features = "build-mode-prebuilt-artifacts" - if not is_mac or arm64_mac: - cargo_features += " global-allocator-jemalloc allocator-jemalloc" - -python = python_bin_folder / with_exe_extension("python") -pip = python_bin_folder / with_exe_extension("pip") -artifacts_in_build = ( - build_folder / os.getenv("TARGET") / "release" / "resources" / "extra_files" -) - - -def build_pyoxidizer(): - pyoxidizer_folder_mtime = pyoxidizer_folder.stat().st_mtime - if ( - pyoxidizer_binary.exists() - and pyoxidizer_binary.stat().st_mtime == pyoxidizer_folder_mtime - ): - # avoid recompiling if pyoxidizer folder has not changed - return - subprocess.run( - [ - "cargo", - "build", - "--release", - ], - cwd=pyoxidizer_folder, - check=True, - ) - os.utime(pyoxidizer_binary, (pyoxidizer_folder_mtime, pyoxidizer_folder_mtime)) - - -def install_wheels_into_venv(): - # Pip's handling of hashes is somewhat broken. It spots the hashes in the constraints - # file and forces all files to have a hash. We can manually hash our generated wheels - # and pass them in with hashes, but it still breaks, because the 'protobuf>=3.17' - # specifier in the pylib wheel is not allowed. Nevermind that a specific version is - # included in the constraints file we pass along! To get things working, we're - # forced to strip the hashes out before installing. This should be safe, as the files - # have already been validated as part of the build process. - constraints = output_root / "deps_without_hashes.txt" - with open(workspace / "python" / "requirements.txt") as f: - buf = f.read() - with open(constraints, "w") as f: - extracted = re.findall("^(\S+==\S+) ", buf, flags=re.M) - extracted = [line for line in extracted if "protobuf" not in line] - f.write("\n".join(extracted)) - # install wheels and upgrade any deps - wheels = glob.glob(str(workspace / ".bazel" / "out" / "dist" / "*.whl")) - subprocess.run( - [pip, "install", "--upgrade", "-c", constraints, *wheels], check=True - ) - # always reinstall our wheels - subprocess.run( - [pip, "install", "--force-reinstall", "--no-deps", *wheels], check=True - ) - - -def build_artifacts(): - if os.path.exists(artifacts): - shutil.rmtree(artifacts) - if os.path.exists(artifacts_in_build): - shutil.rmtree(artifacts_in_build) - - subprocess.run( - [ - pyoxidizer_binary, - "--system-rust", - "run-build-script", - "build.rs", - "--var", - "venv", - venv, - "--var", - "build", - build_folder, - ], - check=True, - env=os.environ - | dict( - CARGO_MANIFEST_DIR=".", - OUT_DIR=str(artifacts), - PROFILE="release", - PYO3_PYTHON=str(python), - ), - ) - - existing_config = None - if os.path.exists(pyo3_config): - with open(pyo3_config) as f: - existing_config = f.read() - - with open(artifacts / "pyo3-build-config-file.txt") as f: - new_config = f.read() - - # avoid bumping mtime, which triggers crate recompile - if new_config != existing_config: - with open(pyo3_config, "w") as f: - f.write(new_config) - - -def build_pkg(): - subprocess.run( - [ - "cargo", - "build", - "--release", - "--no-default-features", - "--features", - cargo_features, - ], - check=True, - env=os.environ | dict(PYO3_CONFIG_FILE=str(pyo3_config)), - ) - - -def adj_path_for_windows_rsync(path: Path) -> str: - if not is_win: - return str(path) - - path = path.absolute() - rest = str(path)[2:].replace("\\", "/") - return f"/{path.drive[0]}{rest}" - - -def merge_into_dist(output_folder: Path, pyqt_src_path: Path | None): - if output_folder.exists(): - shutil.rmtree(output_folder) - output_folder.mkdir(parents=True) - # PyQt - if pyqt_src_path and not is_mac: - subprocess.run( - [ - "rsync", - "-a", - "--delete", - "--exclude-from", - "qt.exclude", - adj_path_for_windows_rsync(pyqt_src_path), - adj_path_for_windows_rsync(output_folder / "lib") + "/", - ], - check=True, - ) - if is_lin: - if "PyQt5" in str(pyqt_src_path): - src = extra_qt5_linux_plugins - dest = output_folder / "lib" / "PyQt5" / "Qt5" / "plugins" - else: - src = extra_qt6_linux_plugins - dest = output_folder / "lib" / "PyQt6" / "Qt6" / "plugins" - subprocess.run( - ["rsync", "-a", str(src) + "/", str(dest) + "/"], - check=True, - ) - - # Executable and other resources - resources = [ - adj_path_for_windows_rsync( - cargo_target / "release" / ("anki.exe" if is_win else "anki") - ), - adj_path_for_windows_rsync(artifacts_in_build) + "/", - ] - if is_lin: - resources.append("lin/") - - subprocess.run( - [ - "rsync", - "-a", - "--delete", - "--exclude", - "PyQt6", - "--exclude", - "PyQt5", - *resources, - adj_path_for_windows_rsync(output_folder) + "/", - ], - check=True, - ) - # Ensure all files are world-readable - if not is_win: - subprocess.run(["chmod", "-R", "a+r", output_folder]) - - -def anki_version() -> str: - with open(workspace / "defs.bzl") as fobj: - data = fobj.read() - return re.search('^anki_version = "(.*)"$', data, re.MULTILINE).group(1) - - -def annotated_linux_folder_name(variant: str) -> str: - components = ["anki", anki_version(), "linux", variant] - return "-".join(components) - - -def annotated_mac_dmg_name(variant: str) -> str: - if platform.machine() == "arm64": - arch = "apple" - else: - arch = "intel" - components = ["anki", anki_version(), "mac", arch, variant] - return "-".join(components) - - -def build_bundle(src_path: Path, variant: str) -> None: - if is_lin: - print("--- Build tarball") - build_tarball(src_path, variant) - elif is_mac: - print("--- Build app bundle") - build_app_bundle(src_path, variant) - - -def build_app_bundle(src_path: Path, variant: str) -> None: - if arm64_mac: - variant = "qt6_arm64" - else: - variant = f"{variant}_amd64" - subprocess.run( - ["cargo", "run", variant, src_path, anki_version(), bazel_external], - check=True, - cwd=workspace / "qt" / "bundle" / "mac", - ) - variant_path = src_path.parent / "app" / variant - if os.getenv("NOTARIZE_USER"): - subprocess.run( - ["python", "mac/notarize.py", "upload", variant_path], - check=True, - ) - # note down the dmg name for later - open(variant_path / "dmg_name", "w").write( - annotated_mac_dmg_name(variant[0:3]) + ".dmg" - ) - - -def build_tarball(src_path: Path, variant: str) -> None: - if not is_lin: - return - dest_path = src_path.with_name(annotated_linux_folder_name(variant)) - if dest_path.exists(): - shutil.rmtree(dest_path) - os.rename(src_path, dest_path) - print("compress", dest_path.name, "...") - subprocess.run( - [ - "tar", - "-I", - "zstd -c --long -T0 -18", - "-cf", - dist_folder / (dest_path.name + ".tar.zst"), - dest_path.name, - ], - check=True, - cwd=dest_path.parent, - ) - - -def build_windows_installers() -> None: - subprocess.run( - [ - "cargo", - "run", - output_root, - bazel_external, - Path(__file__).parent, - anki_version(), - ], - check=True, - cwd=workspace / "qt" / "bundle" / "win", - ) - - -print("--- Build PyOxidizer") -build_pyoxidizer() -print("--- Install wheels into venv") -install_wheels_into_venv() -print("--- Build PyOxidizer artifacts") -build_artifacts() -print("--- Build Anki binary") -build_pkg() -print("--- Copy binary+resources into folder (Qt6)") -merge_into_dist(output_root / "std", pyqt6_folder_path) -build_bundle(output_root / "std", "qt6") -if pyqt5_folder_name: - print("--- Copy binary+resources into folder (Qt5)") - merge_into_dist(output_root / "alt", bazel_external / pyqt5_folder_name / "PyQt5") - build_bundle(output_root / "alt", "qt5") - -if is_win: - build_windows_installers() - -if is_mac: - print("outputs are in .bazel/out/build/app") - print("dmg can be created with mac/finalize.py dmg") -else: - print("outputs are in .bazel/out/dist/") diff --git a/qt/bundle/build.rs b/qt/bundle/build.rs index 000dbd61a..4b0318dbf 100644 --- a/qt/bundle/build.rs +++ b/qt/bundle/build.rs @@ -3,10 +3,9 @@ // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at https://mozilla.org/MPL/2.0/. -use { - embed_resource, - std::path::{Path, PathBuf}, -}; +use std::path::{Path, PathBuf}; + +use embed_resource; const DEFAULT_PYTHON_CONFIG_FILENAME: &str = "default_python_config.rs"; const DEFAULT_PYTHON_CONFIG: &str = "\ @@ -15,23 +14,6 @@ pub fn default_python_config<'a>() -> pyembed::OxidizedPythonInterpreterConfig<' } "; -/// Build with PyOxidizer artifacts in a directory. -fn build_with_artifacts_in_dir(path: &Path) { - println!("using pre-built artifacts from {}", path.display()); - let config_path = path.join(DEFAULT_PYTHON_CONFIG_FILENAME); - if !config_path.exists() { - panic!( - "{} does not exist; is {} a valid artifacts directory?", - config_path.display(), - path.display() - ); - } - println!( - "cargo:rustc-env=DEFAULT_PYTHON_CONFIG_RS={}", - config_path.display() - ); -} - /// Build by calling a `pyoxidizer` executable to generate build artifacts. fn build_with_pyoxidizer_exe(exe: Option, resolve_target: Option<&str>) { let pyoxidizer_exe = if let Some(path) = exe { @@ -83,18 +65,22 @@ fn main() { target.as_ref().map(|target| target.as_ref()), ); } else if std::env::var("CARGO_FEATURE_BUILD_MODE_PREBUILT_ARTIFACTS").is_ok() { - let artifact_dir_env = std::env::var("PYOXIDIZER_ARTIFACT_DIR"); + // relative to src/ + let artifacts = Path::new("../../../out/bundle/artifacts/"); + let config_rs = artifacts.join("default_python_config.rs"); + println!( + "cargo:rustc-env=DEFAULT_PYTHON_CONFIG_RS={}", + config_rs.display() + ); + let config_txt = artifacts.join("pyo3-build-config-file.txt"); + println!("cargo:rustc-env=PYO3_CONFIG_FILE={}", config_txt.display()); - let artifact_dir_path = match artifact_dir_env { - Ok(ref v) => PathBuf::from(v), - Err(_) => { - let out_dir = std::env::var("OUT_DIR").unwrap(); - PathBuf::from(&out_dir) - } + let link_arg = if cfg!(target_os = "macos") { + "-rdynamic" + } else { + "-Wl,-export-dynamic" }; - - println!("cargo:rerun-if-env-changed=PYOXIDIZER_ARTIFACT_DIR"); - build_with_artifacts_in_dir(&artifact_dir_path); + println!("cargo:rustc-link-arg={link_arg}"); } else { panic!("build-mode-* feature not set"); } diff --git a/qt/bundle/mac/Cargo.lock b/qt/bundle/mac/Cargo.lock deleted file mode 100644 index 3d9f6e9c6..000000000 --- a/qt/bundle/mac/Cargo.lock +++ /dev/null @@ -1,204 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "anyhow" -version = "1.0.53" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0" - -[[package]] -name = "apple-bundles" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48681b45ff6789616b243c0758d6d97639951f937ccc0ea635363505d72cdec3" -dependencies = [ - "anyhow", - "plist", - "tugger-file-manifest", - "walkdir", -] - -[[package]] -name = "autocfg" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" - -[[package]] -name = "base64" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" - -[[package]] -name = "glob" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" - -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" - -[[package]] -name = "indexmap" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" -dependencies = [ - "autocfg", - "hashbrown", -] - -[[package]] -name = "itoa" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.114" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0005d08a8f7b65fb8073cb697aa0b12b631ed251ce73d862ce50eeb52ce3b50" - -[[package]] -name = "line-wrap" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f30344350a2a51da54c1d53be93fade8a237e545dbcc4bdbe635413f2117cab9" -dependencies = [ - "safemem", -] - -[[package]] -name = "makeapp" -version = "0.1.0" -dependencies = [ - "anyhow", - "apple-bundles", - "glob", - "lazy_static", - "plist", - "tugger-file-manifest", - "walkdir", -] - -[[package]] -name = "num_threads" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97ba99ba6393e2c3734791401b66902d981cb03bf190af674ca69949b6d5fb15" -dependencies = [ - "libc", -] - -[[package]] -name = "plist" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd39bc6cdc9355ad1dc5eeedefee696bb35c34caf21768741e81826c0bbd7225" -dependencies = [ - "base64", - "indexmap", - "line-wrap", - "serde", - "time", - "xml-rs", -] - -[[package]] -name = "safemem" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "serde" -version = "1.0.130" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" - -[[package]] -name = "time" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "004cbc98f30fa233c61a38bc77e96a9106e65c88f2d3bef182ae952027e5753d" -dependencies = [ - "itoa", - "libc", - "num_threads", -] - -[[package]] -name = "tugger-file-manifest" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29e91ac69050080a0a9fd50af05da5baa8562347ca7b8909f8ed3adbc6ef026f" - -[[package]] -name = "walkdir" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" -dependencies = [ - "same-file", - "winapi", - "winapi-util", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "xml-rs" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3" diff --git a/qt/bundle/mac/Cargo.toml b/qt/bundle/mac/Cargo.toml index 674cc9999..b95b83eb8 100644 --- a/qt/bundle/mac/Cargo.toml +++ b/qt/bundle/mac/Cargo.toml @@ -1,15 +1,22 @@ [package] name = "makeapp" -version = "0.1.0" -authors = ["Ankitects Pty Ltd and contributors"] -edition = "2021" -license = "AGPL-3.0-or-later" + +version.workspace = true +authors.workspace = true +license.workspace = true +edition.workspace = true +rust-version.workspace = true [dependencies] anyhow = "1.0.53" apple-bundles = "0.6.0" +camino = "1.1.1" +clap = { version = "4.0.26", features = ["derive"] } glob = "0.3.0" lazy_static = "1.4.0" plist = "1.3.1" +serde = { version = "1.0.147", features = ["derive"] } +serde_json = "1.0.88" tugger-file-manifest = "0.6.0" walkdir = "2.3.2" +workspace-hack = { version = "0.1", path = "../../../tools/workspace-hack" } diff --git a/qt/bundle/mac/dmg/build.sh b/qt/bundle/mac/dmg/build.sh index 184c527e2..6efb510a7 100755 --- a/qt/bundle/mac/dmg/build.sh +++ b/qt/bundle/mac/dmg/build.sh @@ -39,4 +39,4 @@ fi # convert it to a read-only image rm -rf $dmg_path hdiutil convert /tmp/Anki-rw.dmg -ov -format ULFO -o $dmg_path -rm -rf /tmp/Anki-rw.dmg $dist +rm -rf /tmp/Anki-rw.dmg diff --git a/qt/bundle/mac/dmg/set-dmg-settings.scpt b/qt/bundle/mac/dmg/set-dmg-settings.scpt index ac8d1c2f524592910bd7eaa3a4240011e67de591..75573ed81c16c207f8d0175a2b85133d7f147084 100644 GIT binary patch literal 4156 zcmb_fcYIV;7XIFQS%e#I$OMq6fTLmyF##7=jIM}uHHHPT;Hpe{iH}TX#+k`P78S4| zww3N$u`3qrb#>Q{imS3#bWyQj?-g~A-@R`j@%Pi+{bMJ&-@E0!)9$(Fo;NO*Pfi^* zB|5Zj=n&H?0F?C-fddzw!wxk2PAlilugpamSAK(Tn&73l#-IEfTcEqc2YRwM3VTK4 zvAmy*X428ZF@AJZGH7p$j%gepjkgD>WHg`11=&I^M}=rUXv?O8=77|(Xgny?kv%HV z9nQ_@5kU_W5k(v^5PEFwL7HHhu`gdL`SNGX z28GN9VQ2Y5$rognFBoRqli7~)xyFtmvt4QZPS{x!oc(FauBgW@E+x3^)@Xv2!M=Rv z$!A#WqK0dOQL71dtpeB$wck_!`__42W%1iMy?-Q*)r zK63lJ^07HAJ2O}u>cHO+`A|O47!q1hkKN^cCGQ*m#?whhJ_H>3z-;m7=EZ&?Sp{O_(gND|y|-b1aujvuTVDnN7x_@|u#@ zjMbcXF55R$%U{92fKweeysxc?tO1c9>OXBe5m2!FIXO@hmC5<>p6Kv{gMXRip zm*pi#)|x$j*}zL?GY?{G!X!^j2 zm?i(j;flaBkcrRG3@|IT1AoG_3ho2ld_)9CFj0;wxwDRr%_8e!61Djwj?@He&|ECV zQ8-!?tU+@zAJbh-Cs_<}O|Y!z;uKlq$r@+1%k6NHkY_co4!d>==E*ajJYx)c));hj zr$I?D3X-8g3$R3_gZ$8-`B)(TK(iujGN?J^d^XNSO9gkI1|1XOl~zrIXokI( z64b50NHG^4&%%+^Dgd1kgnPOS%j79pEl)b~l-bVJ2A(u~I)kkhDNW$+J1~?_@U}}k zeDLmS<8{!t;HOg2L?&H`1!+GQ?FiDzOb1`&-J3S*WFiz?Lj`;)lVV;^SVam{Dj2snIIF za-1Wpj7A;2eFj*K3YknQ9?MaQd=O9hMk#ZjaRZG*jx!3)j9@0uZ>K^=Y=%~w;>0+^ zC}hftIOj}h5~|hA)s!*9C4tKTo}~$!9rPHE#|e%+X4E;J_t~~qoqQoyXwUz;LMIr7 zPK@A0X2?#3@)T)8rk&#cXQgIQso5q6&+b&}QOw0jjy!6Vnrn(NKb?%4fC=4kl97IL z1Sj+SncXl|St(9jrVkgV;8abZk**ECN9197$dN}(gg$KGArq#jvYjRmYMd69Ma!^U z9+1Cdo{|Sx7B#1nx#sq4(v(Fab4)%2lR?xW32U=?@Z@heUG7(Wl&PHGGE(F8@K{}d z3*|l~_jM^Iy2<^NDG!?CTNxh9GIW=}V!k5qSSABjFZ09qyRnEpqXK6bJI{>ZOje_% zJi}@)B%u{Js~664?&)qd`@cftsL@Qgj;#U>V~4p6PFW+5>aWOIwPNKf69#i}`oXuU zaXia@t}d3%{tESfnU3iVPwYB){3a^l59kryG%h`Rj?U!#DSoaPB>X&mNE zVYcN_E9H7t*@|ByjiroKg`GmC^(CJ5U0K$5;n*8aJ&a9`{Al0@6OH9;XUn}BXNPf1 z-Q^y+Tkdk?9z%4ufxAo$-D^?;^Fpsmcqo%QaSr~Ba~*c*g>y)7hup5@j!l(4x1qDL zKNmIpmCNm2uImcEzD1?n##`c6xdjWcNN!dfmc9&r;eCw-VX0+4Ko+}LOm&pp8d${Bd6uli8FHiCAlJ)vvO=zvYvgLVO0JYEpWSGIZ7_! zqA3`aT->D+RC1AdiM5}iSz*PdGBQ z!!~xdf0x+-rCHJpY)k>OJ#8d>!Px)7#WLXp)63ci1x;F onGR1D_IgIi0y?s_IoCFEOf;%wF&B;Z5#y&j&$QmSZru$(0d2SO3jhEB literal 1276 zcmb_cNpI9h6#g7HbW=%sV+(t@AkhjjToCG82IvzgNKwvAwcE4|PP=7y97W=gpTJ=* zbL4>LG(!9xmP`_|udD+EW*%P|qT~W6s^#+YtM7ept*+^~F*-ETe`)a2Mf2nVWC|kk zKP+@vB7j91d48f$L>FxN4>mFuUno+tf6=H(?0$ehf|jQj&7)AB-|qg$R8khT8EF}7d4ZVp`?VZEROKQ`3XWtPgy z-irJ&9Zmko*>BgFCYP%Dt%es3vU)#){#0)`_5!|rtA2NUuNFO5!^j))qQrN-nDL!= zsw0ze#~Z8O@aqxdtnLL=cY|`w033lr4L(|Ez(a&VXten&us2!UqQ=JKFSE1DjDxTonCKN-n^A7VkMqdEdV-!3dMFLi;XU|D-tSCIBXoCXteBQu$va~_ z(P}7pi(I$oCKJBfN|d~zzMXgzN?udy)Dtqjq7-)$->QzjqIb9X=%V# zx(uencSy&~?-{G_a(vu?6ujXgQ|WBcZ+}TX;L%JO4=b~CP8okz?)JbQuFMaVaeAS$ zI8YnDQ&~#)W$r7hYwH_HWpki5YA{;^*MCQG_%@1V9M&jRG|EJ29Hew81!;3|#34lE xXnNMCaV$s(IIeNR(KwlEPwi+=Yn=J6HL>&$rxA^g7NBD{;$K None: - for variant in variants: - variant_base = apps / variant - if variant_base.exists(): - if os.getenv("NOTARIZE_USER"): - subprocess.run( - [ - "python", - Path(__file__).with_name("notarize.py"), - "staple", - variant_base, - ], - check=True, - ) - else: - print("skip missing", variant_base) - - -def build_dmgs() -> None: - for variant in variants: - variant_base = apps / variant - if variant_base.exists(): - dmg_name_path = variant_base / "dmg_name" - dmg_name = open(dmg_name_path).read() - dmg_name_path.unlink() - subprocess.run( - [ - "bash", - Path(__file__).with_name("dmg") / "build.sh", - variant_base, - dist_folder / dmg_name, - ], - check=True, - ) - else: - print("skip missing", variant_base) - - -if sys.argv[1] == "staple": - staple_apps() -elif sys.argv[1] == "dmg": - build_dmgs() diff --git a/qt/bundle/mac/notarize.py b/qt/bundle/mac/notarize.py deleted file mode 100644 index acc6d8aae..000000000 --- a/qt/bundle/mac/notarize.py +++ /dev/null @@ -1,148 +0,0 @@ -#!/usr/bin/env python -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import os -import re -import subprocess -import sys -import time -from pathlib import Path - -USERNAME = os.getenv("NOTARIZE_USER") -PASSWORD = os.getenv("NOTARIZE_PASSWORD") -BUNDLE_ID = "net.ankiweb.dtop" - - -def upload(base_dir: Path, uuid_path: Path) -> None: - print("--- Prepare notarization zip") - - app_dir = base_dir / "Anki.app" - zip_path = app_dir.with_suffix(".zip") - - subprocess.run(["ditto", "-c", "-k", "--keepParent", app_dir, zip_path]) - - print("--- Upload for notarization") - - try: - output = subprocess.check_output( - [ - "xcrun", - "altool", - "--notarize-app", - "--primary-bundle-id", - BUNDLE_ID, - "--username", - USERNAME, - "--password", - PASSWORD, - "--file", - zip_path, - ], - stderr=subprocess.STDOUT, - encoding="utf8", - ) - except subprocess.CalledProcessError as e: - print("error uploading:", e.output) - sys.exit(1) - - uuid = None - for line in output.splitlines(): - m = re.search(r"RequestUUID = (.*)", line) - if m: - uuid = m.group(1) - - if not uuid: - print("no uuid found - upload output:") - print(output) - sys.exit(1) - - open(uuid_path, "w").write(uuid) - zip_path.unlink() - - -def _extract_status(output): - for line in output.splitlines(): - m = re.search(r"Status: (.*)", line) - if m: - return m.group(1) - - return None - - -def wait_for_success(uuid, wait=True): - while True: - print("checking status...", end="", flush=True) - - try: - output = subprocess.check_output( - [ - "xcrun", - "altool", - "--notarization-info", - uuid, - "--username", - USERNAME, - "--password", - PASSWORD, - ], - stderr=subprocess.STDOUT, - encoding="utf8", - ) - except subprocess.CalledProcessError as e: - print("error checking status:") - print(e.output) - sys.exit(1) - - status = _extract_status(output) - if status is None: - print("could not extract status:") - print(output) - sys.exit(1) - - if status == "invalid": - print("notarization failed:") - print(output) - sys.exit(1) - - if status == "success": - print("success!") - print(output) - return - - print(status) - if not wait: - return - time.sleep(30) - - -def staple(app_path): - try: - subprocess.check_call( - [ - "xcrun", - "stapler", - "staple", - app_path, - ] - ) - except subprocess.CalledProcessError as e: - print("error stapling:") - print(e.output) - sys.exit(1) - - -cmd = sys.argv[1] -base_dir = Path(sys.argv[2]) -uuid_path = base_dir / "uuid" - -if cmd == "upload": - upload(base_dir, uuid_path) -elif cmd == "status": - uuid = open(uuid_path).read() - wait_for_success(uuid, False) -elif cmd == "staple": - uuid = open(uuid_path).read() - wait_for_success(uuid) - staple(base_dir / "Anki.app") - uuid_path.unlink() diff --git a/qt/bundle/mac/src/codesign.rs b/qt/bundle/mac/src/codesign.rs new file mode 100644 index 000000000..4f3c21319 --- /dev/null +++ b/qt/bundle/mac/src/codesign.rs @@ -0,0 +1,40 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{env, process::Command}; + +use anyhow::{bail, Result}; +use camino::{Utf8Path, Utf8PathBuf}; + +const CODESIGN_ARGS: &[&str] = &["-vvvv", "-o", "runtime", "-s", "Developer ID Application:"]; + +pub fn codesign_python_libs(bundle_dir: &Utf8PathBuf) -> Result<()> { + for entry in glob::glob(bundle_dir.join("Contents/MacOS/lib/**/*.so").as_str())? { + let entry = entry?; + let entry = Utf8PathBuf::from_path_buf(entry).unwrap(); + codesign_file(&entry, &[])?; + } + codesign_file(&bundle_dir.join("Contents/MacOS/libankihelper.dylib"), &[]) +} + +pub fn codesign_app(bundle_dir: &Utf8PathBuf) -> Result<()> { + codesign_file( + bundle_dir, + &["--entitlements", "qt/bundle/mac/entitlements.python.xml"], + ) +} + +fn codesign_file(path: &Utf8Path, extra_args: &[&str]) -> Result<()> { + if env::var("ANKI_CODESIGN").is_ok() { + let status = Command::new("codesign") + .args(CODESIGN_ARGS) + .args(extra_args) + .arg(path.as_str()) + .status()?; + if !status.success() { + bail!("codesign failed"); + } + } + + Ok(()) +} diff --git a/qt/bundle/mac/src/dmg.rs b/qt/bundle/mac/src/dmg.rs new file mode 100644 index 000000000..7c15054d0 --- /dev/null +++ b/qt/bundle/mac/src/dmg.rs @@ -0,0 +1,48 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{fs, process::Command}; + +use anyhow::{Context, Result}; +use camino::{Utf8Path, Utf8PathBuf}; +use clap::Args; + +use crate::notarize::wait_then_staple_app; + +#[derive(Args)] +pub struct BuildDmgsArgs { + qt6_dmg: Utf8PathBuf, + qt5_dmg: Option, +} + +pub fn make_dmgs(args: BuildDmgsArgs) -> Result<()> { + let root = Utf8Path::new("out/bundle/app"); + let mut variants = vec![("std", args.qt6_dmg)]; + if let Some(alt) = args.qt5_dmg { + variants.push(("alt", alt)); + } + + for (variant, dmg) in variants { + let app = root.join(variant).join("Anki.app"); + if std::env::var("ANKI_CODESIGN").is_ok() { + let uuid = fs::read_to_string(app.with_extension("uuid")).context("read uuid")?; + wait_then_staple_app(&app, uuid)?; + } + + make_dmg(&app, &dmg)?; + } + + Ok(()) +} + +fn make_dmg(app_folder: &Utf8Path, dmg: &Utf8Path) -> Result<()> { + assert!( + Command::new("qt/bundle/mac/dmg/build.sh") + .args([app_folder.parent().unwrap().as_str(), dmg.as_str()]) + .status() + .context("dmg")? + .success(), + "dmg" + ); + Ok(()) +} diff --git a/qt/bundle/mac/src/main.rs b/qt/bundle/mac/src/main.rs index 1ba2ca116..cbd16d9c5 100644 --- a/qt/bundle/mac/src/main.rs +++ b/qt/bundle/mac/src/main.rs @@ -1,107 +1,122 @@ // Copyright: Ankitects Pty Ltd and contributors // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html +#![cfg(unix)] + //! Munge the output of PyOxidizer into a macOS app bundle, and combine it //! with our other runtime dependencies. -use std::{ - os::unix::prelude::PermissionsExt, - path::{Path, PathBuf}, - process::Command, - str::FromStr, -}; +mod codesign; +mod dmg; +mod notarize; -use anyhow::{bail, Context, Result}; +use std::{env, fs, os::unix::prelude::PermissionsExt, process::Command}; + +use anyhow::{bail, Result}; use apple_bundles::MacOsApplicationBundleBuilder; +use camino::{Utf8Path, Utf8PathBuf}; +use clap::{Parser, Subcommand, ValueEnum}; +use codesign::{codesign_app, codesign_python_libs}; +use dmg::{make_dmgs, BuildDmgsArgs}; +use notarize::notarize_app; use plist::Value; use tugger_file_manifest::FileEntry; use walkdir::WalkDir; -const CODESIGN_ARGS: &[&str] = &["-vvvv", "-o", "runtime", "-s", "Developer ID Application:"]; - -#[derive(Clone, Copy, Debug)] -enum Variant { - StandardX86, - StandardArm, - AlternateX86, +#[derive(Clone, ValueEnum)] +enum DistKind { + Standard, + Alternate, } -impl FromStr for Variant { - type Err = anyhow::Error; - - fn from_str(s: &str) -> Result { - Ok(match s { - "qt6_arm64" => Variant::StandardArm, - "qt6_amd64" => Variant::StandardX86, - "qt5_amd64" => Variant::AlternateX86, - other => bail!("unexpected variant: {other}"), - }) - } -} - -impl Variant { - fn output_base(&self) -> &str { +impl DistKind { + fn folder_name(&self) -> &'static str { match self { - Variant::StandardX86 => "qt6_amd64", - Variant::StandardArm => "qt6_arm64", - Variant::AlternateX86 => "qt5_amd64", + DistKind::Standard => "std", + DistKind::Alternate => "alt", } } + fn input_folder(&self) -> Utf8PathBuf { + Utf8Path::new("out/bundle").join(self.folder_name()) + } + + fn output_folder(&self) -> Utf8PathBuf { + Utf8Path::new("out/bundle/app") + .join(self.folder_name()) + .join("Anki.app") + } + fn macos_min(&self) -> &str { match self { - Variant::StandardX86 => "10.14.4", - Variant::StandardArm => "11", - Variant::AlternateX86 => "10.13.4", + DistKind::Standard => { + if cfg!(target_arch = "aarch64") && env::var("MAC_X86").is_err() { + "11" + } else { + "10.14.4" + } + } + DistKind::Alternate => "10.13.14", } } - fn qt_repo(&self) -> &str { - match self { - Variant::StandardX86 => "pyqt6.4_mac_bundle_amd64", - Variant::StandardArm => "pyqt6.4_mac_bundle_arm64", - Variant::AlternateX86 => "pyqt5.14_mac_bundle_amd64", - } + fn qt_repo(&self) -> &Utf8Path { + Utf8Path::new(match self { + DistKind::Standard => { + if cfg!(target_arch = "aarch64") && env::var("MAC_X86").is_err() { + "out/extracted/mac_arm_qt6" + } else { + "out/extracted/mac_amd_qt6" + } + } + DistKind::Alternate => "out/extracted/mac_amd_qt5", + }) } +} - fn audio_repo(&self) -> &str { - match self { - Variant::StandardX86 | Variant::AlternateX86 => "audio_mac_amd64", - Variant::StandardArm => "audio_mac_arm64", - } - } +#[derive(Parser)] +struct Cli { + #[command(subcommand)] + command: Commands, +} + +#[derive(Subcommand)] +enum Commands { + BuildApp { + version: String, + kind: DistKind, + stamp: Utf8PathBuf, + }, + BuildDmgs(BuildDmgsArgs), } fn main() -> anyhow::Result<()> { - let args: Vec<_> = std::env::args().collect(); - let variant: Variant = args.get(1).context("variant")?.parse()?; - let bundle_folder = PathBuf::from(args.get(2).context("bundle folder")?); - let anki_version = args.get(3).context("anki version")?; - let bazel_external = PathBuf::from(args.get(4).context("bazel external folder")?); - - let plist = get_plist(anki_version); - make_app(variant, &bundle_folder, plist, &bazel_external) + match Cli::parse().command { + Commands::BuildApp { + version, + kind, + stamp, + } => { + let plist = get_plist(&version); + make_app(kind, plist, &stamp) + } + Commands::BuildDmgs(args) => make_dmgs(args), + } } -fn make_app( - variant: Variant, - input_folder: &Path, - mut plist: plist::Dictionary, - bazel_external: &Path, -) -> Result<()> { - let output_folder = input_folder - .with_file_name("app") - .join(variant.output_base()) - .join("Anki.app"); - if output_folder.exists() { - std::fs::remove_dir_all(&output_folder)?; +fn make_app(kind: DistKind, mut plist: plist::Dictionary, stamp: &Utf8Path) -> Result<()> { + let input_folder = kind.input_folder(); + let output_folder = kind.output_folder(); + let output_variant = output_folder.parent().unwrap(); + if output_variant.exists() { + fs::remove_dir_all(output_variant)?; } - std::fs::create_dir_all(&output_folder)?; + fs::create_dir_all(&output_folder)?; let mut builder = MacOsApplicationBundleBuilder::new("Anki")?; plist.insert( "LSMinimumSystemVersion".into(), - Value::from(variant.macos_min()), + Value::from(kind.macos_min()), ); builder.set_info_plist_from_dictionary(plist)?; builder.add_file_resources("Assets.car", &include_bytes!("../icon/Assets.car")[..])?; @@ -127,27 +142,22 @@ fn make_app( } } - let dry_run = false; - if dry_run { - for file in builder.files().iter_files() { - println!("{}", file.path_string()); - } - } else { - builder.files().materialize_files(&output_folder)?; - fix_rpath(output_folder.join("Contents/MacOS/anki"))?; - codesign_python_libs(&output_folder)?; - copy_in_audio(&output_folder, variant, bazel_external)?; - copy_in_qt(&output_folder, variant, bazel_external)?; - codesign_app(&output_folder)?; - fixup_perms(&output_folder)?; - } + builder.files().materialize_files(&output_folder)?; + fix_rpath(output_folder.join("Contents/MacOS/anki"))?; + codesign_python_libs(&output_folder)?; + copy_in_audio(&output_folder)?; + copy_in_qt(&output_folder, kind)?; + codesign_app(&output_folder)?; + fixup_perms(&output_folder)?; + notarize_app(&output_folder)?; + fs::write(stamp, b"")?; Ok(()) } /// The bundle builder writes some files without world read/execute perms, /// which prevents them from being opened by a non-admin user. -fn fixup_perms(dir: &Path) -> Result<()> { +fn fixup_perms(dir: &Utf8Path) -> Result<()> { let status = Command::new("find") .arg(dir) .args(["-not", "-perm", "-a=r", "-exec", "chmod", "a+r", "{}", ";"]) @@ -155,7 +165,7 @@ fn fixup_perms(dir: &Path) -> Result<()> { if !status.success() { bail!("error setting perms"); } - std::fs::set_permissions( + fs::set_permissions( dir.join("Contents/MacOS/anki"), PermissionsExt::from_mode(0o755), )?; @@ -163,12 +173,10 @@ fn fixup_perms(dir: &Path) -> Result<()> { } /// Copy everything at the provided path into the Contents/ folder of our app. -/// Excludes standard Bazel repo files. -fn extend_app_contents(source: &Path, bundle_dir: &Path) -> Result<()> { +fn extend_app_contents(source: &Utf8Path, bundle_dir: &Utf8Path) -> Result<()> { let status = Command::new("rsync") .arg("-a") - .args(["--exclude", "BUILD.bazel", "--exclude", "WORKSPACE"]) - .arg(format!("{}/", source.to_string_lossy())) + .arg(format!("{}/", source.as_str())) .arg(bundle_dir.join("Contents/")) .status()?; if !status.success() { @@ -177,53 +185,29 @@ fn extend_app_contents(source: &Path, bundle_dir: &Path) -> Result<()> { Ok(()) } -fn copy_in_audio(bundle_dir: &Path, variant: Variant, bazel_external: &Path) -> Result<()> { +fn copy_in_audio(bundle_dir: &Utf8Path) -> Result<()> { println!("Copying in audio..."); - extend_app_contents(&bazel_external.join(variant.audio_repo()), bundle_dir) + + let src_folder = Utf8Path::new( + if cfg!(target_arch = "aarch64") && env::var("MAC_X86").is_err() { + "out/extracted/mac_arm_audio" + } else { + "out/extracted/mac_amd_audio" + }, + ); + extend_app_contents(src_folder, bundle_dir) } -fn copy_in_qt(bundle_dir: &Path, variant: Variant, bazel_external: &Path) -> Result<()> { +fn copy_in_qt(bundle_dir: &Utf8Path, kind: DistKind) -> Result<()> { println!("Copying in Qt..."); - extend_app_contents(&bazel_external.join(variant.qt_repo()), bundle_dir) + extend_app_contents(kind.qt_repo(), bundle_dir) } -fn codesign_file(path: &Path, extra_args: &[&str]) -> Result<()> { - if option_env!("ANKI_CODESIGN").is_some() { - let status = Command::new("codesign") - .args(CODESIGN_ARGS) - .args(extra_args) - .arg(path.to_str().unwrap()) - .status()?; - if !status.success() { - bail!("codesign failed"); - } - } - - Ok(()) -} - -fn codesign_python_libs(bundle_dir: &PathBuf) -> Result<()> { - for entry in glob::glob( - bundle_dir - .join("Contents/MacOS/lib/**/*.so") - .to_str() - .unwrap(), - )? { - let entry = entry?; - codesign_file(&entry, &[])?; - } - codesign_file(&bundle_dir.join("Contents/MacOS/libankihelper.dylib"), &[]) -} - -fn codesign_app(bundle_dir: &PathBuf) -> Result<()> { - codesign_file(bundle_dir, &["--entitlements", "entitlements.python.xml"]) -} - -fn fix_rpath(exe_path: PathBuf) -> Result<()> { +fn fix_rpath(exe_path: Utf8PathBuf) -> Result<()> { let status = Command::new("install_name_tool") .arg("-add_rpath") .arg("@executable_path/../Frameworks") - .arg(exe_path.to_str().unwrap()) + .arg(exe_path.as_str()) .status()?; assert!(status.success()); Ok(()) diff --git a/qt/bundle/mac/src/notarize.rs b/qt/bundle/mac/src/notarize.rs new file mode 100644 index 000000000..7b3066efd --- /dev/null +++ b/qt/bundle/mac/src/notarize.rs @@ -0,0 +1,96 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +use std::{env, fs, process::Command}; + +use anyhow::{bail, Context, Result}; +use camino::Utf8Path; +use serde::Deserialize; + +#[derive(Deserialize)] +struct NotarySubmitOutput { + id: String, +} + +pub fn notarize_app(output_folder: &Utf8Path) -> Result<()> { + if env::var("ANKI_CODESIGN").is_err() { + return Ok(()); + } + let zip_file = output_folder.with_extension("zip"); + assert!( + Command::new("ditto") + .args([ + "-c", + "-k", + "--keepParent", + output_folder.as_str(), + zip_file.as_str(), + ]) + .status() + .unwrap() + .success(), + "zip build" + ); + let output = Command::new("xcrun") + .args([ + "notarytool", + "submit", + zip_file.as_str(), + "-f", + "json", + "-p", + "default", + ]) + .output() + .expect("notarytool"); + if !output.status.success() { + panic!( + "notarytool submit failed: {} {}", + String::from_utf8_lossy(&output.stderr), + String::from_utf8_lossy(&output.stdout) + ) + } + let output: NotarySubmitOutput = match serde_json::from_slice(&output.stdout) { + Ok(out) => out, + Err(err) => panic!( + "unable to parse notary output: {err} {} {}", + String::from_utf8_lossy(&output.stdout), + String::from_utf8_lossy(&output.stderr) + ), + }; + let uuid_path = output_folder.with_extension("uuid"); + fs::write(&uuid_path, output.id).expect("write uuid"); + Ok(()) +} + +#[derive(Deserialize)] +struct NotaryWaitOutput { + status: String, +} + +pub fn wait_then_staple_app(app: &Utf8Path, uuid: String) -> Result<()> { + let output = Command::new("xcrun") + .args(["notarytool", "wait", &uuid, "-p", "default", "-f", "json"]) + .output() + .context("notary wait")?; + let output: NotaryWaitOutput = serde_json::from_slice(&output.stdout) + .with_context(|| String::from_utf8_lossy(&output.stderr).to_string())?; + if output.status != "Accepted" { + bail!("unexpected status: {}", output.status); + } + + assert!( + Command::new("xcrun") + .args(["stapler", "staple", app.as_str()]) + .status() + .context("staple")? + .success(), + "staple" + ); + + // clean up temporary files + fs::remove_file(app.with_extension("zip")).context("app.zip")?; + fs::remove_file(app.with_extension("uuid")).context("app.uuid")?; + + Ok(()) +} diff --git a/qt/bundle/pyoxidizer.bzl b/qt/bundle/pyoxidizer.bzl index e157c19f4..0fba834b1 100644 --- a/qt/bundle/pyoxidizer.bzl +++ b/qt/bundle/pyoxidizer.bzl @@ -1,3 +1,5 @@ +# type: ignore + set_build_path(VARS.get("build")) excluded_source_prefixes = [ @@ -11,6 +13,9 @@ excluded_source_prefixes = [ "win32com", "win32", "pythonwin", + "PyQt6", + "pip", + "setuptools", ] excluded_resource_suffixes = [ @@ -22,11 +27,13 @@ excluded_resource_suffixes = [ included_resource_packages = [ "anki", "aqt", + "_aqt", "lib2to3", "certifi", "jsonschema", ] + def handle_resource(policy, resource): if type(resource) == "PythonModuleSource": resource.add_include = True @@ -39,10 +46,10 @@ def handle_resource(policy, resource): elif type(resource) == "PythonExtensionModule": resource.add_include = True - if resource.name.startswith("win32"): + if resource.name.startswith("win32") or resource.name.startswith("PyQt6"): resource.add_include = False - #print("ext", resource.name, resource.add_include) + # print("ext", resource.name, resource.add_include) elif type(resource) == "PythonPackageResource": for prefix in included_resource_packages: @@ -53,7 +60,7 @@ def handle_resource(policy, resource): resource.add_include = False # aqt web resources can be stored in binary - if resource.package == "aqt": + if resource.package.endswith("aqt"): if not resource.name.startswith("data/web"): resource.add_location = "filesystem-relative:lib" @@ -61,7 +68,7 @@ def handle_resource(policy, resource): # print("rsrc", resource.package, resource.name, resource.add_include) elif type(resource) == "PythonPackageDistributionResource": - #print("dist", resource.package, resource.name, resource.add_include) + # print("dist", resource.package, resource.name, resource.add_include) pass # elif type(resource) == "File": @@ -69,16 +76,17 @@ def handle_resource(policy, resource): elif type(resource) == "File": if ( - resource.path.startswith("win32") or - resource.path.startswith("pythonwin") or - resource.path.startswith("pywin32") + resource.path.startswith("win32") + or resource.path.startswith("pythonwin") + or resource.path.startswith("pywin32") ): exclude = ( - "tests" in resource.path or - "benchmark" in resource.path or - "__pycache__" in resource.path + "tests" in resource.path + or "benchmark" in resource.path + or "__pycache__" in resource.path ) if not exclude: + # print("add", resource.path) resource.add_include = True resource.add_location = "filesystem-relative:lib" @@ -88,21 +96,9 @@ def handle_resource(policy, resource): else: print("unexpected type", type(resource)) + def make_exe(): - if BUILD_TARGET_TRIPLE == "aarch64-unknown-linux-gnu": - dist = PythonDistribution( - url = "https://github.com/ankitects/python-build-standalone/releases/download/anki-2021-10-15/cpython-3.9.7-aarch64-unknown-linux-gnu-pgo-20211013T1538.tar.zst", - sha256 = "d25de2da9dc1b988350570c0ade9a79587cafeaad9ba1965fcec12c4ecaa9d98", - ) - - elif BUILD_TARGET_TRIPLE == "x86_64-unknown-linux-gnu": - dist = PythonDistribution( - url = "https://github.com/ankitects/python-build-standalone/releases/download/anki-2022-02-18/cpython-3.9.10-x86_64-unknown-linux-gnu-pgo-20220218T1329.tar.zst", - sha256 = "83167967d09ada10554c0a1ed8228bcfac1117669880d2979578017565537400", - ) - - else: - dist = default_python_distribution() + dist = default_python_distribution(python_version="3.9") policy = dist.make_python_packaging_policy() @@ -138,9 +134,9 @@ def make_exe(): python_config.run_command = "import aqt; aqt.run()" exe = dist.to_python_executable( - name = "anki", - packaging_policy = policy, - config = python_config, + name="anki", + packaging_policy=policy, + config=python_config, ) exe.windows_runtime_dlls_mode = "always" @@ -148,22 +144,25 @@ def make_exe(): # set in main.rs exe.windows_subsystem = "console" - venv_path = "venv" - resources = exe.read_virtualenv(VARS.get("venv")) exe.add_python_resources(resources) return exe + def make_embedded_resources(exe): return exe.to_embedded_resources() + def make_install(exe): files = FileManifest() files.add_python_resource(".", exe) return files + register_target("exe", make_exe) -register_target("resources", make_embedded_resources, depends = ["exe"], default_build_script = True) -register_target("install", make_install, depends = ["exe"], default = True) +register_target( + "resources", make_embedded_resources, depends=["exe"], default_build_script=True +) +register_target("install", make_install, depends=["exe"], default=True) resolve_targets() diff --git a/qt/bundle/win/Cargo.lock b/qt/bundle/win/Cargo.lock deleted file mode 100644 index 138492420..000000000 --- a/qt/bundle/win/Cargo.lock +++ /dev/null @@ -1,1497 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "anyhow" -version = "1.0.53" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0" - -[[package]] -name = "atty" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" -dependencies = [ - "hermit-abi", - "libc", - "winapi", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "base64" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array", -] - -[[package]] -name = "block-modes" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cb03d1bed155d89dce0f845b7899b18a9a163e148fd004e1c28421a783e2d8e" -dependencies = [ - "block-padding", - "cipher", -] - -[[package]] -name = "block-padding" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" - -[[package]] -name = "bumpalo" -version = "3.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899" - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - -[[package]] -name = "bytes" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" - -[[package]] -name = "bzip2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0" -dependencies = [ - "bzip2-sys", - "libc", -] - -[[package]] -name = "bzip2-sys" -version = "0.1.11+1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" -dependencies = [ - "cc", - "libc", - "pkg-config", -] - -[[package]] -name = "cc" -version = "1.0.72" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" -dependencies = [ - "libc", - "num-integer", - "num-traits", - "time", - "winapi", -] - -[[package]] -name = "cipher" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" -dependencies = [ - "generic-array", -] - -[[package]] -name = "cpufeatures" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" -dependencies = [ - "libc", -] - -[[package]] -name = "crc32fast" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "crypto-mac" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "des" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac41dd49fb554432020d52c875fc290e110113f864c6b1b525cd62c7e7747a5d" -dependencies = [ - "byteorder", - "cipher", - "opaque-debug", -] - -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - -[[package]] -name = "dirs-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" -dependencies = [ - "cfg-if", - "dirs-sys-next", -] - -[[package]] -name = "dirs-sys-next" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" -dependencies = [ - "libc", - "redox_users", - "winapi", -] - -[[package]] -name = "duct" -version = "0.13.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc6a0a59ed0888e0041cf708e66357b7ae1a82f1c67247e1f93b5e0818f7d8d" -dependencies = [ - "libc", - "once_cell", - "os_pipe", - "shared_child", -] - -[[package]] -name = "encoding_rs" -version = "0.8.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dc8abb250ffdda33912550faa54c88ec8b998dec0b2c55ab224921ce11df" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "fastrand" -version = "1.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" -dependencies = [ - "instant", -] - -[[package]] -name = "find-winsdk" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8cbf17b871570c1f8612b763bac3e86290602bcf5dc3c5ce657e0e1e9071d9e" -dependencies = [ - "serde", - "serde_derive", - "winreg 0.5.1", -] - -[[package]] -name = "flate2" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f" -dependencies = [ - "cfg-if", - "crc32fast", - "libc", - "miniz_oxide", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "form_urlencoded" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" -dependencies = [ - "matches", - "percent-encoding", -] - -[[package]] -name = "fs2" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9564fc758e15025b46aa6643b1b77d047d1a56a1aea6e01002ac0c7026876213" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "futures-channel" -version = "0.3.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010" -dependencies = [ - "futures-core", -] - -[[package]] -name = "futures-core" -version = "0.3.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3" - -[[package]] -name = "futures-io" -version = "0.3.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b" - -[[package]] -name = "futures-sink" -version = "0.3.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868" - -[[package]] -name = "futures-task" -version = "0.3.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a" - -[[package]] -name = "futures-util" -version = "0.3.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a" -dependencies = [ - "futures-core", - "futures-io", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.14.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418d37c8b1d42553c93648be529cb70f920d3baf8ef469b74b9638df426e0b4c" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "glob" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" - -[[package]] -name = "h2" -version = "0.3.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f1f717ddc7b2ba36df7e871fd88db79326551d3d6f1fc406fbfd28b582ff8e" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "hashbrown" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" - -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hmac" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" -dependencies = [ - "crypto-mac", - "digest", -] - -[[package]] -name = "http" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03" -dependencies = [ - "bytes", - "fnv", - "itoa 1.0.1", -] - -[[package]] -name = "http-body" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6" -dependencies = [ - "bytes", - "http", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9100414882e15fb7feccb4897e5f0ff0ff1ca7d1a86a23208ada4d7a18e6c6c4" - -[[package]] -name = "httpdate" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" - -[[package]] -name = "hyper" -version = "0.14.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7ec3e62bdc98a2f0393a5048e4c30ef659440ea6e0e572965103e72bd836f55" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa 0.4.8", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper-rustls" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac" -dependencies = [ - "http", - "hyper", - "rustls", - "tokio", - "tokio-rustls", -] - -[[package]] -name = "idna" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" -dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "indexmap" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282a6247722caba404c065016bbfa522806e51714c34f5dfc3e4a3a46fcb4223" -dependencies = [ - "autocfg", - "hashbrown", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "ipnet" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9" - -[[package]] -name = "itoa" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" - -[[package]] -name = "itoa" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" - -[[package]] -name = "js-sys" -version = "0.3.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a38fc24e30fd564ce974c02bf1d337caddff65be6cc4735a1f7eab22a7440f04" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.117" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e74d72e0f9b65b5b4ca49a346af3976df0f9c61d550727f349ecd559f251a26c" - -[[package]] -name = "log" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "makeinstall" -version = "0.1.0" -dependencies = [ - "anyhow", - "glob", - "slog", - "slog-term", - "tugger-windows-codesign", - "walkdir", -] - -[[package]] -name = "matches" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" - -[[package]] -name = "memchr" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" - -[[package]] -name = "mime" -version = "0.3.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" - -[[package]] -name = "miniz_oxide" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" -dependencies = [ - "adler", - "autocfg", -] - -[[package]] -name = "mio" -version = "0.7.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" -dependencies = [ - "libc", - "log", - "miow", - "ntapi", - "winapi", -] - -[[package]] -name = "miow" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" -dependencies = [ - "winapi", -] - -[[package]] -name = "ntapi" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44" -dependencies = [ - "winapi", -] - -[[package]] -name = "num-integer" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "once_cell" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5" - -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - -[[package]] -name = "os_pipe" -version = "0.9.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb233f06c2307e1f5ce2ecad9f8121cffbbee2c95428f44ea85222e460d0d213" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "p12" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10105b08ad3c4cd872ddf396860544f9dbc1800fed7d552f10aa5b585ac79e1d" -dependencies = [ - "block-modes", - "des", - "getrandom", - "hmac", - "lazy_static", - "rc2", - "sha-1", - "yasna", -] - -[[package]] -name = "pem" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9a3b09a20e374558580a4914d3b7d89bd61b954a5a5e1dcbea98753addb1947" -dependencies = [ - "base64", -] - -[[package]] -name = "percent-encoding" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" - -[[package]] -name = "pin-project-lite" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58893f751c9b0412871a09abd62ecd2a00298c6c83befa223ef98c52aef40cbe" - -[[package]] -name = "proc-macro2" -version = "1.0.36" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" -dependencies = [ - "unicode-xid", -] - -[[package]] -name = "quote" -version = "1.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rc2" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48f197c283075d1345c20d5ad172526a7837882cdc998b1fcd2b2f3cfff1cb94" -dependencies = [ - "cipher", - "opaque-debug", -] - -[[package]] -name = "rcgen" -version = "0.8.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5911d1403f4143c9d56a702069d593e8d0f3fab880a85e103604d0893ea31ba7" -dependencies = [ - "chrono", - "pem", - "ring", - "yasna", -] - -[[package]] -name = "redox_syscall" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" -dependencies = [ - "bitflags", -] - -[[package]] -name = "redox_users" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" -dependencies = [ - "getrandom", - "redox_syscall", -] - -[[package]] -name = "remove_dir_all" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] - -[[package]] -name = "reqwest" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f242f1488a539a79bac6dbe7c8609ae43b7914b7736210f239a37cccb32525" -dependencies = [ - "base64", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-rustls", - "ipnet", - "js-sys", - "lazy_static", - "log", - "mime", - "percent-encoding", - "pin-project-lite", - "rustls", - "rustls-pemfile", - "serde", - "serde_json", - "serde_urlencoded", - "tokio", - "tokio-rustls", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "webpki-roots", - "winreg 0.7.0", -] - -[[package]] -name = "ring" -version = "0.16.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc" -dependencies = [ - "cc", - "libc", - "once_cell", - "spin", - "untrusted", - "web-sys", - "winapi", -] - -[[package]] -name = "rustls" -version = "0.20.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d37e5e2290f3e040b594b1a9e04377c2c671f1a1cfd9bfdef82106ac1c113f84" -dependencies = [ - "log", - "ring", - "sct", - "webpki", -] - -[[package]] -name = "rustls-pemfile" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eebeaeb360c87bfb72e84abdb3447159c0eaececf1bef2aecd65a8be949d1c9" -dependencies = [ - "base64", -] - -[[package]] -name = "rustversion" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" - -[[package]] -name = "ryu" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" - -[[package]] -name = "same-file" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" -dependencies = [ - "winapi-util", -] - -[[package]] -name = "sct" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d53dcdb7c9f8158937a7981b48accfd39a43af418591a5d008c7b22b5e1b7ca4" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "semver" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0486718e92ec9a68fbed73bb5ef687d71103b142595b406835649bebd33f72c7" - -[[package]] -name = "serde" -version = "1.0.136" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" - -[[package]] -name = "serde_derive" -version = "1.0.136" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.78" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d23c1ba4cf0efd44be32017709280b32d1cea5c3f1275c3b6d9e8bc54f758085" -dependencies = [ - "itoa 1.0.1", - "ryu", - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa 1.0.1", - "ryu", - "serde", -] - -[[package]] -name = "sha-1" -version = "0.9.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" -dependencies = [ - "block-buffer", - "cfg-if", - "cpufeatures", - "digest", - "opaque-debug", -] - -[[package]] -name = "sha2" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" -dependencies = [ - "block-buffer", - "cfg-if", - "cpufeatures", - "digest", - "opaque-debug", -] - -[[package]] -name = "shared_child" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6be9f7d5565b1483af3e72975e2dee33879b3b86bd48c0929fccf6585d79e65a" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "slab" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5" - -[[package]] -name = "slog" -version = "2.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8347046d4ebd943127157b94d63abb990fcf729dc4e9978927fdf4ac3c998d06" - -[[package]] -name = "slog-term" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95c1e7e5aab61ced6006149ea772770b84a0d16ce0f7885def313e4829946d76" -dependencies = [ - "atty", - "chrono", - "slog", - "term", - "thread_local", -] - -[[package]] -name = "socket2" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - -[[package]] -name = "subtle" -version = "2.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" - -[[package]] -name = "syn" -version = "1.0.86" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - -[[package]] -name = "tempfile" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" -dependencies = [ - "cfg-if", - "fastrand", - "libc", - "redox_syscall", - "remove_dir_all", - "winapi", -] - -[[package]] -name = "term" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59df8ac95d96ff9bede18eb7300b0fda5e5d8d90960e76f8e14ae765eedbf1f" -dependencies = [ - "dirs-next", - "rustversion", - "winapi", -] - -[[package]] -name = "thiserror" -version = "1.0.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thread_local" -version = "1.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" -dependencies = [ - "once_cell", -] - -[[package]] -name = "time" -version = "0.1.43" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "tinyvec" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" - -[[package]] -name = "tokio" -version = "1.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c27a64b625de6d309e8c57716ba93021dccf1b3b5c97edd6d3dd2d2135afc0a" -dependencies = [ - "bytes", - "libc", - "memchr", - "mio", - "num_cpus", - "pin-project-lite", - "winapi", -] - -[[package]] -name = "tokio-rustls" -version = "0.23.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a27d5f2b839802bd8267fa19b0530f5a08b9c08cd417976be2a65d130fe1c11b" -dependencies = [ - "rustls", - "tokio", - "webpki", -] - -[[package]] -name = "tokio-util" -version = "0.6.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "log", - "pin-project-lite", - "tokio", -] - -[[package]] -name = "tower-service" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" - -[[package]] -name = "tracing" -version = "0.1.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d8d93354fe2a8e50d5953f5ae2e47a3fc2ef03292e7ea46e3cc38f549525fb9" -dependencies = [ - "cfg-if", - "pin-project-lite", - "tracing-core", -] - -[[package]] -name = "tracing-core" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03cfcb51380632a72d3111cb8d3447a8d908e577d31beeac006f836383d29a23" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "try-lock" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" - -[[package]] -name = "tugger-common" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3a7438a6e6ed337853dfeb03e3eb463c25d60141186b65363a1dfa3ed8fa6bab" -dependencies = [ - "anyhow", - "fs2", - "glob", - "hex", - "once_cell", - "reqwest", - "sha2", - "slog", - "tempfile", - "url", - "zip", -] - -[[package]] -name = "tugger-windows" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "862f31d91b88b479a2671584a9772f81ec3d21b8314adc4fdf17619b12f8750c" -dependencies = [ - "anyhow", - "duct", - "find-winsdk", - "glob", - "once_cell", - "semver", - "tugger-common", - "winapi", -] - -[[package]] -name = "tugger-windows-codesign" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99fe75b7e13b3ba9d95001be2f5a0b5bd1246d38492f5658fd5e90c1006eed00" -dependencies = [ - "anyhow", - "chrono", - "duct", - "p12", - "rcgen", - "slog", - "tugger-common", - "tugger-windows", - "yasna", -] - -[[package]] -name = "typenum" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" - -[[package]] -name = "unicode-bidi" -version = "0.3.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" - -[[package]] -name = "unicode-normalization" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-xid" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" - -[[package]] -name = "untrusted" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" - -[[package]] -name = "url" -version = "2.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" -dependencies = [ - "form_urlencoded", - "idna", - "matches", - "percent-encoding", -] - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "walkdir" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" -dependencies = [ - "same-file", - "winapi", - "winapi-util", -] - -[[package]] -name = "want" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -dependencies = [ - "log", - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.10.2+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" - -[[package]] -name = "wasm-bindgen" -version = "0.2.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25f1af7423d8588a3d840681122e72e6a24ddbcb3f0ec385cac0d12d24256c06" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b21c0df030f5a177f3cba22e9bc4322695ec43e7257d865302900290bcdedca" -dependencies = [ - "bumpalo", - "lazy_static", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2eb6ec270a31b1d3c7e266b999739109abce8b6c87e4b31fcfcd788b65267395" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f4203d69e40a52ee523b2529a773d5ffc1dc0071801c87b3d270b471b80ed01" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa8a30d46208db204854cadbb5d4baf5fcf8071ba5bf48190c3e59937962ebc" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d958d035c4438e28c70e4321a2911302f10135ce78a9c7834c0cab4123d06a2" - -[[package]] -name = "web-sys" -version = "0.3.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c060b319f29dd25724f09a2ba1418f142f539b2be99fbf4d2d5a8f7330afb8eb" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "webpki" -version = "0.22.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" -dependencies = [ - "ring", - "untrusted", -] - -[[package]] -name = "webpki-roots" -version = "0.22.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "552ceb903e957524388c4d3475725ff2c8b7960922063af6ce53c9a43da07449" -dependencies = [ - "webpki", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-util" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" -dependencies = [ - "winapi", -] - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "winreg" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a27a759395c1195c4cc5cda607ef6f8f6498f64e78f7900f5de0a127a424704a" -dependencies = [ - "serde", - "winapi", -] - -[[package]] -name = "winreg" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" -dependencies = [ - "winapi", -] - -[[package]] -name = "yasna" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e262a29d0e61ccf2b6190d7050d4b237535fc76ce4c1210d9caa316f71dffa75" -dependencies = [ - "chrono", -] - -[[package]] -name = "zip" -version = "0.5.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815" -dependencies = [ - "byteorder", - "bzip2", - "crc32fast", - "flate2", - "thiserror", - "time", -] diff --git a/qt/bundle/win/Cargo.toml b/qt/bundle/win/Cargo.toml index e0f7227b2..87da47027 100644 --- a/qt/bundle/win/Cargo.toml +++ b/qt/bundle/win/Cargo.toml @@ -1,14 +1,19 @@ [package] name = "makeinstall" -version = "0.1.0" -authors = ["Ankitects Pty Ltd and contributors"] -edition = "2021" -license = "AGPL-3.0-or-later" + +version.workspace = true +authors.workspace = true +license.workspace = true +edition.workspace = true +rust-version.workspace = true [dependencies] anyhow = "1.0.53" +camino = "1.1.1" +clap = { version = "4.0.26", features = ["derive"] } glob = "0.3.0" slog = "2.7.0" slog-term = "2.8.0" tugger-windows-codesign = "0.6.0" walkdir = "2.3.2" +workspace-hack = { version = "0.1", path = "../../../tools/workspace-hack" } diff --git a/qt/bundle/win/anki.template.nsi b/qt/bundle/win/anki.template.nsi index 54f6f9e17..8e4417364 100644 --- a/qt/bundle/win/anki.template.nsi +++ b/qt/bundle/win/anki.template.nsi @@ -17,8 +17,8 @@ Name "Anki" Unicode true -; The file to write -OutFile "anki-setup.exe" +; The file to write (make relative to repo root instead of out/bundle) +OutFile "..\..\@@INSTALLER@@" ; The default installation directory InstallDir "$PROGRAMFILES64\Anki" @@ -141,7 +141,7 @@ Section "" ; Add files to installer !ifndef WRITE_UNINSTALLER - File /r @@SRC@@\*.* + File /r ..\..\@@SRC@@\*.* !endif !insertmacro APP_ASSOCIATE "apkg" "anki.apkg" \ diff --git a/qt/bundle/win/rustfmt.toml b/qt/bundle/win/rustfmt.toml deleted file mode 100644 index 3c812a2b9..000000000 --- a/qt/bundle/win/rustfmt.toml +++ /dev/null @@ -1,4 +0,0 @@ -# this is not supported on stable Rust, and is ignored by the Bazel rules; it is only -# useful for manual invocation with 'cargo +nightly fmt' -imports_granularity = "Crate" -group_imports = "StdExternalCrate" diff --git a/qt/bundle/win/src/main.rs b/qt/bundle/win/src/main.rs index 0a866be56..1d507cbdc 100644 --- a/qt/bundle/win/src/main.rs +++ b/qt/bundle/win/src/main.rs @@ -1,104 +1,101 @@ // Copyright: Ankitects Pty Ltd and contributors // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -use std::{ - fs, - io::prelude::*, - path::{Component, Path, PathBuf, Prefix}, - process::Command, -}; +use std::{fs, io::prelude::*, path::Path, process::Command}; use anyhow::{bail, Context, Result}; +use camino::{Utf8Path, Utf8PathBuf}; +use clap::Parser; use slog::*; use tugger_windows_codesign::{CodeSigningCertificate, SigntoolSign, SystemStore, TimestampServer}; use walkdir::WalkDir; +#[derive(Parser)] +struct Args { + version: String, + bundle_root: Utf8PathBuf, + qt6_setup_path: Utf8PathBuf, + qt5_setup_path: Utf8PathBuf, +} + fn main() -> anyhow::Result<()> { let plain = slog_term::PlainSyncDecorator::new(std::io::stdout()); let logger = Logger::root(slog_term::FullFormat::new(plain).build().fuse(), o!()); - let args: Vec<_> = std::env::args().collect(); - let build_folder = PathBuf::from(args.get(1).context("build folder")?); - let bazel_external = PathBuf::from(args.get(2).context("bazel external")?); - // bundle/build.py folder - let build_py_folder = PathBuf::from(args.get(3).context("build_py_folder")?); - let version = args.get(4).context("version")?; + let args = Args::parse(); - let std_folder = build_folder.join("std"); - let alt_folder = build_folder.join("alt"); - let folders = &[&std_folder, &alt_folder]; + let src_win_folder = Utf8Path::new("qt/bundle/win"); + let std_dist_folder = args.bundle_root.join("std"); + let alt_dist_folder = args.bundle_root.join("alt"); + // folder->installer + let dists = [ + (&std_dist_folder, &args.qt6_setup_path), + (&alt_dist_folder, &args.qt5_setup_path), + ]; - for folder in folders { + for (folder, _) in dists { fs::copy( - build_py_folder.join("win").join("anki-console.bat"), + src_win_folder.join("anki-console.bat"), folder.join("anki-console.bat"), ) .context("anki-console")?; } - println!("--- Copy in audio"); - copy_in_audio(&std_folder, &bazel_external)?; - copy_in_audio(&alt_folder, &bazel_external)?; - println!("--- Build uninstaller"); - build_installer(&std_folder, &build_folder, version, true).context("uninstaller")?; + build_installer( + &args.bundle_root, + &std_dist_folder, + &args.qt6_setup_path, + &args.version, + true, + ) + .context("uninstaller")?; // sign the anki.exe and uninstaller.exe in std, then copy into alt println!("--- Sign binaries"); codesign( &logger, - &[ - &std_folder.join("anki.exe"), - &std_folder.join("uninstall.exe"), + [ + &std_dist_folder.join("anki.exe"), + &std_dist_folder.join("uninstall.exe"), ], )?; for fname in &["anki.exe", "uninstall.exe"] { - fs::copy(std_folder.join(fname), alt_folder.join(fname)) + fs::copy(std_dist_folder.join(fname), alt_dist_folder.join(fname)) .with_context(|| format!("copy {fname}"))?; } println!("--- Build manifest"); - for folder in folders { + for (folder, _) in dists { build_manifest(folder).context("manifest")?; } - let mut installer_paths = vec![]; - for (folder, variant) in folders.iter().zip(&["qt6", "qt5"]) { - println!( - "--- Build installer for {}", - folder.file_name().unwrap().to_str().unwrap() - ); - build_installer(folder, &build_folder, version, false)?; - let installer_filename = format!("anki-{version}-windows-{variant}.exe"); - let installer_path = build_folder - .join("..") - .join("dist") - .join(installer_filename); - - fs::rename(build_folder.join("anki-setup.exe"), &installer_path) - .context("rename installer")?; - installer_paths.push(installer_path); + for (folder, installer) in dists { + println!("--- Build {}", installer); + build_installer(&args.bundle_root, folder, installer, &args.version, false)?; } println!("--- Sign installers"); - codesign(&logger, &installer_paths)?; + codesign(&logger, dists.iter().map(|tup| tup.1))?; Ok(()) } fn build_installer( - variant_folder: &Path, - build_folder: &Path, + bundle_root: &Utf8Path, + dist_folder: &Utf8Path, + installer: &Utf8Path, version: &str, uninstaller: bool, ) -> Result<()> { let rendered_nsi = include_str!("../anki.template.nsi") - .replace("@@SRC@@", variant_folder.to_str().unwrap()) + .replace("@@SRC@@", dist_folder.as_str()) + .replace("@@INSTALLER@@", installer.as_str()) .replace("@@VERSION@@", version); - let rendered_nsi_path = build_folder.join("anki.nsi"); + let rendered_nsi_path = bundle_root.join("anki.nsi"); fs::write(&rendered_nsi_path, rendered_nsi).context("anki.nsi")?; fs::write( - build_folder.join("fileassoc.nsh"), + bundle_root.join("fileassoc.nsh"), include_str!("../fileassoc.nsh"), )?; let mut cmd = Command::new("c:/program files (x86)/nsis/makensis.exe"); @@ -106,7 +103,7 @@ fn build_installer( if uninstaller { cmd.arg("-DWRITE_UNINSTALLER"); }; - if option_env!("NO_COMPRESS").is_some() { + if option_env!("RELEASE").is_none() { cmd.arg("-DNO_COMPRESS"); } cmd.arg(rendered_nsi_path); @@ -117,54 +114,13 @@ fn build_installer( Ok(()) } -/// Copy everything at the provided path into the bundle dir. -/// Excludes standard Bazel repo files. -fn extend_app_contents(source: &Path, bundle_dir: &Path) -> Result<()> { - let status = Command::new("rsync") - .arg("-a") - .args(["--exclude", "BUILD.bazel", "--exclude", "WORKSPACE"]) - .arg(format!("{}/", path_for_rsync(source, true)?)) - .arg(format!("{}/", path_for_rsync(bundle_dir, true)?)) - .status()?; - if !status.success() { - bail!("error syncing {source:?}"); - } - Ok(()) -} - -/// Munge path into a format rsync expects on Windows. -fn path_for_rsync(path: &Path, trailing_slash: bool) -> Result { - let mut components = path.components(); - let mut drive = None; - if let Some(Component::Prefix(prefix)) = components.next() { - if let Prefix::Disk(letter) = prefix.kind() { - drive = Some(char::from(letter)); - } - }; - let drive = drive.context("missing drive letter")?; - let remaining_path: PathBuf = components.collect(); - Ok(format!( - "/{}{}{}", - drive, - remaining_path - .to_str() - .context("remaining_path")? - .replace("\\", "/"), - if trailing_slash { "/" } else { "" } - )) -} - -fn copy_in_audio(bundle_dir: &Path, bazel_external: &Path) -> Result<()> { - extend_app_contents(&bazel_external.join("audio_win_amd64"), bundle_dir) -} - -fn codesign(logger: &Logger, paths: &[impl AsRef]) -> Result<()> { +fn codesign(logger: &Logger, paths: impl IntoIterator>) -> Result<()> { if option_env!("ANKI_CODESIGN").is_none() { return Ok(()); } let cert = CodeSigningCertificate::Sha1Thumbprint( SystemStore::My, - "60abdb9cb52b7dc13550e8838486a00e693770d9".into(), + "dccfc6d312fc0432197bb7be951478e5866eebf8".into(), ); let mut sign = SigntoolSign::new(cert); sign.file_digest_algorithm("sha256") @@ -173,14 +129,13 @@ fn codesign(logger: &Logger, paths: &[impl AsRef]) -> Result<()> { "sha256".into(), )) .verbose(); - paths.iter().for_each(|path| { + paths.into_iter().for_each(|path| { sign.sign_file(path); }); sign.run(logger) } -// FIXME: check uninstall.exe required or not -fn build_manifest(base_path: &Path) -> Result<()> { +fn build_manifest(base_path: &Utf8Path) -> Result<()> { let mut buf = vec![]; for entry in WalkDir::new(base_path) .min_depth(1) @@ -199,24 +154,3 @@ fn build_manifest(base_path: &Path) -> Result<()> { fs::write(base_path.join("anki.install-manifest"), buf)?; Ok(()) } - -#[cfg(test)] -mod test { - #[allow(unused_imports)] - use super::*; - - #[test] - #[cfg(windows)] - fn test_path_for_rsync() -> Result<()> { - assert_eq!( - path_for_rsync(Path::new("c:\\foo\\bar"), false)?, - "/C/foo/bar" - ); - assert_eq!( - path_for_rsync(Path::new("c:\\foo\\bar"), true)?, - "/C/foo/bar/" - ); - - Ok(()) - } -} diff --git a/qt/dmypy.py b/qt/dmypy.py deleted file mode 100755 index d0ac43856..000000000 --- a/qt/dmypy.py +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -""" -Helper to run mypy in daemon mode. See development.md. Windows is not -currently supported. -""" - -import os -import subprocess -import sys -import time -from pathlib import Path - -workspace = Path(os.environ["BUILD_WORKSPACE_DIRECTORY"]) -binroot = workspace / ".bazel/bin" -dmypy_bin = binroot / "external/py_deps_mypy/rules_python_wheel_entry_point_dmypy" - -if sys.platform.startswith("win32"): - binext = ".exe" -else: - binext = "" - -if subprocess.run( - [ - str(dmypy_bin) + binext, - ] - + [ - "run", - "--", - "--config-file", - workspace / "qt/mypy.ini", - "pylib/anki", - "qt/aqt", - "--python-executable", - "python/stubs/extendsitepkgs", - ], - env={ - "MYPYPATH": "../pyqt6", - "EXTRA_SITE_PACKAGES": os.path.abspath(os.getenv("EXTRA_SITE_PACKAGES")), - }, - cwd=workspace / ".bazel/bin/qt/dmypy.runfiles/ankidesktop", -).returncode: - sys.exit(1) diff --git a/qt/mac/BUILD.bazel b/qt/mac/BUILD.bazel deleted file mode 100644 index b28232188..000000000 --- a/qt/mac/BUILD.bazel +++ /dev/null @@ -1,16 +0,0 @@ -py_binary( - name = "helper_build", - srcs = ["helper_build.py"], - tags = ["manual"], -) - -genrule( - name = "helper_dylib", - srcs = glob(["*.swift"]), - outs = ["libankihelper.dylib"], - cmd = "$(location :helper_build) $@ $(COMPILATION_MODE) $(SRCS)", - message = "Compiling Swift dylib", - tags = ["manual"], - tools = [":helper_build"], - visibility = ["//qt:__subpackages__"], -) diff --git a/qt/mac/helper_build.py b/qt/mac/helper_build.py index 86a369d78..b2aa74016 100644 --- a/qt/mac/helper_build.py +++ b/qt/mac/helper_build.py @@ -1,12 +1,12 @@ # Copyright: Ankitects Pty Ltd and contributors # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html +import platform import subprocess import sys -import platform from pathlib import Path -out_dylib, compile_mode, *src_files = sys.argv[1:] +out_dylib, *src_files = sys.argv[1:] out_dir = Path(out_dylib).parent.resolve() src_dir = Path(src_files[0]).parent.resolve() @@ -22,8 +22,7 @@ args = [ "-emit-library", "-module-name", "ankihelper", + "-O", ] -if compile_mode == "opt": - args.append("-O") args.extend(src_dir / Path(file).name for file in src_files) subprocess.run(args, check=True, cwd=out_dir) diff --git a/qt/tests/run_format.py b/qt/tests/run_format.py deleted file mode 100644 index 79590a68b..000000000 --- a/qt/tests/run_format.py +++ /dev/null @@ -1,66 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import os -import subprocess -import sys - -if __name__ == "__main__": - isort_ini = sys.argv[1] - isort_ini = os.path.abspath(isort_ini) - fix = len(sys.argv) > 2 - - if sys.platform == "linux": - import fcntl - - file = open("/tmp/anki-black", "w") - fcntl.lockf(file, fcntl.LOCK_EX) - - if fix: - os.chdir(os.path.join(os.environ["BUILD_WORKSPACE_DIRECTORY"], "qt")) - args = [] - else: - folder = os.path.join(os.path.dirname(__file__), "..") - os.chdir(folder) - args = ["--diff", "--check"] - - # work around issue with latest black - if sys.platform == "win32" and "HOME" in os.environ: - os.environ["USERPROFILE"] = os.environ["HOME"] - - retcode = subprocess.run( - [ - sys.executable, - "-m", - "black", - "-t", - "py39", - "--exclude=aqt/forms|colors|_gen", - "aqt", - "tests", - "tools", - "bundle", - ] - + args, - check=False, - ).returncode - if retcode != 0: - sys.exit(retcode) - - retcode = subprocess.run( - [ - sys.executable, - "-m", - "isort", - "--settings-path", - isort_ini, - "aqt", - "tests", - "tools", - "bundle", - ] - + args, - check=False, - ).returncode - if retcode != 0: - sys.exit(retcode) diff --git a/qt/tests/run_mypy.py b/qt/tests/run_mypy.py deleted file mode 100644 index 5cb0b791a..000000000 --- a/qt/tests/run_mypy.py +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import os -import subprocess -import sys -import tempfile -from pathlib import Path - -if __name__ == "__main__": - (module, ini, pyqt_init, extendsitepkgs) = sys.argv[1:] - ini = os.path.abspath(ini) - pyqt_init = os.path.abspath(pyqt_init) - pyqt_folder = os.path.dirname(pyqt_init) - extendsitepkgs = os.path.abspath(extendsitepkgs) - extra_site = os.path.abspath(os.getenv("EXTRA_SITE_PACKAGES")) - - folder = os.path.join(os.path.dirname(__file__), "..") - os.chdir(folder) - - if sys.platform.startswith("win32"): - mypy_path = ".;..\\pylib;" + pyqt_folder - else: - mypy_path = ".:../pylib:" + pyqt_folder - - os.environ["EXTRA_SITE_PACKAGES"] = extra_site - - args = [ - sys.executable, - "-m", - "mypy", - module, - "--config-file", - ini, - "--cache-dir", - Path(tempfile.gettempdir()) / ".mypy-anki-qt", - "--sqlite-cache", - "--python-executable", - extendsitepkgs, - ] - - if sys.platform.startswith("win32"): - # bazel passes in \\?\c:\... path; mypy can't handle it, so we - # strip off prefix - for entry in sys.path: - if entry.endswith("deps_mypy"): - typeshed = entry[4:] + "\\mypy\\typeshed" - args.append("--custom-typeshed-dir") - args.append(typeshed) - - sys.exit(subprocess.run(args, check=False).returncode) diff --git a/qt/tests/run_pylint.py b/qt/tests/run_pylint.py deleted file mode 100644 index fa9b1ad6e..000000000 --- a/qt/tests/run_pylint.py +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import multiprocessing -import os -import subprocess -import sys - -try: - import PyQt6 -except: - import PyQt5 -from pylint.lint import Run - -if __name__ == "__main__": - (module, ini) = sys.argv[1:] - ini = os.path.abspath(ini) - - Run( - [ - "qt/aqt", - "--rcfile", - ini, - "-j", - str(min(4, multiprocessing.cpu_count())), - "-v", - "--persistent=no", - ] - ) diff --git a/qt/tests/run_pytest.py b/qt/tests/run_pytest.py deleted file mode 100644 index 30cfea8d3..000000000 --- a/qt/tests/run_pytest.py +++ /dev/null @@ -1,19 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import os -import sys - -import pytest - -try: - import bazelfixes - - bazelfixes.fix_pywin32_in_bazel(force=True) -except ImportError: - pass - -if __name__ == "__main__": - print(os.path.dirname(__file__)) - folder = os.path.join(os.path.dirname(__file__), "..", "tests") - sys.exit(pytest.main(["--verbose", "-s", folder])) diff --git a/qt/aqt/data/qt/build_qrc.py b/qt/tools/build_qrc.py similarity index 80% rename from qt/aqt/data/qt/build_qrc.py rename to qt/tools/build_qrc.py index 18afceae5..6ac3dc19b 100644 --- a/qt/aqt/data/qt/build_qrc.py +++ b/qt/tools/build_qrc.py @@ -20,10 +20,6 @@ lines = [] for icon in icons: base = os.path.basename(icon) path = os.path.relpath(icon, start=os.path.dirname(qrc_file)) - if not path.startswith("icons/"): - path = f"../data/qt/icons/{base}" - else: - path = f"../../../bazel-bin/qt/aqt/data/qt/icons/{base}" line = f'{indent}{path}' lines.append(line) diff --git a/qt/aqt/forms/build_ui.py b/qt/tools/build_ui.py similarity index 74% rename from qt/aqt/forms/build_ui.py rename to qt/tools/build_ui.py index 2a371f046..776375598 100644 --- a/qt/aqt/forms/build_ui.py +++ b/qt/tools/build_ui.py @@ -1,20 +1,27 @@ +# Copyright: Ankitects Pty Ltd and contributors +# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +from __future__ import annotations + +import io import re import sys -import io -import os +from pathlib import Path + try: from PyQt6.uic import compileUi except ImportError: # ARM64 Linux builds may not have access to PyQt6, and may have aliased # it to PyQt5. We allow fallback, but the _qt6.py files will not be valid. - from PyQt5.uic import compileUi + from PyQt5.uic import compileUi # type: ignore from dataclasses import dataclass -def compile(ui_file: str) -> str: +def compile(ui_file: str | Path) -> str: buf = io.StringIO() - compileUi(open(ui_file), buf) + with open(ui_file) as f: + compileUi(f, buf) return buf.getvalue() @@ -59,23 +66,24 @@ def with_fixes_for_qt5(code: str) -> str: @dataclass class UiFileAndOutputs: - ui_file: str + ui_file: Path qt5_file: str qt6_file: str def get_files() -> list[UiFileAndOutputs]: - ui_folder = os.path.dirname(sys.argv[1]) - py_folder = os.path.dirname(sys.argv[2]) + "The ui->py map, and output __init__.py path" + ui_folder = Path("qt/aqt/forms") + out_folder = Path(sys.argv[1]).parent out = [] - for file in os.listdir(ui_folder): - if file.endswith(".ui"): - base = os.path.splitext(os.path.basename(file))[0] + for path in ui_folder.iterdir(): + if path.suffix == ".ui": + outpath = str(out_folder / path.name) out.append( UiFileAndOutputs( - ui_file=os.path.join(ui_folder, file), - qt5_file=os.path.join(py_folder, base + "_qt5.py"), - qt6_file=os.path.join(py_folder, base + "_qt6.py"), + ui_file=path, + qt5_file=outpath.replace(".ui", "_qt5.py"), + qt6_file=outpath.replace(".ui", "_qt6.py"), ) ) return out diff --git a/qt/aqt/data/qt/icons/color_svg.py b/qt/tools/color_svg.py similarity index 80% rename from qt/aqt/data/qt/icons/color_svg.py rename to qt/tools/color_svg.py index 8f80fb2b4..bcf9331f8 100644 --- a/qt/aqt/data/qt/icons/color_svg.py +++ b/qt/tools/color_svg.py @@ -5,21 +5,18 @@ import re import sys from pathlib import Path -from qt.aqt import colors +sys.path.append("out/qt") +from _aqt import colors -input_filename = sys.argv[1] -input_name = input_filename.replace(".svg", "") +input_path = Path(sys.argv[1]) +input_name = input_path.stem color_names = sys.argv[2].split(":") # two files created for each additional color offset = len(color_names) * 2 svg_paths = sys.argv[3 : 3 + offset] -# as we've received a group of files, we need to manually join the path -input_folder = Path(sys.argv[4]).parent -input_svg = input_folder / input_filename - -with open(input_svg, "r") as f: +with open(input_path, "r") as f: svg_data = f.read() for color_name in color_names: diff --git a/qt/tools/extract_sass_vars.py b/qt/tools/extract_sass_vars.py index 9a9de37b5..aff1031fb 100644 --- a/qt/tools/extract_sass_vars.py +++ b/qt/tools/extract_sass_vars.py @@ -12,12 +12,14 @@ root_vars_css = sys.argv[1] colors_py = sys.argv[2] props_py = sys.argv[3] -colors = {} -props = {} +colors: dict[str, dict[str, str]] = {} +props: dict[str, dict[str, str]] = {} reached_props = False comment = "" -for line in re.split(r"[;\{\}]|\*\/", open(root_vars_css).read()): +with open(root_vars_css) as f: + data = f.read() +for line in re.split(r"[;\{\}]|\*\/", data): line = line.strip() if not line: @@ -40,6 +42,7 @@ for line in re.split(r"[;\{\}]|\*\/", open(root_vars_css).read()): and "Copyright" not in line and "License" not in line and "color-scheme" not in line + and "sourceMappingURL" not in line ): print("failed to match", line) continue @@ -74,7 +77,7 @@ with open(colors_py, "w") as buf: for color, val in colors.items(): if not "dark" in val: - val["dark"] = val.light + val["dark"] = val["light"] buf.write(re.sub(r"\"\n", '",\n', f"{color} = {json.dumps(val, indent=4)}\n")) @@ -85,6 +88,6 @@ with open(props_py, "w") as buf: for prop, val in props.items(): if not "dark" in val: - val["dark"] = val.light + val["dark"] = val["light"] buf.write(re.sub(r"\"\n", '",\n', f"{prop} = {json.dumps(val, indent=4)}\n")) diff --git a/qt/tools/genhooks_gui.py b/qt/tools/genhooks_gui.py index fe7c00e71..03592c734 100644 --- a/qt/tools/genhooks_gui.py +++ b/qt/tools/genhooks_gui.py @@ -5,9 +5,10 @@ See pylib/tools/genhooks.py for more info. """ -import os import sys +sys.path.append("pylib/tools") + from hookslib import Hook, write_file prefix = """\ diff --git a/repos.bzl b/repos.bzl deleted file mode 100644 index 2099731f4..000000000 --- a/repos.bzl +++ /dev/null @@ -1,245 +0,0 @@ -""" -Dependencies required to build Anki. -""" - -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file") -load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository", "new_git_repository") -load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") - -def register_repos(): - "Register required dependency repos." - - # bazel - ########## - - maybe( - http_archive, - name = "bazel_skylib", - sha256 = "97e70364e9249702246c0e9444bccdc4b847bed1eb03c5a3ece4f83dfe6abc44", - urls = [ - "https://mirror.bazel.build/github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz", - "https://github.com/bazelbuild/bazel-skylib/releases/download/1.0.2/bazel-skylib-1.0.2.tar.gz", - ], - ) - - # rust - ######## - - # native.local_repository( - # name = "rules_rust", - # path = "../rules_rust", - # ) - - maybe( - http_archive, - name = "rules_rust", - strip_prefix = "rules_rust-7ffe0a5556a35f8c11bf9a9ae8bc4020dd44ea13", - urls = [ - "https://github.com/bazelbuild/rules_rust/archive/7ffe0a5556a35f8c11bf9a9ae8bc4020dd44ea13.zip", - ], - sha256 = "9ba9617de8d21fe49366695240d9c6c0a0750559ea7a8565397dcf7fb64f9f9d", - ) - - # maybe( - # http_archive, - # name = "rules_rust", - # strip_prefix = "rules_rust-anki-2021-12-20", - # urls = [ - # "https://github.com/ankitects/rules_rust/archive/refs/tags/anki-2021-12-20.zip", - # ], - # sha256 = "c9300cb1d1eddc5b85d5ced35f4c332b08afc7a439d2b75e696d3282b80677af", - # ) - - # python - ########## - - # native.local_repository( - # name = "rules_python", - # path = "../rules_python", - # ) - - maybe( - http_archive, - name = "rules_python", - sha256 = "a30abdfc7126d497a7698c29c46ea9901c6392d6ed315171a6df5ce433aa4502", - strip_prefix = "rules_python-0.6.0", - url = "https://github.com/bazelbuild/rules_python/archive/0.6.0.tar.gz", - ) - - # javascript - ############## - - # maybe( - # http_archive, - # name = "build_bazel_rules_nodejs", - # urls = [ - # "file:///c:/anki/release.tar.gz", - # "file:///Users/dae/Work/code/dtop/release.tar.gz", - # ], - # ) - - # when updating, remember to update pinned versions in package.json - maybe( - http_archive, - name = "build_bazel_rules_nodejs", - sha256 = "2644a66772938db8d8c760334a252f1687455daa7e188073f2d46283f2f6fbb7", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.6.2/rules_nodejs-4.6.2.tar.gz"], - ) - - maybe( - http_archive, - name = "rules_nodejs", - sha256 = "f596117040134b9497a1049efe7a785924b4ff22557669780a0fa37e22b827bd", - urls = ["https://github.com/bazelbuild/rules_nodejs/releases/download/4.6.2/rules_nodejs-core-4.6.2.tar.gz"], - ) - - # sass - ############ - - # native.local_repository( - # name = "io_bazel_rules_sass", - # path = "../rules_sass", - # ) - - maybe( - http_archive, - name = "io_bazel_rules_sass", - strip_prefix = "rules_sass-d0cda2205a6e9706ded30f7dd7d30c82b1301fbe", - urls = [ - "https://github.com/bazelbuild/rules_sass/archive/d0cda2205a6e9706ded30f7dd7d30c82b1301fbe.zip", - ], - sha256 = "640ad20f878a6656968e35f35343359446db91a773224ddf52ae110f1e48bb20", - ) - - # translations - ################ - - core_i18n_repo = "anki-core-i18n" - core_i18n_commit = "6d2f6c75fbb537d16e3e92bbe3e2d418c77cc2e0" - core_i18n_zip_csum = "7d37b0f43f19a2014b6fdc101901571a659bbd5c95a5a4110a8ba6ed7fb2dab8" - - qtftl_i18n_repo = "anki-desktop-ftl" - qtftl_i18n_commit = "1205e859b91d0bb888739186ab1fe6a0da699f78" - qtftl_i18n_zip_csum = "ce9a9bfc71ff3db83c031b885c5992eb2a00c61c85af5ade293f505b536ccaeb" - - i18n_build_content = """ -filegroup( - name = "files", - srcs = glob(["**/*.ftl"]), - visibility = ["//visibility:public"], -) -exports_files(["l10n.toml"]) -""" - - maybe( - http_archive, - name = "rslib_ftl", - build_file_content = i18n_build_content, - strip_prefix = core_i18n_repo + "-" + core_i18n_commit, - urls = [ - "https://github.com/ankitects/{}/archive/{}.zip".format( - core_i18n_repo, - core_i18n_commit, - ), - ], - sha256 = core_i18n_zip_csum, - ) - - maybe( - http_archive, - name = "extra_ftl", - build_file_content = i18n_build_content, - strip_prefix = qtftl_i18n_repo + "-" + qtftl_i18n_commit, - urls = [ - "https://github.com/ankitects/{}/archive/{}.zip".format( - qtftl_i18n_repo, - qtftl_i18n_commit, - ), - ], - sha256 = qtftl_i18n_zip_csum, - ) - - # binary bundle - ################ - - maybe( - http_archive, - name = "pyoxidizer", - sha256 = "9f7951473d88c7989dc80199146f82020226a3b2425474fd33b6bcbd8fdd1b1c", - urls = [ - # when changing this, the commit hash needs to be updated in qt/bundle/Cargo.toml - "https://github.com/ankitects/PyOxidizer/archive/refs/tags/anki-2021-12-08.tar.gz", - ], - strip_prefix = "PyOxidizer-anki-2021-12-08", - build_file_content = " ", - ) - - maybe( - http_archive, - name = "bundle_extras_linux_amd64", - build_file_content = " ", - urls = [ - "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-02-09/qt-plugins-linux-amd64.tar.gz", - ], - sha256 = "cbfb41fb750ae19b381f8137bd307e1167fdc68420052977f6e1887537a131b0", - ) - - maybe( - http_archive, - name = "audio_win_amd64", - build_file_content = " ", - urls = [ - "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-02-09/audio-win-amd64.tar.gz", - ], - sha256 = "0815a601baba05e03bc36b568cdc2332b1cf4aa17125fc33c69de125f8dd687f", - ) - - maybe( - http_archive, - name = "audio_mac_amd64", - build_file_content = " ", - urls = [ - "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-05-26/audio-mac-amd64.tar.gz", - ], - sha256 = "ecbb3c878805cdd58b1a0b8e3fd8c753b8ce3ad36c8b5904a79111f9db29ff42", - ) - - maybe( - http_archive, - name = "audio_mac_arm64", - build_file_content = " ", - urls = [ - "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-05-26/audio-mac-arm64.tar.gz", - ], - sha256 = "f6c4af9be59ae1c82a16f5c6307f13cbf31b49ad7b69ce1cb6e0e7b403cfdb8f", - ) - - maybe( - http_archive, - name = "pyqt6.4_mac_bundle_amd64", - build_file_content = " ", - urls = [ - "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-10-10/pyqt6.4-mac-amd64.tar.gz", - ], - sha256 = "6da02be0ffbbbdb5db80c1c65d01bdbf0207c04378019fcf6109796adc97916e", - ) - - maybe( - http_archive, - name = "pyqt6.4_mac_bundle_arm64", - build_file_content = " ", - urls = [ - "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-10-10/pyqt6.4-mac-arm64.tar.gz", - ], - sha256 = "96f5b3e64f3eeebbb8c60f85d547bbe21a3e8dfbc1135286fcd37482c8c4d87b", - ) - - maybe( - http_archive, - name = "pyqt5.14_mac_bundle_amd64", - build_file_content = " ", - urls = [ - "https://github.com/ankitects/anki-bundle-extras/releases/download/anki-2022-02-09/pyqt5.14-mac-amd64.tar.gz", - ], - sha256 = "474951bed79ddb9570ee4c5a6079041772551ea77e77171d9e33d6f5e7877ec1", - ) diff --git a/rslib/BUILD.bazel b/rslib/BUILD.bazel deleted file mode 100644 index a29eedb91..000000000 --- a/rslib/BUILD.bazel +++ /dev/null @@ -1,176 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -load("@rules_rust//rust:defs.bzl", "rust_library", "rust_test") -load("@rules_rust//cargo:cargo_build_script.bzl", "cargo_build_script") -load(":rustfmt.bzl", "rustfmt_fix", "rustfmt_test") -load("//ts/sql_format:defs.bzl", "sql_format") - -# Build script -####################### - -cargo_build_script( - name = "build_script", - srcs = glob(["build/*.rs"]), - build_script_env = { - "PROTO_TOP": "$(location //proto:.top_level)", - "PROTOC": "$(location @com_google_protobuf//:protoc)", - "RSLIB_FTL_ROOT": "$(location @rslib_ftl//:l10n.toml)", - "EXTRA_FTL_ROOT": "$(location @extra_ftl//:l10n.toml)", - "BAZEL": "1", - }, - crate_root = "build/main.rs", - data = [ - "//ftl", - "//proto", - "@com_google_protobuf//:protoc", - # bazel requires us to list these out separately - "//proto:.top_level", - "@rslib_ftl//:l10n.toml", - "@extra_ftl//:l10n.toml", - ], - deps = [ - "//rslib/cargo:prost_build", - "//rslib/cargo:which", - ], -) - -# Library -####################### - -_anki_compile_data = glob([ - "src/**/*.sql", - "src/**/*.html", - "src/**/*.css", - "src/**/*.tex", -]) + [ - "Cargo.toml", # prevents a warning about num_enum - "//:buildinfo.txt", -] - -_anki_features = [ - "translations", -] - -_anki_rustc_env = { - "BUILDINFO": "$(location //:buildinfo.txt)", -} - -rust_library( - name = "anki", - srcs = glob([ - "src/**/*.rs", - ]), - compile_data = _anki_compile_data, - crate_features = _anki_features, - proc_macro_deps = [ - "//rslib/cargo:async_trait", - "//rslib/cargo:serde_derive", - "//rslib/cargo:serde_repr", - ], - rustc_env = _anki_rustc_env, - visibility = ["//visibility:public"], - deps = [ - ":build_script", - "//rslib/cargo:ammonia", - "//rslib/cargo:blake3", - "//rslib/cargo:bytes", - "//rslib/cargo:chrono", - "//rslib/cargo:coarsetime", - "//rslib/cargo:convert_case", - "//rslib/cargo:csv", - "//rslib/cargo:dissimilar", - "//rslib/cargo:flate2", - "//rslib/cargo:fluent", - "//rslib/cargo:fnv", - "//rslib/cargo:futures", - "//rslib/cargo:hex", - "//rslib/cargo:htmlescape", - "//rslib/cargo:id_tree", - "//rslib/cargo:intl_memoizer", - "//rslib/cargo:itertools", - "//rslib/cargo:lazy_static", - "//rslib/cargo:nom", - "//rslib/cargo:num_cpus", - "//rslib/cargo:num_enum", - "//rslib/cargo:num_integer", - "//rslib/cargo:once_cell", - "//rslib/cargo:pin_project", - "//rslib/cargo:prost", - "//rslib/cargo:pulldown_cmark", - "//rslib/cargo:rand", - "//rslib/cargo:regex", - "//rslib/cargo:rusqlite", - "//rslib/cargo:scopeguard", - "//rslib/cargo:serde", - "//rslib/cargo:serde_aux", - "//rslib/cargo:serde_json", - "//rslib/cargo:serde_tuple", - "//rslib/cargo:sha1", - "//rslib/cargo:slog", - "//rslib/cargo:slog_async", - "//rslib/cargo:slog_envlogger", - "//rslib/cargo:slog_term", - "//rslib/cargo:snafu", - "//rslib/cargo:strum", - "//rslib/cargo:tempfile", - "//rslib/cargo:tokio", - "//rslib/cargo:tokio_util", - "//rslib/cargo:unic_langid", - "//rslib/cargo:unicase", - "//rslib/cargo:unicode_normalization", - "//rslib/cargo:unic_ucd_category", - "//rslib/cargo:utime", - "//rslib/cargo:zip", - "//rslib/cargo:zstd", - "//rslib/cargo:pct_str", - "//rslib/i18n:anki_i18n", - ] + select({ - # rustls on Linux - "//platforms:linux_x86_64": ["@reqwest_rustls//:reqwest"], - "//platforms:linux_arm64": ["@reqwest_rustls//:reqwest"], - # native tls on other platforms - "//conditions:default": ["//rslib/cargo:reqwest"], - }), -) - -# Tests -####################### - -rust_test( - name = "anki_tests", - compile_data = _anki_compile_data, - crate = ":anki", - crate_features = _anki_features, - data = glob([ - "tests/support/**", - ]), - rustc_env = _anki_rustc_env, - rustc_flags = [ - "-Dclippy::dbg_macro", - ], - deps = [ - "//rslib/cargo:env_logger", - "//rslib/cargo:linkcheck", - "//rslib/cargo:utime", - ], -) - -rustfmt_test( - name = "format_check", - srcs = glob([ - "**/*.rs", - ]), -) - -rustfmt_fix( - name = "format", - srcs = glob([ - "**/*.rs", - ]), -) - -sql_format( - name = "sql_format", - srcs = glob(["**/*.sql"]), -) diff --git a/rslib/Cargo.toml b/rslib/Cargo.toml index 80eac988f..3d1f8ff87 100644 --- a/rslib/Cargo.toml +++ b/rslib/Cargo.toml @@ -1,18 +1,22 @@ [package] name = "anki" -version = "0.0.0" -authors = ["Ankitects Pty Ltd and contributors"] build = "build/main.rs" -edition = "2021" -license = "AGPL-3.0-or-later" description = "Anki's Rust library code" +version.workspace = true +authors.workspace = true +license.workspace = true +edition.workspace = true +rust-version.workspace = true + [lib] name = "anki" path = "src/lib.rs" [features] bench = ["criterion"] +rustls = ["reqwest/rustls-tls", "reqwest/rustls-tls-native-roots"] +native-tls = ["reqwest/native-tls"] [[bench]] name = "benchmark" @@ -29,13 +33,16 @@ which = "4.3.0" env_logger = "0.9.1" tokio = { version = "1.21", features = ["macros"] } +[dependencies.reqwest] +version = "=0.11.3" +default-features = false +features = ["json", "socks", "stream", "multipart"] + [dependencies] anki_i18n = { path = "i18n" } csv = { git = "https://github.com/ankitects/rust-csv.git", rev = "1c9d3aab6f79a7d815c69f925a46a4590c115f90" } pct-str = { git = "https://github.com/timothee-haudebourg/pct-str.git", rev = "4adccd8d4a222ab2672350a102f06ae832a0572d" } -reqwest = { git = "https://github.com/ankitects/reqwest.git", rev = "7591444614de02b658ddab125efba7b2bb4e2335", default-features = false, features = ["json","socks","stream","multipart", # the Bazel build scripts separate these out by platform - "native-tls","rustls-tls","rustls-tls-webpki-roots","rustls-tls-native-roots",] } # pinned as any changes could invalidate sqlite indexes unicase = "=2.6.0" @@ -58,7 +65,6 @@ futures = "0.3.24" hex = "0.4.3" htmlescape = "0.3.1" id_tree = "1.8.0" -intl-memoizer = "0.5.1" itertools = "0.10.5" lazy_static = "1.4.0" nom = "7.1.1" @@ -67,7 +73,6 @@ num_cpus = "1.13.1" num_enum = "0.5.7" once_cell = "1.15.0" pin-project = "1.0.12" -proc-macro-nested = "0.1.7" prost = "0.11.0" pulldown-cmark = "0.9.2" rand = "0.8.5" @@ -90,9 +95,9 @@ strum = { version = "0.24.1", features = ["derive"] } tempfile = "3.3.0" tokio = { version = "1.21", features = ["fs", "rt-multi-thread"] } tokio-util = { version = "0.7.4", features = ["io"] } -unic-langid = { version = "0.9.0", features = ["macros"] } unic-ucd-category = "0.9.0" unicode-normalization = "0.1.22" utime = "0.3.1" +workspace-hack = { version = "0.1", path = "../tools/workspace-hack" } zip = { version = "0.6.2", default-features = false, features = ["deflate", "time"] } zstd = { version = "0.11.2", features = ["zstdmt"] } diff --git a/rslib/README.md b/rslib/README.md index 5426c6c9d..fa77e94cd 100644 --- a/rslib/README.md +++ b/rslib/README.md @@ -1,3 +1 @@ Anki's Rust code. - -backend.proto stores the interfaces used to communicate backend messages between Rust, Python and TypeScript. diff --git a/rslib/build/main.rs b/rslib/build/main.rs index b755cfe66..4ebf8519b 100644 --- a/rslib/build/main.rs +++ b/rslib/build/main.rs @@ -1,19 +1,14 @@ // Copyright: Ankitects Pty Ltd and contributors // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html +use std::fs; + pub mod protobuf; fn main() { protobuf::write_backend_proto_rs(); - // when building with cargo (eg for rust analyzer), generate a dummy BUILDINFO - if std::env::var("BAZEL").is_err() { - let buildinfo_out = - std::path::Path::new(&std::env::var("OUT_DIR").unwrap()).join("buildinfo.txt"); - std::fs::write(&buildinfo_out, "").unwrap(); - println!( - "cargo:rustc-env=BUILDINFO={}", - buildinfo_out.to_str().expect("buildinfo") - ); - } + println!("cargo:rerun-if-changed=../out/buildhash"); + let buildhash = fs::read_to_string("../out/buildhash").unwrap_or_default(); + println!("cargo:rustc-env=BUILDHASH={buildhash}") } diff --git a/rslib/build/protobuf.rs b/rslib/build/protobuf.rs index 83309f767..09b7aefe2 100644 --- a/rslib/build/protobuf.rs +++ b/rslib/build/protobuf.rs @@ -1,11 +1,7 @@ // Copyright: Ankitects Pty Ltd and contributors // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -use std::{ - env, - fmt::Write, - path::{Path, PathBuf}, -}; +use std::{env, fmt::Write, path::PathBuf}; struct CustomGenerator {} @@ -76,11 +72,7 @@ fn service_generator() -> Box { pub fn write_backend_proto_rs() { maybe_add_protobuf_to_path(); - let proto_dir = if let Ok(proto) = env::var("PROTO_TOP") { - PathBuf::from(proto).parent().unwrap().to_owned() - } else { - PathBuf::from("../proto") - }; + let proto_dir = PathBuf::from("../proto"); let subfolders = &["anki"]; let mut paths = vec![]; @@ -131,23 +123,9 @@ pub fn write_backend_proto_rs() { /// If PROTOC is not defined, and protoc is not on path, use the protoc /// fetched by Bazel so that Rust Analyzer does not fail. fn maybe_add_protobuf_to_path() { - if std::env::var("PROTOC").is_ok() { - return; + if let Ok(protoc) = env::var("PROTOC") { + if cfg!(windows) && !protoc.ends_with(".exe") { + env::set_var("PROTOC", format!("{protoc}.exe")); + } } - if which::which("protoc").is_ok() { - return; - } - let path = if cfg!(target_os = "windows") { - let base = std::fs::read_link("../.bazel/out").unwrap(); - base.join("../external/protoc_bin_windows/bin/protoc.exe") - } else { - let base = Path::new("../.bazel/out/../external"); - let subpath = if cfg!(target_os = "macos") { - "protoc_bin_macos/bin/protoc" - } else { - "protoc_bin_linux_x86_64/bin/protoc" - }; - base.join(subpath) - }; - std::env::set_var("PROTOC", path.to_str().unwrap()); } diff --git a/rslib/cargo/BUILD.bazel b/rslib/cargo/BUILD.bazel deleted file mode 100644 index 8e90077cc..000000000 --- a/rslib/cargo/BUILD.bazel +++ /dev/null @@ -1,625 +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 = "ammonia", - actual = "@raze__ammonia__3_2_1//:ammonia", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "async_trait", - actual = "@raze__async_trait__0_1_57//:async_trait", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "blake3", - actual = "@raze__blake3__1_3_1//:blake3", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "bytes", - actual = "@raze__bytes__1_2_1//:bytes", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "chrono", - actual = "@raze__chrono__0_4_22//:chrono", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "coarsetime", - actual = "@raze__coarsetime__0_1_22//:coarsetime", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "convert_case", - actual = "@raze__convert_case__0_6_0//:convert_case", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "csv", - actual = "@raze__csv__1_1_6//:csv", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "dissimilar", - actual = "@raze__dissimilar__1_0_4//:dissimilar", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "env_logger", - actual = "@raze__env_logger__0_9_1//:env_logger", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "flate2", - actual = "@raze__flate2__1_0_24//:flate2", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent", - actual = "@raze__fluent__0_16_0//:fluent", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent_bundle", - actual = "@raze__fluent_bundle__0_15_2//:fluent_bundle", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent_syntax", - actual = "@raze__fluent_syntax__0_11_0//:fluent_syntax", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fnv", - actual = "@raze__fnv__1_0_7//:fnv", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "futures", - actual = "@raze__futures__0_3_24//:futures", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "hex", - actual = "@raze__hex__0_4_3//:hex", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "htmlescape", - actual = "@raze__htmlescape__0_3_1//:htmlescape", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "id_tree", - actual = "@raze__id_tree__1_8_0//:id_tree", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "inflections", - actual = "@raze__inflections__1_1_1//:inflections", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "intl_memoizer", - actual = "@raze__intl_memoizer__0_5_1//:intl_memoizer", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "itertools", - actual = "@raze__itertools__0_10_5//:itertools", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "lazy_static", - actual = "@raze__lazy_static__1_4_0//:lazy_static", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "linkcheck", - actual = "@raze__linkcheck__0_4_1_alpha_0//:linkcheck", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "nom", - actual = "@raze__nom__7_1_1//:nom", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_cpus", - actual = "@raze__num_cpus__1_13_1//:num_cpus", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_enum", - actual = "@raze__num_enum__0_5_7//:num_enum", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_format", - actual = "@raze__num_format__0_4_0//:num_format", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_integer", - actual = "@raze__num_integer__0_1_45//:num_integer", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "once_cell", - actual = "@raze__once_cell__1_15_0//:once_cell", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pct_str", - actual = "@raze__pct_str__1_1_0//:pct_str", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "phf", - actual = "@raze__phf__0_11_1//:phf", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pin_project", - actual = "@raze__pin_project__1_0_12//:pin_project", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "proc_macro_nested", - actual = "@raze__proc_macro_nested__0_1_7//:proc_macro_nested", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "prost", - actual = "@raze__prost__0_11_0//:prost", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "prost_build", - actual = "@raze__prost_build__0_11_1//:prost_build", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pulldown_cmark", - actual = "@raze__pulldown_cmark__0_9_2//:pulldown_cmark", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pyo3", - actual = "@raze__pyo3__0_17_1//:pyo3", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "rand", - actual = "@raze__rand__0_8_5//:rand", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "regex", - actual = "@raze__regex__1_6_0//:regex", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "reqwest", - actual = "@raze__reqwest__0_11_3//:reqwest", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "rusqlite", - actual = "@raze__rusqlite__0_28_0//:rusqlite", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "scopeguard", - actual = "@raze__scopeguard__1_1_0//:scopeguard", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde", - actual = "@raze__serde__1_0_145//:serde", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_aux", - actual = "@raze__serde_aux__4_0_0//:serde_aux", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_derive", - actual = "@raze__serde_derive__1_0_145//:serde_derive", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_json", - actual = "@raze__serde_json__1_0_85//:serde_json", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_repr", - actual = "@raze__serde_repr__0_1_9//:serde_repr", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_tuple", - actual = "@raze__serde_tuple__0_5_0//:serde_tuple", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "sha1", - actual = "@raze__sha1__0_6_1//:sha1", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog", - actual = "@raze__slog__2_7_0//:slog", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_async", - actual = "@raze__slog_async__2_7_0//:slog_async", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_envlogger", - actual = "@raze__slog_envlogger__2_2_0//:slog_envlogger", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_term", - actual = "@raze__slog_term__2_9_0//:slog_term", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "snafu", - actual = "@raze__snafu__0_7_2//:snafu", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "strum", - actual = "@raze__strum__0_24_1//:strum", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tempfile", - actual = "@raze__tempfile__3_3_0//:tempfile", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tokio", - actual = "@raze__tokio__1_21_1//:tokio", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tokio_util", - actual = "@raze__tokio_util__0_7_4//:tokio_util", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unic_langid", - actual = "@raze__unic_langid__0_9_0//:unic_langid", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unic_ucd_category", - actual = "@raze__unic_ucd_category__0_9_0//:unic_ucd_category", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unicase", - actual = "@raze__unicase__2_6_0//:unicase", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unicode_normalization", - actual = "@raze__unicode_normalization__0_1_22//:unicode_normalization", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "utime", - actual = "@raze__utime__0_3_1//:utime", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "walkdir", - actual = "@raze__walkdir__2_3_2//:walkdir", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "which", - actual = "@raze__which__4_3_0//:which", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "zip", - actual = "@raze__zip__0_6_2//:zip", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "zstd", - actual = "@raze__zstd__0_11_2_zstd_1_5_2//:zstd", - tags = [ - "cargo-raze", - "manual", - ], -) diff --git a/rslib/empty.rs b/rslib/empty.rs deleted file mode 100644 index 8b1378917..000000000 --- a/rslib/empty.rs +++ /dev/null @@ -1 +0,0 @@ - diff --git a/rslib/i18n/BUILD.bazel b/rslib/i18n/BUILD.bazel deleted file mode 100644 index af860adf2..000000000 --- a/rslib/i18n/BUILD.bazel +++ /dev/null @@ -1,106 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", "rust_test") -load("@rules_rust//cargo:cargo_build_script.bzl", "cargo_build_script") -load("//rslib:rustfmt.bzl", "rustfmt_fix", "rustfmt_test") - -# Build script -####################### - -cargo_build_script( - name = "build_script", - srcs = glob(["build/*.rs"]), - build_script_env = { - "RSLIB_FTL_ROOT": "$(location @rslib_ftl//:l10n.toml)", - "EXTRA_FTL_ROOT": "$(location @extra_ftl//:l10n.toml)", - }, - crate_root = "build/main.rs", - data = [ - "//ftl", - # bazel requires us to list these out separately - "@rslib_ftl//:l10n.toml", - "@extra_ftl//:l10n.toml", - ], - deps = [ - "//rslib/i18n/cargo:fluent", - "//rslib/i18n/cargo:fluent_syntax", - "//rslib/i18n/cargo:inflections", - "//rslib/i18n/cargo:serde", - "//rslib/i18n/cargo:serde_json", - "//rslib/i18n/cargo:unic_langid", - ], -) - -# Library -####################### - -rust_library( - name = "anki_i18n", - srcs = glob([ - "src/**/*.rs", - ]), - visibility = ["//rslib:__subpackages__"], - deps = [ - ":build_script", - "//rslib/i18n/cargo:fluent", - "//rslib/i18n/cargo:fluent_bundle", - "//rslib/i18n/cargo:intl_memoizer", - "//rslib/i18n/cargo:num_format", - "//rslib/i18n/cargo:phf", - "//rslib/i18n/cargo:serde", - "//rslib/i18n/cargo:serde_json", - "//rslib/i18n/cargo:unic_langid", - ], -) - -# Tests -####################### - -rust_test( - name = "i18n_tests", - crate = ":anki_i18n", - rustc_flags = [ - "-Dclippy::dbg_macro", - ], -) - -rustfmt_test( - name = "format_check", - srcs = glob([ - "**/*.rs", - ]), -) - -rustfmt_fix( - name = "format", - srcs = glob([ - "**/*.rs", - ]), -) - -# strings.json copying -########################### -# This separate binary is used to copy the generated strings.json into another location -# for downstream consumers - -rust_binary( - name = "write_json", - srcs = [ - "build/write_json.rs", - ], - deps = [ - ":build_script", - ], -) - -genrule( - name = "strings_json", - outs = ["strings.json"], - cmd = """\ -$(location :write_json) $(location strings.json)""", - tools = [ - ":write_json", - ], - visibility = ["//visibility:public"], -) diff --git a/rslib/i18n/Cargo.toml b/rslib/i18n/Cargo.toml index b47ae7cff..67427f61f 100644 --- a/rslib/i18n/Cargo.toml +++ b/rslib/i18n/Cargo.toml @@ -11,12 +11,6 @@ description = "Anki's Rust library i18n code" name = "anki_i18n" path = "src/lib.rs" -[[bin]] -name = "write_json" -path = "build/write_json.rs" - -# After updating anything below, run ../cargo/update.py - [build-dependencies] fluent-syntax = "0.11.0" fluent = "0.16.0" @@ -34,3 +28,4 @@ phf = { version = "0.11.1", features = ["macros"] } serde = { version = "1.0.145", features = ["derive"] } serde_json = "1.0.85" unic-langid = { version = "0.9.0", features = ["macros"] } +workspace-hack = { version = "0.1", path = "../../tools/workspace-hack" } diff --git a/rslib/i18n/build/gather.rs b/rslib/i18n/build/gather.rs index 3e1350aa2..0876a64b3 100644 --- a/rslib/i18n/build/gather.rs +++ b/rslib/i18n/build/gather.rs @@ -1,18 +1,12 @@ // Copyright: Ankitects Pty Ltd and contributors // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -//! Env vars that control behaviour: -//! - FTL_SRC can be pointed at /ftl/BUILD.bazel to tell the script where the translatinos -//! in the source tree can be found. If not set (when building from cargo), the script -//! will look in the parent folders instead. -//! - RSLIB_FTL_ROOT should be set to the l10n.toml file inside the core translation repo. -//! - EXTRA_FTL_ROOT should normally be set to the l10n.toml file inside the qt translation -//! repo. If it is pointed at a different location, the Qt translations will be excluded -//! and the provided translations embedded instead. +//! By default, the Qt translations will be included in rslib. EXTRA_FTL_ROOT can be set +//! to an external folder so the mobile clients can use their own translations instead. use std::{ collections::HashMap, - env, fs, + fs, path::{Path, PathBuf}, }; @@ -23,31 +17,28 @@ pub type TranslationsByLang = HashMap; pub fn get_ftl_data() -> TranslationsByLang { let mut map = TranslationsByLang::default(); - // English templates first + // English core templates are taken from this repo let ftl_base = source_tree_root(); add_folder(&mut map, &ftl_base.join("core"), "templates"); + // And core translations from submodule + add_translation_root(&mut map, &ftl_base.join("core-repo/core"), true); - // Core translations provided? - if let Some(path) = core_ftl_root() { - add_translation_root(&mut map, &path, true); - } - - // Extra templates/translations provided? if let Some(path) = extra_ftl_root() { - let add_qt_templates = extra_ftl_is_desktop(&path); - if add_qt_templates { - add_folder(&mut map, &ftl_base.join("qt"), "templates"); - } - add_translation_root(&mut map, &path, add_qt_templates); + // Mobile client has requested its own extra translations + add_translation_root(&mut map, &path, false); + } else { + // Qt core templates from this repo + add_folder(&mut map, &ftl_base.join("qt"), "templates"); + // And translations from submodule + add_translation_root(&mut map, &ftl_base.join("qt-repo/desktop"), true) } - map } /// For each .ftl file in the provided folder, add it to the translation map. fn add_folder(map: &mut TranslationsByLang, folder: &Path, lang: &str) { let map_entry = map.entry(lang.to_string()).or_default(); - for entry in fs::read_dir(&folder).unwrap() { + for entry in fs::read_dir(folder).unwrap() { let entry = entry.unwrap(); let fname = entry.file_name().to_string_lossy().to_string(); if !fname.ends_with(".ftl") { @@ -61,9 +52,6 @@ fn add_folder(map: &mut TranslationsByLang, folder: &Path, lang: &str) { entry ); map_entry.entry(module).or_default().push_str(&text); - // when building under Bazel changes to the .ftl files will automatically - // be picked up, but when building under Cargo we need to declare the files - // that should trigger a rebuild println!("cargo:rerun-if-changed={}", entry.path().to_str().unwrap()); } } @@ -82,48 +70,10 @@ fn add_translation_root(map: &mut TranslationsByLang, root: &Path, ignore_templa } } -/// True if @extra_ftl points to the standard Qt translations, -/// which have a desktop/ folder. -fn extra_ftl_is_desktop(extra_ftl_root: &Path) -> bool { - extra_ftl_root - .file_name() - .map(|fname| fname == "desktop") - .unwrap_or_default() -} - fn source_tree_root() -> PathBuf { - if let Ok(srcfile) = env::var("FTL_SRC") { - let mut path = PathBuf::from(srcfile); - path.pop(); - path - } else { - PathBuf::from("../../ftl") - } -} - -fn core_ftl_root() -> Option { - std::env::var("RSLIB_FTL_ROOT") - .ok() - .map(first_folder_next_to_l10n_file) + PathBuf::from("../../ftl") } fn extra_ftl_root() -> Option { - std::env::var("EXTRA_FTL_ROOT") - .ok() - .map(first_folder_next_to_l10n_file) -} - -fn first_folder_next_to_l10n_file(l10n_path: String) -> PathBuf { - // drop the filename - let mut path = PathBuf::from(&l10n_path); - path.pop(); - // iterate over the folder - for entry in path.read_dir().unwrap() { - let entry = entry.unwrap(); - if entry.metadata().unwrap().is_dir() { - // return the first folder we find - return entry.path(); - } - } - panic!("no folder found in {}", l10n_path); + std::env::var("EXTRA_FTL_ROOT").ok().map(PathBuf::from) } diff --git a/rslib/i18n/build/main.rs b/rslib/i18n/build/main.rs index 644f2e2b3..b5b73e806 100644 --- a/rslib/i18n/build/main.rs +++ b/rslib/i18n/build/main.rs @@ -6,7 +6,7 @@ mod extract; mod gather; mod write_strings; -use std::{fs, path::PathBuf}; +use std::fs; use check::check; use extract::get_modules; @@ -22,9 +22,9 @@ fn main() { let modules = get_modules(&map); write_strings(&map, &modules); - // put a json file into OUT_DIR that the write_json tool can read - let meta_json = serde_json::to_string_pretty(&modules).unwrap(); - let dir = PathBuf::from(std::env::var("OUT_DIR").unwrap()); - let path = dir.join("strings.json"); - fs::write(path, meta_json).unwrap(); + // write strings.json file to requested path + if let Some(path) = option_env!("STRINGS_JSON") { + let meta_json = serde_json::to_string_pretty(&modules).unwrap(); + fs::write(path, meta_json).unwrap(); + } } diff --git a/rslib/i18n/build/write_json.rs b/rslib/i18n/build/write_json.rs deleted file mode 100644 index 973c21e94..000000000 --- a/rslib/i18n/build/write_json.rs +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright: Ankitects Pty Ltd and contributors -// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -use std::{env, fs, path::Path}; - -pub fn main() { - let args: Vec<_> = env::args().collect(); - let target_file = Path::new(args.get(1).expect("output path not provided")); - let strings_json = include_str!(concat!(env!("OUT_DIR"), "/strings.json")); - - fs::write(target_file, strings_json).unwrap(); -} diff --git a/rslib/i18n/cargo/BUILD.bazel b/rslib/i18n/cargo/BUILD.bazel deleted file mode 100644 index 8e90077cc..000000000 --- a/rslib/i18n/cargo/BUILD.bazel +++ /dev/null @@ -1,625 +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 = "ammonia", - actual = "@raze__ammonia__3_2_1//:ammonia", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "async_trait", - actual = "@raze__async_trait__0_1_57//:async_trait", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "blake3", - actual = "@raze__blake3__1_3_1//:blake3", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "bytes", - actual = "@raze__bytes__1_2_1//:bytes", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "chrono", - actual = "@raze__chrono__0_4_22//:chrono", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "coarsetime", - actual = "@raze__coarsetime__0_1_22//:coarsetime", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "convert_case", - actual = "@raze__convert_case__0_6_0//:convert_case", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "csv", - actual = "@raze__csv__1_1_6//:csv", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "dissimilar", - actual = "@raze__dissimilar__1_0_4//:dissimilar", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "env_logger", - actual = "@raze__env_logger__0_9_1//:env_logger", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "flate2", - actual = "@raze__flate2__1_0_24//:flate2", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent", - actual = "@raze__fluent__0_16_0//:fluent", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent_bundle", - actual = "@raze__fluent_bundle__0_15_2//:fluent_bundle", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent_syntax", - actual = "@raze__fluent_syntax__0_11_0//:fluent_syntax", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fnv", - actual = "@raze__fnv__1_0_7//:fnv", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "futures", - actual = "@raze__futures__0_3_24//:futures", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "hex", - actual = "@raze__hex__0_4_3//:hex", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "htmlescape", - actual = "@raze__htmlescape__0_3_1//:htmlescape", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "id_tree", - actual = "@raze__id_tree__1_8_0//:id_tree", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "inflections", - actual = "@raze__inflections__1_1_1//:inflections", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "intl_memoizer", - actual = "@raze__intl_memoizer__0_5_1//:intl_memoizer", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "itertools", - actual = "@raze__itertools__0_10_5//:itertools", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "lazy_static", - actual = "@raze__lazy_static__1_4_0//:lazy_static", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "linkcheck", - actual = "@raze__linkcheck__0_4_1_alpha_0//:linkcheck", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "nom", - actual = "@raze__nom__7_1_1//:nom", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_cpus", - actual = "@raze__num_cpus__1_13_1//:num_cpus", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_enum", - actual = "@raze__num_enum__0_5_7//:num_enum", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_format", - actual = "@raze__num_format__0_4_0//:num_format", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_integer", - actual = "@raze__num_integer__0_1_45//:num_integer", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "once_cell", - actual = "@raze__once_cell__1_15_0//:once_cell", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pct_str", - actual = "@raze__pct_str__1_1_0//:pct_str", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "phf", - actual = "@raze__phf__0_11_1//:phf", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pin_project", - actual = "@raze__pin_project__1_0_12//:pin_project", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "proc_macro_nested", - actual = "@raze__proc_macro_nested__0_1_7//:proc_macro_nested", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "prost", - actual = "@raze__prost__0_11_0//:prost", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "prost_build", - actual = "@raze__prost_build__0_11_1//:prost_build", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pulldown_cmark", - actual = "@raze__pulldown_cmark__0_9_2//:pulldown_cmark", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pyo3", - actual = "@raze__pyo3__0_17_1//:pyo3", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "rand", - actual = "@raze__rand__0_8_5//:rand", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "regex", - actual = "@raze__regex__1_6_0//:regex", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "reqwest", - actual = "@raze__reqwest__0_11_3//:reqwest", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "rusqlite", - actual = "@raze__rusqlite__0_28_0//:rusqlite", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "scopeguard", - actual = "@raze__scopeguard__1_1_0//:scopeguard", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde", - actual = "@raze__serde__1_0_145//:serde", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_aux", - actual = "@raze__serde_aux__4_0_0//:serde_aux", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_derive", - actual = "@raze__serde_derive__1_0_145//:serde_derive", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_json", - actual = "@raze__serde_json__1_0_85//:serde_json", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_repr", - actual = "@raze__serde_repr__0_1_9//:serde_repr", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_tuple", - actual = "@raze__serde_tuple__0_5_0//:serde_tuple", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "sha1", - actual = "@raze__sha1__0_6_1//:sha1", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog", - actual = "@raze__slog__2_7_0//:slog", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_async", - actual = "@raze__slog_async__2_7_0//:slog_async", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_envlogger", - actual = "@raze__slog_envlogger__2_2_0//:slog_envlogger", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_term", - actual = "@raze__slog_term__2_9_0//:slog_term", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "snafu", - actual = "@raze__snafu__0_7_2//:snafu", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "strum", - actual = "@raze__strum__0_24_1//:strum", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tempfile", - actual = "@raze__tempfile__3_3_0//:tempfile", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tokio", - actual = "@raze__tokio__1_21_1//:tokio", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tokio_util", - actual = "@raze__tokio_util__0_7_4//:tokio_util", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unic_langid", - actual = "@raze__unic_langid__0_9_0//:unic_langid", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unic_ucd_category", - actual = "@raze__unic_ucd_category__0_9_0//:unic_ucd_category", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unicase", - actual = "@raze__unicase__2_6_0//:unicase", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unicode_normalization", - actual = "@raze__unicode_normalization__0_1_22//:unicode_normalization", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "utime", - actual = "@raze__utime__0_3_1//:utime", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "walkdir", - actual = "@raze__walkdir__2_3_2//:walkdir", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "which", - actual = "@raze__which__4_3_0//:which", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "zip", - actual = "@raze__zip__0_6_2//:zip", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "zstd", - actual = "@raze__zstd__0_11_2_zstd_1_5_2//:zstd", - tags = [ - "cargo-raze", - "manual", - ], -) diff --git a/rslib/i18n_helpers/BUILD.bazel b/rslib/i18n_helpers/BUILD.bazel deleted file mode 100644 index af60a532a..000000000 --- a/rslib/i18n_helpers/BUILD.bazel +++ /dev/null @@ -1,60 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -load("@rules_rust//rust:defs.bzl", "rust_binary", "rust_library", "rust_test") -load("//rslib:rustfmt.bzl", "rustfmt_fix", "rustfmt_test") - -# Library -####################### - -rust_library( - name = "anki_i18n_helpers", - srcs = glob( - [ - "src/**/*.rs", - ], - exclude = ["src/bin/**"], - ), - visibility = ["//rslib:__subpackages__"], - deps = [ - "//rslib/i18n_helpers/cargo:fluent_syntax", - "//rslib/i18n_helpers/cargo:lazy_static", - "//rslib/i18n_helpers/cargo:regex", - "//rslib/i18n_helpers/cargo:serde_json", - "//rslib/i18n_helpers/cargo:walkdir", - ], -) - -rust_binary( - name = "write_ftl_json", - srcs = ["src/bin/write_ftl_json.rs"], - deps = [":anki_i18n_helpers"], -) - -rust_binary( - name = "garbage_collect_ftl_entries", - srcs = ["src/bin/garbage_collect_ftl_entries.rs"], - deps = [":anki_i18n_helpers"], -) - -# Tests -####################### - -rust_test( - name = "i18n_helpers_tests", - crate = ":anki_i18n_helpers", -) - -rustfmt_test( - name = "format_check", - srcs = glob([ - "**/*.rs", - ]), -) - -rustfmt_fix( - name = "format", - srcs = glob([ - "**/*.rs", - ]), -) diff --git a/rslib/i18n_helpers/Cargo.toml b/rslib/i18n_helpers/Cargo.toml index 804f0f06e..6941edef1 100644 --- a/rslib/i18n_helpers/Cargo.toml +++ b/rslib/i18n_helpers/Cargo.toml @@ -18,3 +18,4 @@ lazy_static = "1.4.0" regex = "1.6.0" serde_json = "1.0.85" walkdir = "2" +workspace-hack = { version = "0.1", path = "../../tools/workspace-hack" } diff --git a/rslib/i18n_helpers/cargo/BUILD.bazel b/rslib/i18n_helpers/cargo/BUILD.bazel deleted file mode 100644 index 8e90077cc..000000000 --- a/rslib/i18n_helpers/cargo/BUILD.bazel +++ /dev/null @@ -1,625 +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 = "ammonia", - actual = "@raze__ammonia__3_2_1//:ammonia", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "async_trait", - actual = "@raze__async_trait__0_1_57//:async_trait", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "blake3", - actual = "@raze__blake3__1_3_1//:blake3", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "bytes", - actual = "@raze__bytes__1_2_1//:bytes", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "chrono", - actual = "@raze__chrono__0_4_22//:chrono", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "coarsetime", - actual = "@raze__coarsetime__0_1_22//:coarsetime", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "convert_case", - actual = "@raze__convert_case__0_6_0//:convert_case", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "csv", - actual = "@raze__csv__1_1_6//:csv", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "dissimilar", - actual = "@raze__dissimilar__1_0_4//:dissimilar", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "env_logger", - actual = "@raze__env_logger__0_9_1//:env_logger", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "flate2", - actual = "@raze__flate2__1_0_24//:flate2", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent", - actual = "@raze__fluent__0_16_0//:fluent", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent_bundle", - actual = "@raze__fluent_bundle__0_15_2//:fluent_bundle", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent_syntax", - actual = "@raze__fluent_syntax__0_11_0//:fluent_syntax", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fnv", - actual = "@raze__fnv__1_0_7//:fnv", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "futures", - actual = "@raze__futures__0_3_24//:futures", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "hex", - actual = "@raze__hex__0_4_3//:hex", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "htmlescape", - actual = "@raze__htmlescape__0_3_1//:htmlescape", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "id_tree", - actual = "@raze__id_tree__1_8_0//:id_tree", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "inflections", - actual = "@raze__inflections__1_1_1//:inflections", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "intl_memoizer", - actual = "@raze__intl_memoizer__0_5_1//:intl_memoizer", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "itertools", - actual = "@raze__itertools__0_10_5//:itertools", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "lazy_static", - actual = "@raze__lazy_static__1_4_0//:lazy_static", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "linkcheck", - actual = "@raze__linkcheck__0_4_1_alpha_0//:linkcheck", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "nom", - actual = "@raze__nom__7_1_1//:nom", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_cpus", - actual = "@raze__num_cpus__1_13_1//:num_cpus", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_enum", - actual = "@raze__num_enum__0_5_7//:num_enum", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_format", - actual = "@raze__num_format__0_4_0//:num_format", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_integer", - actual = "@raze__num_integer__0_1_45//:num_integer", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "once_cell", - actual = "@raze__once_cell__1_15_0//:once_cell", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pct_str", - actual = "@raze__pct_str__1_1_0//:pct_str", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "phf", - actual = "@raze__phf__0_11_1//:phf", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pin_project", - actual = "@raze__pin_project__1_0_12//:pin_project", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "proc_macro_nested", - actual = "@raze__proc_macro_nested__0_1_7//:proc_macro_nested", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "prost", - actual = "@raze__prost__0_11_0//:prost", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "prost_build", - actual = "@raze__prost_build__0_11_1//:prost_build", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pulldown_cmark", - actual = "@raze__pulldown_cmark__0_9_2//:pulldown_cmark", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pyo3", - actual = "@raze__pyo3__0_17_1//:pyo3", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "rand", - actual = "@raze__rand__0_8_5//:rand", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "regex", - actual = "@raze__regex__1_6_0//:regex", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "reqwest", - actual = "@raze__reqwest__0_11_3//:reqwest", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "rusqlite", - actual = "@raze__rusqlite__0_28_0//:rusqlite", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "scopeguard", - actual = "@raze__scopeguard__1_1_0//:scopeguard", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde", - actual = "@raze__serde__1_0_145//:serde", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_aux", - actual = "@raze__serde_aux__4_0_0//:serde_aux", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_derive", - actual = "@raze__serde_derive__1_0_145//:serde_derive", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_json", - actual = "@raze__serde_json__1_0_85//:serde_json", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_repr", - actual = "@raze__serde_repr__0_1_9//:serde_repr", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_tuple", - actual = "@raze__serde_tuple__0_5_0//:serde_tuple", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "sha1", - actual = "@raze__sha1__0_6_1//:sha1", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog", - actual = "@raze__slog__2_7_0//:slog", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_async", - actual = "@raze__slog_async__2_7_0//:slog_async", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_envlogger", - actual = "@raze__slog_envlogger__2_2_0//:slog_envlogger", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_term", - actual = "@raze__slog_term__2_9_0//:slog_term", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "snafu", - actual = "@raze__snafu__0_7_2//:snafu", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "strum", - actual = "@raze__strum__0_24_1//:strum", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tempfile", - actual = "@raze__tempfile__3_3_0//:tempfile", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tokio", - actual = "@raze__tokio__1_21_1//:tokio", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tokio_util", - actual = "@raze__tokio_util__0_7_4//:tokio_util", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unic_langid", - actual = "@raze__unic_langid__0_9_0//:unic_langid", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unic_ucd_category", - actual = "@raze__unic_ucd_category__0_9_0//:unic_ucd_category", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unicase", - actual = "@raze__unicase__2_6_0//:unicase", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unicode_normalization", - actual = "@raze__unicode_normalization__0_1_22//:unicode_normalization", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "utime", - actual = "@raze__utime__0_3_1//:utime", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "walkdir", - actual = "@raze__walkdir__2_3_2//:walkdir", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "which", - actual = "@raze__which__4_3_0//:which", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "zip", - actual = "@raze__zip__0_6_2//:zip", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "zstd", - actual = "@raze__zstd__0_11_2_zstd_1_5_2//:zstd", - tags = [ - "cargo-raze", - "manual", - ], -) diff --git a/rslib/linkchecker/BUILD.bazel b/rslib/linkchecker/BUILD.bazel deleted file mode 100644 index efed38bd4..000000000 --- a/rslib/linkchecker/BUILD.bazel +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -load("@rules_rust//rust:defs.bzl", "rust_test") -load("//rslib:rustfmt.bzl", "rustfmt_fix", "rustfmt_test") - -rust_test( - name = "linkchecker", - srcs = ["tests/links.rs"], - tags = [ - "ci", - "manual", - ], - deps = [ - "//rslib:anki", - "//rslib/linkchecker/cargo:futures", - "//rslib/linkchecker/cargo:itertools", - "//rslib/linkchecker/cargo:linkcheck", - "//rslib/linkchecker/cargo:strum", - "//rslib/linkchecker/cargo:tokio", - ] + select({ - # rustls on Linux - "//platforms:linux_x86_64": ["@reqwest_rustls//:reqwest"], - "//platforms:linux_arm64": ["@reqwest_rustls//:reqwest"], - # native tls on other platforms - "//conditions:default": ["//rslib/linkchecker/cargo:reqwest"], - }), -) - -rustfmt_test( - name = "format_check", - srcs = glob([ - "src/**/*.rs", - ]), -) - -rustfmt_fix( - name = "format", - srcs = glob([ - "src/**/*.rs", - ]), -) diff --git a/rslib/linkchecker/Cargo.toml b/rslib/linkchecker/Cargo.toml index 45b6ad97f..9c64a64c6 100644 --- a/rslib/linkchecker/Cargo.toml +++ b/rslib/linkchecker/Cargo.toml @@ -1,9 +1,11 @@ [package] name = "linkchecker" -version = "0.0.0" -authors = ["Ankitects Pty Ltd and contributors"] -edition = "2021" -license = "AGPL-3.0-or-later" + +version.workspace = true +authors.workspace = true +license.workspace = true +edition.workspace = true +rust-version.workspace = true # [[test]] # name = "links" @@ -13,10 +15,17 @@ license = "AGPL-3.0-or-later" anki = { path = ".." } linkcheck = { git = "https://github.com/ankitects/linkcheck.git", rev = "2f20798ce521cc594d510d4e417e76d5eac04d4b" } -reqwest = { git = "https://github.com/ankitects/reqwest.git", rev = "7591444614de02b658ddab125efba7b2bb4e2335", default-features = false, features = ["json","socks","stream","multipart", # the Bazel build scripts separate these out by platform - "native-tls","rustls-tls","rustls-tls-webpki-roots","rustls-tls-native-roots",] } futures = "0.3.24" itertools = "0.10.5" strum = { version = "0.24.1", features = ["derive"] } tokio = { version = "1.21.1", features = ["full"] } +workspace-hack = { version = "0.1", path = "../../tools/workspace-hack" } + +[features] +rustls = ["reqwest/rustls-tls", "reqwest/rustls-tls-native-roots"] +native-tls = ["reqwest/native-tls"] + +[dependencies.reqwest] +version = "0.11.3" +default-features = false diff --git a/rslib/linkchecker/cargo/BUILD.bazel b/rslib/linkchecker/cargo/BUILD.bazel deleted file mode 100644 index 8e90077cc..000000000 --- a/rslib/linkchecker/cargo/BUILD.bazel +++ /dev/null @@ -1,625 +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 = "ammonia", - actual = "@raze__ammonia__3_2_1//:ammonia", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "async_trait", - actual = "@raze__async_trait__0_1_57//:async_trait", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "blake3", - actual = "@raze__blake3__1_3_1//:blake3", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "bytes", - actual = "@raze__bytes__1_2_1//:bytes", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "chrono", - actual = "@raze__chrono__0_4_22//:chrono", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "coarsetime", - actual = "@raze__coarsetime__0_1_22//:coarsetime", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "convert_case", - actual = "@raze__convert_case__0_6_0//:convert_case", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "csv", - actual = "@raze__csv__1_1_6//:csv", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "dissimilar", - actual = "@raze__dissimilar__1_0_4//:dissimilar", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "env_logger", - actual = "@raze__env_logger__0_9_1//:env_logger", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "flate2", - actual = "@raze__flate2__1_0_24//:flate2", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent", - actual = "@raze__fluent__0_16_0//:fluent", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent_bundle", - actual = "@raze__fluent_bundle__0_15_2//:fluent_bundle", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent_syntax", - actual = "@raze__fluent_syntax__0_11_0//:fluent_syntax", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fnv", - actual = "@raze__fnv__1_0_7//:fnv", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "futures", - actual = "@raze__futures__0_3_24//:futures", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "hex", - actual = "@raze__hex__0_4_3//:hex", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "htmlescape", - actual = "@raze__htmlescape__0_3_1//:htmlescape", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "id_tree", - actual = "@raze__id_tree__1_8_0//:id_tree", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "inflections", - actual = "@raze__inflections__1_1_1//:inflections", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "intl_memoizer", - actual = "@raze__intl_memoizer__0_5_1//:intl_memoizer", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "itertools", - actual = "@raze__itertools__0_10_5//:itertools", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "lazy_static", - actual = "@raze__lazy_static__1_4_0//:lazy_static", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "linkcheck", - actual = "@raze__linkcheck__0_4_1_alpha_0//:linkcheck", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "nom", - actual = "@raze__nom__7_1_1//:nom", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_cpus", - actual = "@raze__num_cpus__1_13_1//:num_cpus", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_enum", - actual = "@raze__num_enum__0_5_7//:num_enum", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_format", - actual = "@raze__num_format__0_4_0//:num_format", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_integer", - actual = "@raze__num_integer__0_1_45//:num_integer", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "once_cell", - actual = "@raze__once_cell__1_15_0//:once_cell", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pct_str", - actual = "@raze__pct_str__1_1_0//:pct_str", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "phf", - actual = "@raze__phf__0_11_1//:phf", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pin_project", - actual = "@raze__pin_project__1_0_12//:pin_project", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "proc_macro_nested", - actual = "@raze__proc_macro_nested__0_1_7//:proc_macro_nested", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "prost", - actual = "@raze__prost__0_11_0//:prost", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "prost_build", - actual = "@raze__prost_build__0_11_1//:prost_build", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pulldown_cmark", - actual = "@raze__pulldown_cmark__0_9_2//:pulldown_cmark", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pyo3", - actual = "@raze__pyo3__0_17_1//:pyo3", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "rand", - actual = "@raze__rand__0_8_5//:rand", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "regex", - actual = "@raze__regex__1_6_0//:regex", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "reqwest", - actual = "@raze__reqwest__0_11_3//:reqwest", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "rusqlite", - actual = "@raze__rusqlite__0_28_0//:rusqlite", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "scopeguard", - actual = "@raze__scopeguard__1_1_0//:scopeguard", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde", - actual = "@raze__serde__1_0_145//:serde", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_aux", - actual = "@raze__serde_aux__4_0_0//:serde_aux", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_derive", - actual = "@raze__serde_derive__1_0_145//:serde_derive", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_json", - actual = "@raze__serde_json__1_0_85//:serde_json", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_repr", - actual = "@raze__serde_repr__0_1_9//:serde_repr", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_tuple", - actual = "@raze__serde_tuple__0_5_0//:serde_tuple", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "sha1", - actual = "@raze__sha1__0_6_1//:sha1", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog", - actual = "@raze__slog__2_7_0//:slog", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_async", - actual = "@raze__slog_async__2_7_0//:slog_async", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_envlogger", - actual = "@raze__slog_envlogger__2_2_0//:slog_envlogger", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_term", - actual = "@raze__slog_term__2_9_0//:slog_term", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "snafu", - actual = "@raze__snafu__0_7_2//:snafu", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "strum", - actual = "@raze__strum__0_24_1//:strum", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tempfile", - actual = "@raze__tempfile__3_3_0//:tempfile", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tokio", - actual = "@raze__tokio__1_21_1//:tokio", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tokio_util", - actual = "@raze__tokio_util__0_7_4//:tokio_util", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unic_langid", - actual = "@raze__unic_langid__0_9_0//:unic_langid", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unic_ucd_category", - actual = "@raze__unic_ucd_category__0_9_0//:unic_ucd_category", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unicase", - actual = "@raze__unicase__2_6_0//:unicase", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unicode_normalization", - actual = "@raze__unicode_normalization__0_1_22//:unicode_normalization", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "utime", - actual = "@raze__utime__0_3_1//:utime", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "walkdir", - actual = "@raze__walkdir__2_3_2//:walkdir", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "which", - actual = "@raze__which__4_3_0//:which", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "zip", - actual = "@raze__zip__0_6_2//:zip", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "zstd", - actual = "@raze__zstd__0_11_2_zstd_1_5_2//:zstd", - tags = [ - "cargo-raze", - "manual", - ], -) diff --git a/rslib/linkchecker/tests/links.rs b/rslib/linkchecker/tests/links.rs index e9c63053f..19e6a3e8f 100644 --- a/rslib/linkchecker/tests/links.rs +++ b/rslib/linkchecker/tests/links.rs @@ -5,7 +5,7 @@ use anki::links::HelpPage; #[cfg(test)] mod test { - use std::iter; + use std::{env, iter}; use futures::StreamExt; use itertools::Itertools; @@ -29,6 +29,10 @@ mod test { #[tokio::test] async fn check_links() { + if env::var("ONLINE_TESTS").is_err() { + println!("test disabled; ONLINE_TESTS not set"); + return; + } let ctx = BasicContext::default(); let result = futures::stream::iter(HelpPage::iter()) .map(|page| check_page(page, &ctx)) diff --git a/rslib/rustfmt.bzl b/rslib/rustfmt.bzl deleted file mode 100644 index 15690632f..000000000 --- a/rslib/rustfmt.bzl +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -def _rustfmt_impl(ctx): - toolchain = ctx.toolchains["@rules_rust//rust:toolchain"] - script_name = ctx.label.name + "_script" - rustfmt = toolchain.rustfmt.short_path - if ctx.attr.is_windows: - script_name += ".bat" - rustfmt = "@" + rustfmt.replace("/", "\\") - script = ctx.actions.declare_file(script_name) - - args = [f.path for f in ctx.files.srcs] - - if ctx.attr.fix: - mode = "--emit files" - else: - mode = "--check" - - ctx.actions.write( - output = script, - content = "{rustfmt} {mode} --edition {edition} {files}".format( - rustfmt = rustfmt, - edition = toolchain.default_edition, - files = " ".join(args), - mode = mode, - ), - ) - - runfiles = ctx.runfiles(files = ctx.files.srcs + [toolchain.rustfmt]) - return [DefaultInfo(runfiles = runfiles, executable = script)] - -_ATTRS = { - "srcs": attr.label_list(allow_files = True), - "is_windows": attr.bool(mandatory = True), - "fix": attr.bool(mandatory = True), -} - -_rustfmt_test = rule( - implementation = _rustfmt_impl, - test = True, - toolchains = [ - "@rules_rust//rust:toolchain", - ], - attrs = _ATTRS, -) - -_rustfmt_fix = rule( - implementation = _rustfmt_impl, - executable = True, - toolchains = [ - "@rules_rust//rust:toolchain", - ], - attrs = _ATTRS, -) - -def rustfmt_test(name, srcs, **kwargs): - _rustfmt_test( - name = name, - srcs = srcs, - testonly = True, - fix = False, - is_windows = select({ - "@bazel_tools//src/conditions:host_windows": True, - "//conditions:default": False, - }), - **kwargs - ) - -def rustfmt_fix(name, srcs, **kwargs): - # don't match //package/... - tags = kwargs.get("tags", []) - tags.append("manual") - - _rustfmt_fix( - name = name, - srcs = srcs, - tags = tags, - fix = True, - is_windows = select({ - "@bazel_tools//src/conditions:host_windows": True, - "//conditions:default": False, - }), - **kwargs - ) diff --git a/rslib/rustfmt.toml b/rslib/rustfmt.toml deleted file mode 100644 index 3c812a2b9..000000000 --- a/rslib/rustfmt.toml +++ /dev/null @@ -1,4 +0,0 @@ -# this is not supported on stable Rust, and is ignored by the Bazel rules; it is only -# useful for manual invocation with 'cargo +nightly fmt' -imports_granularity = "Crate" -group_imports = "StdExternalCrate" diff --git a/rslib/src/card/undo.rs b/rslib/src/card/undo.rs index e0b80a1fd..8f95829e0 100644 --- a/rslib/src/card/undo.rs +++ b/rslib/src/card/undo.rs @@ -21,7 +21,7 @@ impl Collection { .storage .get_card(card.id)? .or_invalid("card disappeared")?; - self.update_card_undoable(&mut *card, current) + self.update_card_undoable(&mut card, current) } UndoableCardChange::Removed(card) => self.restore_deleted_card(*card), UndoableCardChange::GraveAdded(e) => self.remove_card_grave(e.0, e.1), diff --git a/rslib/src/card_rendering/mod.rs b/rslib/src/card_rendering/mod.rs index 831ff8862..4ce02b9bc 100644 --- a/rslib/src/card_rendering/mod.rs +++ b/rslib/src/card_rendering/mod.rs @@ -144,7 +144,6 @@ mod test { format!( "[{}]", tr.errors_bad_directive("anki:tts", tr.errors_option_not_set("lang")) - .to_owned() ), vec![], ), diff --git a/rslib/src/card_rendering/writer.rs b/rslib/src/card_rendering/writer.rs index 0fc6d3112..77679e987 100644 --- a/rslib/src/card_rendering/writer.rs +++ b/rslib/src/card_rendering/writer.rs @@ -91,7 +91,7 @@ trait Write { } fn write_directive_option(&mut self, buf: &mut String, key: &str, val: &str) { - if val.contains::<&[char]>(&[']', ' ', '\t', '\r', '\n']) { + if val.contains([']', ' ', '\t', '\r', '\n']) { write!(buf, " {}=\"{}\"", key, val).unwrap(); } else { write!(buf, " {}={}", key, val).unwrap(); diff --git a/rslib/src/config/mod.rs b/rslib/src/config/mod.rs index 5b69ff8a0..8b1c9d994 100644 --- a/rslib/src/config/mod.rs +++ b/rslib/src/config/mod.rs @@ -337,10 +337,7 @@ mod test { // invalid json col.storage .db - .execute( - "update config set val=? where key='test'", - &[b"xx".as_ref()], - ) + .execute("update config set val=? where key='test'", [b"xx".as_ref()]) .unwrap(); assert_eq!(col.get_config_optional::("test"), None,); } diff --git a/rslib/src/deckconfig/schema11.rs b/rslib/src/deckconfig/schema11.rs index d8d0af9a9..1bf355dec 100644 --- a/rslib/src/deckconfig/schema11.rs +++ b/rslib/src/deckconfig/schema11.rs @@ -355,7 +355,7 @@ impl From for DeckConfSchema11 { usn: c.usn, max_taken: i.cap_answer_time_to_secs as i32, autoplay: !i.disable_autoplay, - timer: if i.show_timer { 1 } else { 0 }, + timer: i.show_timer.into(), replayq: !i.skip_question_when_replaying_answer, dynamic: false, new: NewConfSchema11 { diff --git a/rslib/src/decks/schema11.rs b/rslib/src/decks/schema11.rs index a3a763918..d30c4ad64 100644 --- a/rslib/src/decks/schema11.rs +++ b/rslib/src/decks/schema11.rs @@ -50,10 +50,7 @@ mod dynfix { })?; if needs_fix { - map.insert( - "dyn".into(), - Value::Number((if is_dyn { 1 } else { 0 }).into()), - ); + map.insert("dyn".into(), Value::Number(u8::from(is_dyn).into())); } // remove an obsolete key @@ -387,11 +384,7 @@ impl From for DeckCommonSchema11 { today: (&deck).into(), study_collapsed: deck.common.study_collapsed, browser_collapsed: deck.common.browser_collapsed, - dynamic: if matches!(deck.kind, DeckKind::Filtered(_)) { - 1 - } else { - 0 - }, + dynamic: matches!(deck.kind, DeckKind::Filtered(_)).into(), markdown_description: match &deck.kind { DeckKind::Normal(n) => n.markdown_description, DeckKind::Filtered(_) => false, diff --git a/rslib/src/decks/undo.rs b/rslib/src/decks/undo.rs index 6a07c7191..4e8bd430c 100644 --- a/rslib/src/decks/undo.rs +++ b/rslib/src/decks/undo.rs @@ -22,7 +22,7 @@ impl Collection { .storage .get_deck(deck.id)? .or_invalid("deck disappeared")?; - self.update_single_deck_undoable(&mut *deck, current) + self.update_single_deck_undoable(&mut deck, current) } UndoableDeckChange::Removed(deck) => self.restore_deleted_deck(*deck), UndoableDeckChange::GraveAdded(e) => self.remove_deck_grave(e.0, e.1), diff --git a/rslib/src/import_export/package/apkg/tests.rs b/rslib/src/import_export/package/apkg/tests.rs index 304839f4e..f37866f1c 100644 --- a/rslib/src/import_export/package/apkg/tests.rs +++ b/rslib/src/import_export/package/apkg/tests.rs @@ -134,7 +134,7 @@ impl Collection { fn assert_note_and_media(&mut self, note: &Note) { let sha1 = sha1_of_data(MP3_DATA); - let new_mp3_name = format!("sample-{}.mp3", hex::encode(&sha1)); + let new_mp3_name = format!("sample-{}.mp3", hex::encode(sha1)); let csums = MediaManager::new(&self.media_folder, &self.media_db) .unwrap() .all_checksums_as_is(); diff --git a/rslib/src/io.rs b/rslib/src/io.rs index d3ad39362..4e66fcc49 100644 --- a/rslib/src/io.rs +++ b/rslib/src/io.rs @@ -90,7 +90,7 @@ pub(crate) fn atomic_rename(file: NamedTempFile, target: &Path, fsync: bool) -> op: FileOp::Sync, })?; } - file.persist(&target)?; + file.persist(target)?; #[cfg(not(windows))] if fsync { if let Some(parent) = target.parent() { diff --git a/rslib/src/media/database.rs b/rslib/src/media/database.rs index fe305129f..fa2149617 100644 --- a/rslib/src/media/database.rs +++ b/rslib/src/media/database.rs @@ -18,9 +18,9 @@ pub(super) fn open_or_create>(path: P) -> Result { db.trace(Some(trace)); } - db.pragma_update(None, "page_size", &4096)?; - db.pragma_update(None, "legacy_file_format", &false)?; - db.pragma_update_and_check(None, "journal_mode", &"wal", |_| Ok(()))?; + db.pragma_update(None, "page_size", 4096)?; + db.pragma_update(None, "legacy_file_format", false)?; + db.pragma_update_and_check(None, "journal_mode", "wal", |_| Ok(()))?; initial_db_setup(&mut db)?; diff --git a/rslib/src/storage/mod.rs b/rslib/src/storage/mod.rs index 781729327..22b960677 100644 --- a/rslib/src/storage/mod.rs +++ b/rslib/src/storage/mod.rs @@ -77,16 +77,16 @@ mod test { #[test] fn ids_string() { let mut s = String::new(); - ids_to_string(&mut s, &[0; 0]); + ids_to_string(&mut s, [0; 0]); assert_eq!(s, "()"); s.clear(); - ids_to_string(&mut s, &[7]); + ids_to_string(&mut s, [7]); assert_eq!(s, "(7)"); s.clear(); - ids_to_string(&mut s, &[7, 6]); + ids_to_string(&mut s, [7, 6]); assert_eq!(s, "(7,6)"); s.clear(); - ids_to_string(&mut s, &[7, 6, 5]); + ids_to_string(&mut s, [7, 6, 5]); assert_eq!(s, "(7,6,5)"); s.clear(); } diff --git a/rslib/src/storage/sqlite.rs b/rslib/src/storage/sqlite.rs index 95a25dd92..869448987 100644 --- a/rslib/src/storage/sqlite.rs +++ b/rslib/src/storage/sqlite.rs @@ -44,11 +44,11 @@ fn open_or_create_collection_db(path: &Path) -> Result { db.busy_timeout(std::time::Duration::from_secs(0))?; - db.pragma_update(None, "locking_mode", &"exclusive")?; - db.pragma_update(None, "page_size", &4096)?; - db.pragma_update(None, "cache_size", &(-40 * 1024))?; - db.pragma_update(None, "legacy_file_format", &false)?; - db.pragma_update(None, "journal_mode", &"wal")?; + db.pragma_update(None, "locking_mode", "exclusive")?; + db.pragma_update(None, "page_size", 4096)?; + db.pragma_update(None, "cache_size", -40 * 1024)?; + db.pragma_update(None, "legacy_file_format", false)?; + db.pragma_update(None, "journal_mode", "wal")?; // Android has no /tmp folder, and fails in the default config. #[cfg(target_os = "android")] db.pragma_update(None, "temp_store", &"memory")?; @@ -271,7 +271,7 @@ impl SqliteStorage { if let Some(version) = desired_version { self.downgrade_to(version)?; if version.has_journal_mode_delete() { - self.db.pragma_update(None, "journal_mode", &"delete")?; + self.db.pragma_update(None, "journal_mode", "delete")?; } } Ok(()) diff --git a/rslib/src/sync/mod.rs b/rslib/src/sync/mod.rs index 5a503659a..62360922e 100644 --- a/rslib/src/sync/mod.rs +++ b/rslib/src/sync/mod.rs @@ -1488,7 +1488,7 @@ mod test { .map(|t| t.name) .collect::>() ); - + std::thread::sleep(std::time::Duration::from_millis(1)); Ok(()) }; @@ -1533,6 +1533,7 @@ mod test { } // fixme: inconsistent usn arg + std::thread::sleep(std::time::Duration::from_millis(1)); col1.remove_cards_and_orphaned_notes(&[cardid])?; let usn = col1.usn()?; col1.remove_note_only_undoable(noteid, usn)?; diff --git a/rslib/src/sync/server.rs b/rslib/src/sync/server.rs index 789a07714..377f7515a 100644 --- a/rslib/src/sync/server.rs +++ b/rslib/src/sync/server.rs @@ -195,7 +195,7 @@ impl SyncServer for LocalServer { let new_file: NamedTempFile; if !can_consume { new_file = new_tempfile()?; - fs::copy(col_path, &new_file.path())?; + fs::copy(col_path, new_file.path())?; col_path = new_file.path(); } diff --git a/rslib/src/template.rs b/rslib/src/template.rs index 476c744b1..336368e50 100644 --- a/rslib/src/template.rs +++ b/rslib/src/template.rs @@ -397,10 +397,10 @@ impl ParsedTemplate { /// Replacements that use only standard filters will become part of /// a text node. If a non-standard filter is encountered, a partially /// rendered Replacement is returned for the calling code to complete. - fn render(&self, context: &RenderContext, tr: &I18n) -> TemplateResult> { + fn render(&self, context: &RenderContext, _tr: &I18n) -> TemplateResult> { let mut rendered = vec![]; - render_into(&mut rendered, self.0.as_ref(), context, tr)?; + render_into(&mut rendered, self.0.as_ref(), context)?; Ok(rendered) } @@ -410,7 +410,6 @@ fn render_into( rendered_nodes: &mut Vec, nodes: &[ParsedNode], context: &RenderContext, - tr: &I18n, ) -> TemplateResult<()> { use ParsedNode::*; for node in nodes { @@ -479,17 +478,17 @@ fn render_into( } Conditional { key, children } => { if context.evaluate_conditional(key.as_str(), false)? { - render_into(rendered_nodes, children.as_ref(), context, tr)?; + render_into(rendered_nodes, children.as_ref(), context)?; } else { // keep checking for errors, but discard rendered nodes - render_into(&mut vec![], children.as_ref(), context, tr)?; + render_into(&mut vec![], children.as_ref(), context)?; } } NegatedConditional { key, children } => { if context.evaluate_conditional(key.as_str(), true)? { - render_into(rendered_nodes, children.as_ref(), context, tr)?; + render_into(rendered_nodes, children.as_ref(), context)?; } else { - render_into(&mut vec![], children.as_ref(), context, tr)?; + render_into(&mut vec![], children.as_ref(), context)?; } } }; diff --git a/rslib/src/timestamp.rs b/rslib/src/timestamp.rs index a9c7eb6eb..4f6da5dc4 100644 --- a/rslib/src/timestamp.rs +++ b/rslib/src/timestamp.rs @@ -92,7 +92,7 @@ fn elapsed() -> time::Duration { let mut elap = time::SystemTime::now() .duration_since(time::SystemTime::UNIX_EPOCH) .unwrap(); - let now = Utc::now(); + let now = Local::now(); if now.hour() >= 2 && now.hour() < 4 { elap -= time::Duration::from_secs(60 * 60 * 2); } diff --git a/rslib/src/version.rs b/rslib/src/version.rs index a60ff5fa7..6cda89c10 100644 --- a/rslib/src/version.rs +++ b/rslib/src/version.rs @@ -5,23 +5,12 @@ use std::env; use lazy_static::lazy_static; -fn buildinfo(key: &str) -> &'static str { - let buildinfo = include_str!(env!("BUILDINFO")); - for line in buildinfo.split('\n') { - let mut it = line.split(' '); - if it.next().unwrap() == key { - return it.next().unwrap(); - } - } - unreachable!("{} not found", key); -} - pub fn version() -> &'static str { - buildinfo("STABLE_VERSION") + include_str!("../../.version").trim() } pub fn buildhash() -> &'static str { - buildinfo("STABLE_BUILDHASH") + option_env!("BUILDHASH").unwrap_or("dev").trim() } pub(crate) fn sync_client_version() -> &'static str { diff --git a/run b/run index 022a72fe9..bca066321 100755 --- a/run +++ b/run @@ -3,4 +3,8 @@ set -e export PYTHONWARNINGS=default -bazel run $BUILDARGS //qt:runanki -- $* +export PYTHONPYCACHEPREFIX=out/pycache +export ANKIDEV=1 + +./ninja pylib/anki qt/aqt +./out/pyenv/bin/python tools/run.py $* diff --git a/run.bat b/run.bat index 910998fb3..899e9bf4f 100755 --- a/run.bat +++ b/run.bat @@ -1,7 +1,10 @@ @echo off pushd "%~dp0" -call tools\setup-env.bat set PYTHONWARNINGS=default -bazel run %BUILDARGS% //qt:runanki -k -- %* || exit /b 1 +set PYTHONPYCACHEPREFIX=out\pycache +set ANKIDEV=1 + +call tools\ninja pylib/anki qt/aqt || exit /b 1 +.\out\pyenv\scripts\python tools\run.py %* || exit /b 1 popd diff --git a/rust-toolchain.toml b/rust-toolchain.toml new file mode 100644 index 000000000..ed12be3b1 --- /dev/null +++ b/rust-toolchain.toml @@ -0,0 +1,3 @@ +[toolchain] +# older versions may fail to compile; newer versions may fail the clippy tests +channel = "1.65" diff --git a/sass/BUILD.bazel b/sass/BUILD.bazel deleted file mode 100644 index 2206cdad0..000000000 --- a/sass/BUILD.bazel +++ /dev/null @@ -1,111 +0,0 @@ -load("@io_bazel_rules_sass//:defs.bzl", "sass_library") -load("//ts:compile_sass.bzl", "compile_sass") - -sass_library( - name = "base_lib", - srcs = [ - "base.scss", - "bootstrap-dark.scss", - ], - visibility = ["//visibility:public"], - deps = [ - "vars_lib", - "//sass/bootstrap", - ], -) - -sass_library( - name = "vars_lib", - srcs = [ - "_color-palette.scss", - "_functions.scss", - "_vars.scss", - ], - visibility = ["//visibility:public"], -) - -sass_library( - name = "buttons_lib", - srcs = [ - "buttons.scss", - ], - visibility = ["//visibility:public"], -) - -sass_library( - name = "card_counts_lib", - srcs = [ - "card-counts.scss", - ], - visibility = ["//visibility:public"], -) - -# minimal definitions used by AnkiMobile's editor - should be safe to remove -# once AnkiMobile switches to the new editor code in the future -sass_library( - name = "core_lib", - srcs = [ - "_vars.scss", - "core.scss", - ], - visibility = ["//visibility:public"], -) - -sass_library( - name = "scrollbar_lib", - srcs = [ - "scrollbar.scss", - ], - visibility = ["//visibility:public"], -) - -sass_library( - name = "panes_lib", - srcs = [ - "panes.scss", - ], - visibility = ["//visibility:public"], -) - -sass_library( - name = "breakpoints_lib", - srcs = [ - "breakpoints.scss", - ], - visibility = ["//visibility:public"], -) - -sass_library( - name = "button_mixins_lib", - srcs = [ - "_button-mixins.scss", - ], - visibility = ["//visibility:public"], - deps = [ - "elevation_lib", - "vars_lib", - ], -) - -sass_library( - name = "night_mode_lib", - srcs = [ - "night-mode.scss", - ], - visibility = ["//visibility:public"], -) - -sass_library( - name = "elevation_lib", - srcs = [ - "elevation.scss", - ], - visibility = ["//visibility:public"], -) - -compile_sass( - srcs = ["_root-vars.scss"], - group = "vars_css", - visibility = ["//visibility:public"], - deps = ["vars_lib"], -) diff --git a/sass/bootstrap-forms.scss b/sass/bootstrap-forms.scss index 940d50fce..1af7cb63d 100644 --- a/sass/bootstrap-forms.scss +++ b/sass/bootstrap-forms.scss @@ -1,7 +1,7 @@ /* Copyright: Ankitects Pty Ltd and contributors * License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html */ -@import "sass/bootstrap/scss/forms"; +@import "bootstrap/scss/forms"; .form-control, .form-select { diff --git a/sass/bootstrap-tooltip.scss b/sass/bootstrap-tooltip.scss index 4919e59db..e52aec2a7 100644 --- a/sass/bootstrap-tooltip.scss +++ b/sass/bootstrap-tooltip.scss @@ -7,7 +7,7 @@ $tooltip-padding-y: 0.45rem; $tooltip-padding-x: 0.65rem; $tooltip-max-width: 300px; -@import "sass/bootstrap/scss/tooltip"; +@import "bootstrap/scss/tooltip"; .tooltip-inner { text-align: start; diff --git a/sass/bootstrap/BUILD.bazel b/sass/bootstrap/BUILD.bazel deleted file mode 100644 index 5dda9e78d..000000000 --- a/sass/bootstrap/BUILD.bazel +++ /dev/null @@ -1,22 +0,0 @@ -load("//ts:vendor.bzl", "pkg_from_name", "vendor_js_lib") -load("@io_bazel_rules_sass//:defs.bzl", "sass_library") - -# copy bootstrap sass files in -vendor_js_lib( - name = "sass-sources", - include = [ - "scss", - ], - base = "external/npm/node_modules/bootstrap/", - pkg = pkg_from_name("bootstrap"), - visibility = ["//visibility:private"], -) - -# wrap them in a library -sass_library( - name = "bootstrap", - srcs = [ - ":sass-sources", - ], - visibility = ["//visibility:public"], -) diff --git a/tools/BUILD.bazel b/tools/BUILD.bazel deleted file mode 100644 index d672bdd3b..000000000 --- a/tools/BUILD.bazel +++ /dev/null @@ -1,12 +0,0 @@ -py_binary( - name = "buildinfo", - srcs = ["buildinfo.py"], - data = ["//:defs.bzl"], - stamp = 1, - visibility = ["//visibility:public"], -) - -py_binary( - name = "cleanup_js", - srcs = ["cleanup_js.py"], -) diff --git a/tools/bazel b/tools/bazel deleted file mode 100755 index 955ce4a7a..000000000 --- a/tools/bazel +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -set -e - -# When building under Rosetta, use a separate output root, so that repo rules don't -# need to be run again when switching between x86_64 and arm64 builds. -extra_args="" -if [[ $OSTYPE == 'darwin'* ]]; then - if [ $(uname -m) = x86_64 -a "$(sysctl -in sysctl.proc_translated)" = 1 ]; then - extra_args="--output_base=$HOME/.cache/anki-rosetta" - fi -fi - -# Bazelisk will place the tools folder at the front of the path. This breaks -# genrule() invocations like //:buildinfo, as they call 'bazel run python', which -# fails as BAZEL_REAL is not passed to the child process. Work around it by removing -# the tools folder from the path. -toolsPath=$(dirname $0) -export PATH=$(echo "$PATH" | sed "s@${toolsPath}:@@") - -exec $BAZEL_REAL $extra_args "$@" diff --git a/tools/build b/tools/build index 250c4f4c3..4fd78e195 100755 --- a/tools/build +++ b/tools/build @@ -1,21 +1,5 @@ #!/bin/bash set -e - -test -e WORKSPACE || ( - echo "Run from project root" - exit 1 -) - -cwd=$(pwd) -build=.bazel/out/dist - -# we remove wheels between runs, so old builds -# don't break 'pip install dist/*.whl' -rm -rf ${build}/*.whl - -bazel build --config opt wheels -mkdir -p $build -cd $build && tar xf ${cwd}/.bazel/bin/wheels.tar - -echo "wheels are in .bazel/out/dist" +RELEASE=1 ./ninja wheels +echo "wheels are in out/wheels" diff --git a/tools/build.bat b/tools/build.bat index d9f5c0c2c..a7db3a2c7 100755 --- a/tools/build.bat +++ b/tools/build.bat @@ -1,18 +1,5 @@ @echo off pushd "%~dp0"\.. -call tools\setup-env.bat - -echo --- Build wheels - -set cwd=%CD% -set dist=.bazel\out\dist - -bazel build -c opt wheels --color=yes || exit /b 1 -if exist %dist% ( - rd /s /q %dist% || exit /b 1 -) -md %dist% || exit /b 1 -cd %dist% -tar xvf %cwd%\.bazel\bin\wheels.tar || exit /b 1 -echo wheels are in %dist% +set RELEASE=1 +.\ninja wheels || exit /b 1 popd diff --git a/tools/buildinfo.py b/tools/buildinfo.py deleted file mode 100644 index c1252dffa..000000000 --- a/tools/buildinfo.py +++ /dev/null @@ -1,31 +0,0 @@ -#!/usr/bin/env python -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -import re -import sys - -defs_file = sys.argv[1] -stamp_file = sys.argv[2] -release_mode = sys.argv[3] == "release" - -version_re = re.compile('anki_version = "(.*)"') - - -def output(text: str) -> None: - "Add text with a '\n' to stdout; avoiding a '\r' on Windows" - sys.stdout.buffer.write(text.encode("utf8") + b"\n") - - -# extract version number from defs.bzl -for line in open(defs_file).readlines(): - if ver := version_re.match(line): - output(f"STABLE_VERSION {ver.group(1)}") - -for line in open(stamp_file).readlines(): - if line.startswith("STABLE_BUILDHASH"): - if release_mode: - output(line.strip()) - else: - # if not in release mode, map buildhash to a consistent value - output("STABLE_BUILDHASH dev") diff --git a/tools/bundle b/tools/bundle deleted file mode 100755 index ecbb169f8..000000000 --- a/tools/bundle +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/bash - -set -e - -cd $(dirname $0) -ROOT=$(pwd)/.. -OUTPUT_ROOT=$ROOT/.bazel/out/build -VENV=$OUTPUT_ROOT/venv-$(uname -m) -BAZEL_EXTERNAL=$(bazel info output_base --ui_event_filters=-INFO)/external - -echo "--- Building wheels for $(uname -m)" -(cd $ROOT && ./tools/build) - -echo "--- Setup venv" -test -d $VENV || ( - mkdir -p $OUTPUT_ROOT - (cd $ROOT && ./tools/python -m venv $VENV) -) - -echo "--- Fetch extra deps" -bazel query @pyoxidizer//:* -if [[ "$OSTYPE" == "darwin"* ]]; then - if [ $(uname -m) != "arm64" ]; then - bazel query @audio_mac_amd64//:* > /dev/null - bazel query @pyqt6.4_mac_bundle_amd64//:* > /dev/null - bazel query @pyqt5.14_mac_bundle_amd64//:* > /dev/null - else - bazel query @audio_mac_arm64//:* > /dev/null - bazel query @pyqt6.4_mac_bundle_arm64//:* > /dev/null - fi -else - bazel query @pyqt515//:* > /dev/null - bazel query @bundle_extras_linux_amd64//:* > /dev/null -fi - -. $ROOT/tools/cargo-env -(cd $ROOT/qt/bundle && $VENV/bin/python build.py $ROOT $BAZEL_EXTERNAL) diff --git a/tools/bundle.bat b/tools/bundle.bat deleted file mode 100755 index c1dbe0765..000000000 --- a/tools/bundle.bat +++ /dev/null @@ -1,33 +0,0 @@ -@echo off -pushd "%~dp0"\.. -call tools\setup-env.bat - -:: ensure wheels are built and set up Rust env -call tools\build || exit /b 1 -call tools\cargo-env -set ROOT=%CD% - -:: ensure venv exists -echo --- Setup venv -set OUTPUT_ROOT=%ROOT%\.bazel\out\build -set VENV=%OUTPUT_ROOT%\venv-AMD64 -if not exist %VENV% ( - mkdir %OUTPUT_ROOT% - call tools\python -m venv %VENV% || exit /b -) - -:: pyoxidizer requires python.org for build -set PATH=\python39;%PATH% - -:: run the rest of the build in Python -echo --- Fetching extra deps -FOR /F "tokens=*" %%g IN ('bazel info output_base --ui_event_filters=-INFO') do (SET BAZEL_EXTERNAL=%%g/external) -bazel query @pyqt515//:* > nul -bazel query @pyoxidizer//:* > nul -bazel query @audio_win_amd64//:* > nul - -echo --- Build bundle -pushd qt\bundle -%VENV%\scripts\python build.py %ROOT% %BAZEL_EXTERNAL% || exit /b -popd -popd \ No newline at end of file diff --git a/tools/cargo-env b/tools/cargo-env deleted file mode 100755 index e242bbd1e..000000000 --- a/tools/cargo-env +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# Put our vendored version of cargo on the path. Can be helpful if you need -# quick access to cargo on a machine that does not have Rust installed -# separately, or want to run a quick check. Eg: - -# $ . tools/cargo-env -# $ (cd rslib && cargo check) - -BAZEL_EXTERNAL=$(bazel info output_base --ui_event_filters=-INFO)/external - -if [[ "$OSTYPE" == "darwin"* ]]; then - if [ "$(uname -m)" == "x86_64" ]; then - export PATH="$BAZEL_EXTERNAL/rust_darwin_x86_64/bin:$PATH" - else - export PATH="$BAZEL_EXTERNAL/rust_darwin_aarch64/bin:$PATH" - fi -else - if [ "$(uname -m)" == "aarch64" ]; then - export PATH="$BAZEL_EXTERNAL/rust_linux_aarch64/bin:$PATH" - else - export PATH="$BAZEL_EXTERNAL/rust_linux_x86_64/bin:$PATH" - fi -fi diff --git a/tools/cargo-env.bat b/tools/cargo-env.bat deleted file mode 100644 index 474793e1e..000000000 --- a/tools/cargo-env.bat +++ /dev/null @@ -1,7 +0,0 @@ -@echo off -pushd "%~dp0"\.. -call tools\setup-env.bat - -FOR /F "tokens=*" %%g IN ('bazel info output_base --ui_event_filters=-INFO') do (SET BAZEL_EXTERNAL=%%g/external) -set PATH=%BAZEL_EXTERNAL%\rust_windows_x86_64\bin;%PATH% -popd diff --git a/tools/cleanup_js.py b/tools/cleanup_js.py deleted file mode 100644 index 732e04165..000000000 --- a/tools/cleanup_js.py +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright: Ankitects Pty Ltd and contributors -# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html - -# Because Bazel doesn't support building on a sandbox on Windows, our TypeScript -# outputs are not getting properly tracked. When a ts file is renamed or removed, -# the old build product is not automatically cleaned up, and that leads to a -# build failure until the stale outputs are manually removed. This script runs -# through the output folder, and removes all .ts/.js files to unbreak the build. - -import os -from pathlib import Path -from typing import Iterable -import stat - -root = Path(os.environ["BUILD_WORKSPACE_DIRECTORY"]) -out_base = root / ".bazel" / "out" - - -def dts_and_js_files(path: Path) -> Iterable[Path]: - for entry in path.iterdir(): - if "runfiles" in entry.name: - continue - elif entry.is_dir(): - yield from dts_and_js_files(entry.resolve()) - elif entry.suffix in (".ts", ".js") and not entry.name.startswith("_"): - yield entry.resolve() - - -for output_folder in out_base.glob("*windows*/bin/ts"): - for path in dts_and_js_files(output_folder): - path.chmod(stat.S_IWRITE) - path.unlink() diff --git a/tools/copyright_headers.py b/tools/copyright_headers.py index 44aea6aae..db448accc 100644 --- a/tools/copyright_headers.py +++ b/tools/copyright_headers.py @@ -2,9 +2,13 @@ # License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html import os +import subprocess import sys from pathlib import Path +want_fix = sys.argv[1] == "fix" +checked_for_dirty = False + nonstandard_header = { "pylib/anki/_vendor/stringcase.py", "pylib/anki/importing/pauker.py", @@ -12,6 +16,7 @@ nonstandard_header = { "pylib/anki/statsbg.py", "pylib/tools/protoc-gen-mypy.py", "python/pyqt/install.py", + "python/write_wheel.py", "qt/aqt/mpv.py", "qt/aqt/winpaths.py", "qt/bundle/build.rs", @@ -19,19 +24,58 @@ nonstandard_header = { } ignored_folders = [ - "bazel-", - "qt/forms", + "out", "node_modules", + "qt/forms", + "tools/workspace-hack", + "qt/bundle/PyOxidizer", ] -if not os.path.exists("WORKSPACE"): - print("run from workspace root") - sys.exit(1) + +def fix(path: Path) -> None: + with open(path, "r", encoding="utf8") as f: + existing_text = f.read() + path_str = str(path) + if path_str.endswith(".py"): + header = """\ +# Copyright: Ankitects Pty Ltd and contributors +# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +""" + elif ( + path_str.endswith(".ts") + or path_str.endswith(".rs") + or path_str.endswith(".mjs") + ): + header = """\ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +""" + elif path_str.endswith(".svelte"): + header = """\ + + +""" + with open(path, "w", encoding="utf8") as f: + f.write(header + existing_text) + found = False +if sys.platform == "win32": + ignored_folders = [f.replace("/", "\\") for f in ignored_folders] + nonstandard_header = {f.replace("/", "\\") for f in nonstandard_header} + for dirpath, dirnames, fnames in os.walk("."): dir = Path(dirpath) + # avoid infinite recursion with old symlink + if ".bazel" in dirnames: + dirnames.remove(".bazel") + ignore = False for folder in ignored_folders: if folder in dirpath: @@ -41,10 +85,10 @@ for dirpath, dirnames, fnames in os.walk("."): continue for fname in fnames: - for ext in ".py", ".ts", ".rs", ".svelte": + for ext in ".py", ".ts", ".rs", ".svelte", ".mjs": if fname.endswith(ext): path = dir / fname - with open(path) as f: + with open(path, encoding="utf8") as f: top = f.read(256) if not top.strip(): continue @@ -52,7 +96,16 @@ for dirpath, dirnames, fnames in os.walk("."): continue if fname.endswith(".d.ts"): continue - if "Ankitects Pty Ltd and contributors" not in top: + missing = "Ankitects Pty Ltd and contributors" not in top + if missing: + if want_fix: + if not checked_for_dirty: + if subprocess.getoutput("git diff"): + print("stage any changes first") + sys.exit(1) + checked_for_dirty = True + fix(path) + else: print("missing standard copyright header:", path) found = True diff --git a/tools/dmypy b/tools/dmypy new file mode 100755 index 000000000..b24c9ffa8 --- /dev/null +++ b/tools/dmypy @@ -0,0 +1,6 @@ +#!/bin/bash +# +# Run mypy in daemon mode for fast checking + +./ninja pylib/anki qt/aqt +MYPY_CACHE_DIR=out/tests/mypy out/pyenv/bin/dmypy run pylib/anki qt/aqt pylib/tests diff --git a/tools/mypy b/tools/mypy deleted file mode 100755 index 6dc249a15..000000000 --- a/tools/mypy +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -# -# Run mypy, keeping it around as a daemon for faster checks. -# Does not work on Windows. - -bazel run qt:dmypy diff --git a/tools/mypy-watch b/tools/mypy-watch deleted file mode 100755 index 7aec24666..000000000 --- a/tools/mypy-watch +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash -# -# Run mypy as a daemon each time files change. Requires -# fswatch to be installed, and not working on Windows. - -# run once at startup -cmd='printf \\033c\\n; bazel run qt:dmypy' -sh -c "$cmd" - -# then monitor for changes -fswatch -r -o --event Updated pylib qt | xargs -n1 -I{} sh -c "$cmd" \ No newline at end of file diff --git a/tools/ninja.bat b/tools/ninja.bat new file mode 100755 index 000000000..3100b3b03 --- /dev/null +++ b/tools/ninja.bat @@ -0,0 +1,5 @@ +@echo off +set CARGO_TARGET_DIR=%~dp0\..\out\rust +REM separate build+run steps so build env doesn't leak into subprocesses +cargo build -p runner || exit /b 1 +out\rust\debug\runner build %* || exit /b 1 diff --git a/tools/node-env b/tools/node-env deleted file mode 100755 index 37d8b00cb..000000000 --- a/tools/node-env +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# Put our vendored version of node/yarn on the path. Can be helpful if you need -# quick access on a machine that does not have Node installed separately. - -# Eg: -# $ . tools/node-env -# $ (cd ts && yarn) - -BAZEL_EXTERNAL=$(bazel info output_base --ui_event_filters=-INFO)/external - -if [[ "$OSTYPE" == "darwin"* ]]; then - if [ "$(arch)" == "i386" ]; then - export PATH="$BAZEL_EXTERNAL/nodejs_darwin_amd64/bin:$PATH" - else - export PATH="$BAZEL_EXTERNAL/nodejs_darwin_arm64/bin:$PATH" - fi -else - if [ "$(arch)" == "aarch64" ]; then - export PATH="$BAZEL_EXTERNAL/nodejs_linux_arm64/bin:$PATH" - else - export PATH="$BAZEL_EXTERNAL/nodejs_linux_amd64/bin:$PATH" - fi -fi diff --git a/tools/python b/tools/python deleted file mode 100755 index 242f2e485..000000000 --- a/tools/python +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -bazel run python --ui_event_filters=-INFO -- $* diff --git a/tools/python.bat b/tools/python.bat deleted file mode 100755 index b4c237f09..000000000 --- a/tools/python.bat +++ /dev/null @@ -1,6 +0,0 @@ -@echo off -pushd "%~dp0"\.. -call tools\setup-env.bat - -bazel run python --ui_event_filters=-INFO -- %* -popd diff --git a/tools/run-qt5.14 b/tools/run-qt5.14 index d039be07a..e5aa9ae1e 100755 --- a/tools/run-qt5.14 +++ b/tools/run-qt5.14 @@ -1,17 +1,10 @@ #!/bin/bash -# note: 5.14 is not available on Windows for Python 3.9 - set -e -# automatically switch to an x86_64 build on macOS, as this -# Qt version does not work on arm64 -prefix="" -if [[ $OSTYPE == 'darwin'* ]]; then - if [ $(uname -m) = arm64 ]; then - prefix="arch -arch x86_64" - fi -fi - export PYTHONWARNINGS=default -$prefix bazel run $BUILDARGS //qt:runanki_qt514 -- $* +export PYTHONPYCACHEPREFIX=out/pycache +export ANKIDEV=1 + +./ninja pylib/anki qt/aqt pyenv-qt5.14 +./out/pyenv-qt5.14/bin/python tools/run.py $* diff --git a/tools/run-qt5.15 b/tools/run-qt5.15 index c22c47b68..93cb9af2f 100755 --- a/tools/run-qt5.15 +++ b/tools/run-qt5.15 @@ -2,14 +2,9 @@ set -e -# automatically switch to an x86_64 build on macOS, as this -# Qt version does not work on arm64 -prefix="" -if [[ $OSTYPE == 'darwin'* ]]; then - if [ $(uname -m) = arm64 ]; then - prefix="arch -arch x86_64" - fi -fi - export PYTHONWARNINGS=default -$prefix bazel run $BUILDARGS //qt:runanki_qt515 -- $* +export PYTHONPYCACHEPREFIX=out/pycache +export ANKIDEV=1 + +./ninja pylib/anki qt/aqt pyenv-qt5.15 +./out/pyenv-qt5.15/bin/python tools/run.py $* diff --git a/tools/run-qt5.15.bat b/tools/run-qt5.15.bat index 641e6ab93..04c738c14 100755 --- a/tools/run-qt5.15.bat +++ b/tools/run-qt5.15.bat @@ -1,7 +1,10 @@ @echo off -pushd "%~dp0"\.. -call tools\setup-env.bat +pushd "%~dp0\.." set PYTHONWARNINGS=default -bazel run %BUILDARGS% //qt:runanki_qt515 -k -- %* -popd \ No newline at end of file +set PYTHONPYCACHEPREFIX=out\pycache +set ANKIDEV=1 + +call tools\ninja pylib/anki qt/aqt pyenv-qt5.15 || exit /b 1 +.\out\pyenv-qt5.15\scripts\python tools\run.py %* || exit /b 1 +popd diff --git a/tools/run.py b/tools/run.py new file mode 100644 index 000000000..35be14068 --- /dev/null +++ b/tools/run.py @@ -0,0 +1,10 @@ +# Copyright: Ankitects Pty Ltd and contributors +# License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +import sys + +sys.path.extend(["pylib", "qt", "out/pylib", "out/qt"]) + +import aqt + +aqt.run() diff --git a/tools/runopt b/tools/runopt index 5663c58cd..bbc1f634e 100755 --- a/tools/runopt +++ b/tools/runopt @@ -2,4 +2,4 @@ set -e -BUILDARGS="--config opt" $(dirname $0)/../run $* +RELEASE=1 $(dirname $0)/../run $* diff --git a/tools/runopt.bat b/tools/runopt.bat deleted file mode 100755 index 47b503ac2..000000000 --- a/tools/runopt.bat +++ /dev/null @@ -1,7 +0,0 @@ -@echo off -pushd "%~dp0"\.. -call tools\setup-env.bat - -set BUILDARGS=-c opt -call .\run.bat %* -popd \ No newline at end of file diff --git a/tools/status.sh b/tools/status.sh deleted file mode 100755 index e02172a2a..000000000 --- a/tools/status.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -echo "STABLE_BUILDHASH $(git rev-parse --short=8 HEAD || echo nogit)" diff --git a/tools/svelte-check b/tools/svelte-check deleted file mode 100755 index 287230191..000000000 --- a/tools/svelte-check +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash - -. tools/node-env -SASS_PATH=ts/sass:$(pwd)/.bazel/bin/ts/sass \ - node_modules/.bin/svelte-check \ - --workspace ts diff --git a/tools/ts-run b/tools/ts-run index 08cb929c4..25bc53c9c 100755 --- a/tools/ts-run +++ b/tools/ts-run @@ -1,11 +1,6 @@ #!/bin/bash # -# Start Anki with the data folder pointed at bazel-bin, -# which is useful when developing TS pages on a Mac. -# # The pages can be accessed by, eg surfing to # http://localhost:40000/_anki/pages/deckconfig.html -ANKI_DATA_FOLDER=$(pwd)/.bazel/bin/qt/aqt \ - QTWEBENGINE_REMOTE_DEBUGGING=8080 \ - ANKI_API_PORT=40000 ANKIDEV=1 ./run $* +QTWEBENGINE_REMOTE_DEBUGGING=8080 ANKI_API_PORT=40000 ./run $* diff --git a/tools/workspace-hack/.gitattributes b/tools/workspace-hack/.gitattributes new file mode 100644 index 000000000..3e9dba4b6 --- /dev/null +++ b/tools/workspace-hack/.gitattributes @@ -0,0 +1,4 @@ +# Avoid putting conflict markers in the generated Cargo.toml file, since their presence breaks +# Cargo. +# Also do not check out the file as CRLF on Windows, as that's what hakari needs. +Cargo.toml merge=binary -crlf diff --git a/tools/workspace-hack/Cargo.toml b/tools/workspace-hack/Cargo.toml new file mode 100644 index 000000000..961108ae3 --- /dev/null +++ b/tools/workspace-hack/Cargo.toml @@ -0,0 +1,67 @@ +# This file is generated by `cargo hakari`. +# To regenerate, run: +# cargo hakari generate + +[package] +name = "workspace-hack" +version = "0.1.0" +# You can choose to publish this crate: see https://docs.rs/cargo-hakari/latest/cargo_hakari/publishing. +publish = false +description = "workspace-hack package, managed by hakari" + +# The parts of the file between the BEGIN HAKARI SECTION and END HAKARI SECTION comments +# are managed by hakari. + +### BEGIN HAKARI SECTION +[dependencies] +bstr = { version = "0.2", features = ["lazy_static", "regex-automata", "serde", "serde1", "serde1-nostd", "std", "unicode"] } +bytes = { version = "1", features = ["std"] } +chrono = { version = "0.4", features = ["alloc", "clock", "iana-time-zone", "js-sys", "oldtime", "std", "time", "wasm-bindgen", "wasmbind", "winapi"] } +crossbeam-utils = { version = "0.8", features = ["once_cell", "std"] } +either = { version = "1", features = ["use_std"] } +flate2 = { version = "1", features = ["miniz_oxide", "rust_backend"] } +generic-array = { version = "0.14", default-features = false, features = ["more_lengths"] } +getrandom = { version = "0.2", default-features = false, features = ["std"] } +hashbrown = { version = "0.12", features = ["ahash", "inline-more", "raw"] } +indexmap = { version = "1", default-features = false, features = ["std"] } +log = { version = "0.4", default-features = false, features = ["std"] } +nodrop = { version = "0.1", features = ["std"] } +num-integer = { version = "0.1", features = ["std"] } +num-traits = { version = "0.2", features = ["std"] } +phf_shared = { version = "0.11", default-features = false, features = ["std"] } +prost = { version = "0.11", features = ["prost-derive", "std"] } +rand = { version = "0.8", features = ["alloc", "getrandom", "libc", "rand_chacha", "small_rng", "std", "std_rng"] } +rand_core = { version = "0.6", default-features = false, features = ["alloc", "getrandom", "std"] } +regex = { version = "1", features = ["aho-corasick", "memchr", "perf", "perf-cache", "perf-dfa", "perf-inline", "perf-literal", "std", "unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment"] } +regex-syntax = { version = "0.6", features = ["unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment"] } +scopeguard = { version = "1", features = ["use_std"] } +serde = { version = "1", features = ["alloc", "derive", "rc", "serde_derive", "std"] } +sha2 = { version = "0.10", features = ["std"] } +slog = { version = "2", features = ["max_level_trace", "release_max_level_debug", "std"] } +snafu = { version = "0.7", features = ["backtrace", "backtraces", "rust_1_39", "rust_1_46", "std"] } +time = { version = "0.3", features = ["alloc", "formatting", "itoa", "local-offset", "macros", "parsing", "std", "time-macros"] } +tokio = { version = "1", features = ["bytes", "fs", "full", "io-std", "io-util", "libc", "macros", "memchr", "mio", "net", "num_cpus", "parking_lot", "process", "rt", "rt-multi-thread", "signal", "signal-hook-registry", "socket2", "sync", "time", "tokio-macros"] } +url = { version = "2", features = ["serde"] } +zip = { version = "0.6", features = ["aes", "aes-crypto", "bzip2", "constant_time_eq", "deflate", "flate2", "hmac", "pbkdf2", "sha1", "time", "zstd"] } +zstd = { version = "0.11", features = ["arrays", "legacy", "zdict_builder", "zstdmt"] } +zstd-safe = { version = "5", default-features = false, features = ["arrays", "legacy", "std", "zdict_builder", "zstdmt"] } +zstd-sys = { version = "2", default-features = false, features = ["legacy", "std", "zdict_builder", "zstdmt"] } + +[build-dependencies] +bytes = { version = "1", features = ["std"] } +cc = { version = "1", default-features = false, features = ["jobserver", "parallel"] } +either = { version = "1", features = ["use_std"] } +getrandom = { version = "0.2", default-features = false, features = ["std"] } +hashbrown = { version = "0.12", features = ["ahash", "inline-more", "raw"] } +indexmap = { version = "1", default-features = false, features = ["std"] } +log = { version = "0.4", default-features = false, features = ["std"] } +phf_shared = { version = "0.11", default-features = false, features = ["std"] } +prost = { version = "0.11", features = ["prost-derive", "std"] } +rand = { version = "0.8", features = ["alloc", "getrandom", "libc", "rand_chacha", "small_rng", "std", "std_rng"] } +rand_core = { version = "0.6", default-features = false, features = ["alloc", "getrandom", "std"] } +regex = { version = "1", features = ["aho-corasick", "memchr", "perf", "perf-cache", "perf-dfa", "perf-inline", "perf-literal", "std", "unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment"] } +regex-syntax = { version = "0.6", features = ["unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment"] } +serde = { version = "1", features = ["alloc", "derive", "rc", "serde_derive", "std"] } +syn = { version = "1", features = ["clone-impls", "derive", "extra-traits", "fold", "full", "parsing", "printing", "proc-macro", "quote", "visit-mut"] } + +### END HAKARI SECTION diff --git a/tools/workspace-hack/build.rs b/tools/workspace-hack/build.rs new file mode 100644 index 000000000..92518ef04 --- /dev/null +++ b/tools/workspace-hack/build.rs @@ -0,0 +1,2 @@ +// A build script is required for cargo to consider build dependencies. +fn main() {} diff --git a/tools/workspace-hack/src/lib.rs b/tools/workspace-hack/src/lib.rs new file mode 100644 index 000000000..22489f632 --- /dev/null +++ b/tools/workspace-hack/src/lib.rs @@ -0,0 +1 @@ +// This is a stub lib.rs. diff --git a/ts/BUILD.bazel b/ts/BUILD.bazel deleted file mode 100644 index 9fb25671a..000000000 --- a/ts/BUILD.bazel +++ /dev/null @@ -1,45 +0,0 @@ -load("//ts:prettier.bzl", "prettier", "prettier_test") -load("@build_bazel_rules_nodejs//:index.bzl", "copy_to_bin") - -prettier() - -prettier_test() - -# Exported files -################# - -exports_files([ - ".eslintrc.js", - "licenses.json", - "sql_format.ts", - "jest.config.js", - "package.json", - "protobuf-no-long.js", - "page.html", -]) - -# a copy needs to be placed in bazel-bin for libs with -# generated files -copy_to_bin( - name = "tsconfig_bin", - srcs = ["tsconfig.json"], - visibility = ["//visibility:public"], -) - -alias( - name = "yarn", - actual = "@nodejs//:yarn", -) - -alias( - name = "node", - actual = "@nodejs//:node", -) - -filegroup( - name = "ts", - srcs = [ - "//ts/icons", - ], - visibility = ["//ts:__subpackages__"], -) diff --git a/ts/bundle_svelte.mjs b/ts/bundle_svelte.mjs new file mode 100644 index 000000000..26d6fcda9 --- /dev/null +++ b/ts/bundle_svelte.mjs @@ -0,0 +1,51 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +import { build } from "esbuild"; +import { sassPlugin } from "esbuild-sass-plugin"; +import sveltePlugin from "esbuild-svelte"; +import { readFileSync, writeFileSync } from "fs"; +import { basename } from "path"; +import { argv } from "process"; +import sveltePreprocess from "svelte-preprocess"; +import { typescript } from "svelte-preprocess-esbuild"; + +const [_tsx, _script, entrypoint, bundle_js, bundle_css, page_html] = argv; + +if (page_html != null) { + const template = readFileSync("ts/page.html", { encoding: "utf8" }); + writeFileSync(page_html, template.replace(/{PAGE}/g, basename(page_html, ".html"))); +} + +// support Qt 5.14 +const target = ["es6", "chrome77"]; +const inlineCss = bundle_css == null; + +build({ + bundle: true, + entryPoints: [entrypoint], + globalName: "anki", + outfile: bundle_js, + minify: true, + loader: { ".svg": "text" }, + preserveSymlinks: true, + sourcemap: false, + plugins: [ + sassPlugin({ loadPaths: [".", "node_modules"] }), + sveltePlugin({ + compilerOptions: { css: inlineCss }, + preprocess: [ + typescript({ + target, + define: { + "process.browser": "true", + }, + tsconfig: "ts/tsconfig.json", + }), + sveltePreprocess({ typescript: false }), + ], + }), + ], + target, + // logLevel: "info", +}).catch(() => process.exit(1)); diff --git a/ts/bundle_ts.mjs b/ts/bundle_ts.mjs new file mode 100644 index 000000000..1ce642d3b --- /dev/null +++ b/ts/bundle_ts.mjs @@ -0,0 +1,19 @@ +// Copyright: Ankitects Pty Ltd and contributors +// License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +import { build } from "esbuild"; +import { argv } from "process"; + +const [_node, _script, entrypoint, bundle_js] = argv; + +// support Qt 5.14 +const target = ["es6", "chrome77"]; + +build({ + bundle: true, + entryPoints: [entrypoint], + outfile: bundle_js, + minify: true, + preserveSymlinks: true, + target, +}).catch(() => process.exit(1)); diff --git a/ts/card-info/BUILD.bazel b/ts/card-info/BUILD.bazel deleted file mode 100644 index 5f8829d95..000000000 --- a/ts/card-info/BUILD.bazel +++ /dev/null @@ -1,73 +0,0 @@ -load("//ts:prettier.bzl", "prettier_test") -load("//ts:eslint.bzl", "eslint_test") -load("//ts/svelte:svelte.bzl", "compile_svelte", "svelte_check") -load("//ts:esbuild.bzl", "esbuild") -load("//ts:generate_page.bzl", "generate_page") -load("//ts:compile_sass.bzl", "compile_sass") -load("//ts:typescript.bzl", "typescript") - -generate_page(page = "card-info") - -compile_sass( - group = "base_css", - srcs = ["card-info-base.scss"], - visibility = ["//visibility:public"], - deps = [ - "//sass:base_lib", - "//sass:scrollbar_lib", - "//sass/bootstrap", - ], -) - -_ts_deps = [ - "//ts/lib", - "//ts/components", - "@npm//@fluent", -] - -compile_svelte(deps = _ts_deps) - -typescript( - name = "index", - deps = _ts_deps + [ - ":svelte", - ], -) - -esbuild( - name = "card-info", - args = { - "globalName": "anki", - "loader": {".svg": "text"}, - }, - entry_point = "index.ts", - output_css = "card-info.css", - visibility = ["//visibility:public"], - deps = [ - ":base_css", - ":index", - ":svelte", - "//ts/components", - "//ts/lib", - "@npm//protobufjs", - ], -) - -# Tests -################ - -prettier_test() - -eslint_test() - -svelte_check( - name = "svelte_check", - srcs = glob([ - "*.ts", - "*.svelte", - ]) + [ - "//sass:button_mixins_lib", - "//sass/bootstrap", - "//ts/components", - ], -) diff --git a/ts/card-info/CardInfo.svelte b/ts/card-info/CardInfo.svelte index 694452ea2..e15fa89f8 100644 --- a/ts/card-info/CardInfo.svelte +++ b/ts/card-info/CardInfo.svelte @@ -3,10 +3,11 @@ Copyright: Ankitects Pty Ltd and contributors License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -->

{tr.cardStatsNoCard()}
diff --git a/ts/card-info/CardStats.svelte b/ts/card-info/CardStats.svelte index 29192018c..c846bd1d6 100644 --- a/ts/card-info/CardStats.svelte +++ b/ts/card-info/CardStats.svelte @@ -3,9 +3,9 @@ Copyright: Ankitects Pty Ltd and contributors License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html --> diff --git a/ts/deck-options/deck-options-base.scss b/ts/deck-options/deck-options-base.scss index 598153688..b70cc6628 100644 --- a/ts/deck-options/deck-options-base.scss +++ b/ts/deck-options/deck-options-base.scss @@ -3,14 +3,14 @@ // override Bootstrap transition duration $carousel-transition: 0.2s; -@import "sass/bootstrap/scss/dropdown"; -@import "sass/bootstrap/scss/buttons"; -@import "sass/bootstrap/scss/button-group"; -@import "sass/bootstrap/scss/transitions"; -@import "sass/bootstrap/scss/modal"; -@import "sass/bootstrap/scss/carousel"; -@import "sass/bootstrap/scss/close"; -@import "sass/bootstrap/scss/alert"; -@import "sass/bootstrap/scss/badge"; +@import "bootstrap/scss/dropdown"; +@import "bootstrap/scss/buttons"; +@import "bootstrap/scss/button-group"; +@import "bootstrap/scss/transitions"; +@import "bootstrap/scss/modal"; +@import "bootstrap/scss/carousel"; +@import "bootstrap/scss/close"; +@import "bootstrap/scss/alert"; +@import "bootstrap/scss/badge"; @import "sass/bootstrap-forms"; @import "sass/bootstrap-tooltip"; diff --git a/ts/deck-options/index.ts b/ts/deck-options/index.ts index 4ec275f55..8daa40815 100644 --- a/ts/deck-options/index.ts +++ b/ts/deck-options/index.ts @@ -6,12 +6,13 @@ */ import "../sveltelib/export-runtime"; -import "./deck-options-base.css"; +import "./deck-options-base.scss"; + +import { ModuleName, setupI18n } from "@tslib/i18n"; +import { checkNightMode } from "@tslib/nightmode"; +import { deckConfig, Decks } from "@tslib/proto"; import { modalsKey, touchDeviceKey } from "../components/context-keys"; -import { ModuleName, setupI18n } from "../lib/i18n"; -import { checkNightMode } from "../lib/nightmode"; -import { deckConfig, Decks } from "../lib/proto"; import DeckOptionsPage from "./DeckOptionsPage.svelte"; import { DeckOptionsState } from "./lib"; diff --git a/ts/deck-options/lib.test.ts b/ts/deck-options/lib.test.ts index 4daec7946..550b54379 100644 --- a/ts/deck-options/lib.test.ts +++ b/ts/deck-options/lib.test.ts @@ -5,9 +5,10 @@ @typescript-eslint/no-explicit-any: "off", */ + +import { DeckConfig } from "@tslib/proto"; import { get } from "svelte/store"; -import { DeckConfig } from "../lib/proto"; import { DeckOptionsState } from "./lib"; const exampleData = { @@ -304,9 +305,7 @@ test("aux data", () => { // ensure changes serialize const out = state.dataForSaving(true); expect(out.configs!.length).toBe(2); - const json = out.configs!.map((c) => - JSON.parse(new TextDecoder().decode(c.config!.other)), - ); + const json = out.configs!.map((c) => JSON.parse(new TextDecoder().decode(c.config!.other))); expect(json).toStrictEqual([ // other deck comes first { diff --git a/ts/deck-options/lib.ts b/ts/deck-options/lib.ts index 5a5428a4a..a1539eeb9 100644 --- a/ts/deck-options/lib.ts +++ b/ts/deck-options/lib.ts @@ -1,11 +1,12 @@ // Copyright: Ankitects Pty Ltd and contributors // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html +import { localeCompare } from "@tslib/i18n"; +import { DeckConfig, deckConfig } from "@tslib/proto"; import { cloneDeep, isEqual } from "lodash-es"; -import { get, Readable, readable, Writable, writable } from "svelte/store"; +import type { Readable, Writable} from "svelte/store"; +import { get, readable, writable } from "svelte/store"; -import { localeCompare } from "../lib/i18n"; -import { DeckConfig, deckConfig } from "../lib/proto"; import type { DynamicSvelteComponent } from "../sveltelib/dynamicComponent"; export type DeckOptionsId = number; @@ -178,8 +179,8 @@ export class DeckOptionsState { .map((c) => c.config) .filter((c, idx) => { return ( - idx !== this.selectedIdx && - (c.id === 0 || this.modifiedConfigs.has(c.id)) + idx !== this.selectedIdx + && (c.id === 0 || this.modifiedConfigs.has(c.id)) ); }); const configs = [ @@ -259,9 +260,7 @@ export class DeckOptionsState { private sortConfigs() { const currentConfigName = this.configs[this.selectedIdx].config.name; - this.configs.sort((a, b) => - localeCompare(a.config.name, b.config.name, { sensitivity: "base" }), - ); + this.configs.sort((a, b) => localeCompare(a.config.name, b.config.name, { sensitivity: "base" })); this.selectedIdx = this.configs.findIndex( (c) => c.config.name == currentConfigName, ); @@ -281,17 +280,13 @@ export class DeckOptionsState { } private getParentLimits(): ParentLimits { - const parentConfigs = this.configs.filter((c) => - this.currentDeck.parentConfigIds.includes(c.config.id), - ); + const parentConfigs = this.configs.filter((c) => this.currentDeck.parentConfigIds.includes(c.config.id)); const newCards = parentConfigs.reduce( - (previous, current) => - Math.min(previous, current.config.config?.newPerDay ?? 0), + (previous, current) => Math.min(previous, current.config.config?.newPerDay ?? 0), 2 ** 31, ); const reviews = parentConfigs.reduce( - (previous, current) => - Math.min(previous, current.config.config?.reviewsPerDay ?? 0), + (previous, current) => Math.min(previous, current.config.config?.reviewsPerDay ?? 0), 2 ** 31, ); return { diff --git a/ts/deck-options/steps.ts b/ts/deck-options/steps.ts index c123dd960..6ba5389c9 100644 --- a/ts/deck-options/steps.ts +++ b/ts/deck-options/steps.ts @@ -1,7 +1,7 @@ // Copyright: Ankitects Pty Ltd and contributors // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -import { naturalWholeUnit, TimespanUnit, unitAmount, unitSeconds } from "../lib/time"; +import { naturalWholeUnit, TimespanUnit, unitAmount, unitSeconds } from "@tslib/time"; function unitSuffix(unit: TimespanUnit): string { switch (unit) { diff --git a/ts/deck-options/strings.ts b/ts/deck-options/strings.ts index 1496bf014..33c434971 100644 --- a/ts/deck-options/strings.ts +++ b/ts/deck-options/strings.ts @@ -1,7 +1,7 @@ // Copyright: Ankitects Pty Ltd and contributors // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -import * as tr from "../lib/ftl"; +import * as tr from "@tslib/ftl"; export const reviewMixChoices = (): string[] => [ tr.deckConfigReviewMixMixWithReviews(), diff --git a/ts/deck-options/tsconfig.json b/ts/deck-options/tsconfig.json index 276e90989..3a3f4c022 100644 --- a/ts/deck-options/tsconfig.json +++ b/ts/deck-options/tsconfig.json @@ -2,7 +2,7 @@ "extends": "../tsconfig.json", "include": ["*"], "references": [ - { "path": "../lib" }, + { "path": "@tslib" }, { "path": "../sveltelib" }, { "path": "../components" } ], diff --git a/ts/domlib/BUILD.bazel b/ts/domlib/BUILD.bazel deleted file mode 100644 index 11351a422..000000000 --- a/ts/domlib/BUILD.bazel +++ /dev/null @@ -1,29 +0,0 @@ -load("//ts:typescript.bzl", "typescript") -load("//ts:prettier.bzl", "prettier_test") -load("//ts:eslint.bzl", "eslint_test") -load("//ts:jest.bzl", "jest_test") - -typescript( - name = "domlib", - deps = [ - "//ts/lib", - "@npm//@fluent/bundle", - "@npm//@types/jest", - "@npm//@types/long", - "@npm//intl-pluralrules", - "@npm//protobufjs", - "@npm//tslib", - ], -) - -# Tests -################ - -prettier_test() - -eslint_test() - -jest_test( - env = "jsdom", - deps = [":domlib"], -) diff --git a/ts/domlib/find-above.ts b/ts/domlib/find-above.ts index 4a7372701..3c90cf4d0 100644 --- a/ts/domlib/find-above.ts +++ b/ts/domlib/find-above.ts @@ -1,7 +1,7 @@ // Copyright: Ankitects Pty Ltd and contributors // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -import { nodeIsElement } from "../lib/dom"; +import { nodeIsElement } from "@tslib/dom"; export type Matcher = (element: Element) => boolean; diff --git a/ts/domlib/move-nodes.ts b/ts/domlib/move-nodes.ts index 3c072ab7c..b5a0f04b2 100644 --- a/ts/domlib/move-nodes.ts +++ b/ts/domlib/move-nodes.ts @@ -1,7 +1,8 @@ // Copyright: Ankitects Pty Ltd and contributors // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -import { nodeIsElement, nodeIsText } from "../lib/dom"; +import { nodeIsElement, nodeIsText } from "@tslib/dom"; + import { placeCaretAfter } from "./place-caret"; export function moveChildOutOfElement( @@ -19,10 +20,9 @@ export function moveChildOutOfElement( referenceNode = element.insertAdjacentElement(placement, child)!; } else if (nodeIsText(child)) { element.insertAdjacentText(placement, child.wholeText); - referenceNode = - placement === "beforebegin" - ? element.previousSibling! - : element.nextSibling!; + referenceNode = placement === "beforebegin" + ? element.previousSibling! + : element.nextSibling!; } else { throw "moveChildOutOfElement: unsupported"; } @@ -43,8 +43,8 @@ export function moveNodesInsertedOutside(element: Element, allowedChild: Node): // Special treatment for pressing return after mathjax block if ( - afterChildren.length === 2 && - afterChildren.every((child) => (child as Element).tagName === "BR") + afterChildren.length === 2 + && afterChildren.every((child) => (child as Element).tagName === "BR") ) { const first = afterChildren.pop(); element.removeChild(first!); diff --git a/ts/domlib/place-caret.ts b/ts/domlib/place-caret.ts index 6a2b9a2f5..a2e5c9798 100644 --- a/ts/domlib/place-caret.ts +++ b/ts/domlib/place-caret.ts @@ -1,7 +1,7 @@ // Copyright: Ankitects Pty Ltd and contributors // License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -import { getSelection } from "../lib/cross-browser"; +import { getSelection } from "@tslib/cross-browser"; function placeCaret(node: Node, range: Range): void { const selection = getSelection(node)!; diff --git a/ts/domlib/surround/build/format.ts b/ts/domlib/surround/build/format.ts index 414d2b2bc..1316796be 100644 --- a/ts/domlib/surround/build/format.ts +++ b/ts/domlib/surround/build/format.ts @@ -6,7 +6,8 @@ import { Position } from "../../location"; import { Match } from "../match-type"; import type { SplitRange } from "../split-text"; import type { SurroundFormat } from "../surround-format"; -import { ElementNode, FormattingNode } from "../tree"; +import type { ElementNode} from "../tree"; +import { FormattingNode } from "../tree"; function nodeWithinRange(node: Node, range: Range): boolean { const nodeRange = new Range(); diff --git a/ts/editable/BUILD.bazel b/ts/editable/BUILD.bazel deleted file mode 100644 index b9aceca15..000000000 --- a/ts/editable/BUILD.bazel +++ /dev/null @@ -1,71 +0,0 @@ -load("//ts/svelte:svelte.bzl", "compile_svelte", "svelte_check") -load("//ts:prettier.bzl", "prettier_test") -load("//ts:eslint.bzl", "eslint_test") -load("//ts:esbuild.bzl", "esbuild") -load("//ts:compile_sass.bzl", "compile_sass") -load("//ts:typescript.bzl", "typescript") - -compile_sass( - srcs = [ - "editable-base.scss", - ], - group = "editable_css", - visibility = ["//visibility:public"], - deps = [ - "//sass:scrollbar_lib", - ], -) - -_ts_deps = [ - "//ts/components", - "//ts/lib", - "//ts/domlib", - "//ts/sveltelib", - "//ts/mathjax:mathjax_ts", - "@npm//mathjax", - "@npm//svelte", -] - -compile_svelte(deps = _ts_deps) - -typescript( - name = "editable_ts", - deps = _ts_deps + [ - ":svelte", - ], -) - -esbuild( - name = "editable", - args = { - "loader": {".svg": "text"}, - }, - entry_point = "index.ts", - output_css = "editable.css", - visibility = ["//visibility:public"], - deps = [ - ":editable_css", - ":editable_ts", - "//ts/components", - "@npm//@mdi", - "@npm//protobufjs", - ], -) - -# Tests -################ - -prettier_test() - -eslint_test() - -svelte_check( - name = "svelte_check", - srcs = glob([ - "*.ts", - "*.svelte", - ]) + [ - "//ts/components", - "//ts/domlib", - ], -) diff --git a/ts/editable/Mathjax.svelte b/ts/editable/Mathjax.svelte index 602db72a6..2df622a01 100644 --- a/ts/editable/Mathjax.svelte +++ b/ts/editable/Mathjax.svelte @@ -18,10 +18,10 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html + +{#if empty} +
+ +
+{/if} + + diff --git a/ts/editor/HandleLabel.svelte b/ts/editor/HandleLabel.svelte index 7d823d140..df9b29483 100644 --- a/ts/editor/HandleLabel.svelte +++ b/ts/editor/HandleLabel.svelte @@ -3,11 +3,10 @@ Copyright: Ankitects Pty Ltd and contributors License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html --> diff --git a/ts/editor/LabelContainer.svelte b/ts/editor/LabelContainer.svelte index 6f4f3bbad..d88eae592 100644 --- a/ts/editor/LabelContainer.svelte +++ b/ts/editor/LabelContainer.svelte @@ -3,9 +3,9 @@ Copyright: Ankitects Pty Ltd and contributors License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html -->