diff --git a/cargo/Cargo.lock b/Cargo.lock similarity index 99% rename from cargo/Cargo.lock rename to Cargo.lock index 7236c96a2..f1ee602d5 100644 --- a/cargo/Cargo.lock +++ b/Cargo.lock @@ -30,6 +30,64 @@ dependencies = [ "memchr", ] +[[package]] +name = "anki" +version = "0.0.0" +dependencies = [ + "askama", + "async-compression", + "blake3", + "bytes 0.5.6", + "chrono", + "coarsetime", + "env_logger", + "failure", + "flate2", + "fluent", + "fluent-syntax", + "futures", + "hex", + "htmlescape", + "intl-memoizer", + "itertools", + "lazy_static", + "nom 5.1.2", + "num-format", + "num-integer", + "num_enum", + "once_cell", + "pin-project 1.0.2", + "prost", + "prost-build", + "rand", + "regex", + "reqwest", + "rusqlite", + "scopeguard", + "serde", + "serde-aux", + "serde_derive", + "serde_json", + "serde_repr", + "serde_tuple", + "sha1", + "slog", + "slog-async", + "slog-envlogger", + "slog-term", + "tempfile", + "tokio", + "unic-langid", + "unicase", + "unicode-normalization", + "utime", + "zip", +] + +[[package]] +name = "anki_workspace" +version = "0.0.0" + [[package]] name = "anyhow" version = "1.0.34" @@ -407,61 +465,6 @@ version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "134951f4028bdadb9b84baf4232681efbf277da25144b9b0ad65df75946c422b" -[[package]] -name = "dummy" -version = "0.0.0" -dependencies = [ - "askama", - "async-compression", - "blake3", - "bytes 0.5.6", - "chrono", - "coarsetime", - "env_logger", - "failure", - "flate2", - "fluent", - "fluent-syntax", - "futures", - "hex", - "htmlescape", - "intl-memoizer", - "itertools", - "lazy_static", - "nom 5.1.2", - "num-format", - "num-integer", - "num_enum", - "once_cell", - "pin-project 1.0.2", - "prost", - "prost-build", - "pyo3", - "rand", - "regex", - "reqwest", - "rusqlite", - "scopeguard", - "serde", - "serde-aux", - "serde_derive", - "serde_json", - "serde_repr", - "serde_tuple", - "sha1", - "slog", - "slog-async", - "slog-envlogger", - "slog-term", - "tempfile", - "tokio", - "unic-langid", - "unicase", - "unicode-normalization", - "utime", - "zip", -] - [[package]] name = "either" version = "1.6.1" @@ -1823,6 +1826,14 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "rsbridge" +version = "0.0.0" +dependencies = [ + "anki", + "pyo3", +] + [[package]] name = "rusqlite" version = "0.24.1" diff --git a/cargo/raze.toml b/Cargo.toml similarity index 77% rename from cargo/raze.toml rename to Cargo.toml index a7913f7c2..29bd334a8 100644 --- a/cargo/raze.toml +++ b/Cargo.toml @@ -1,15 +1,19 @@ [package] -name = "dummy" +name = "anki_workspace" version = "0.0.0" -edition = "2018" +authors = ["Ankitects Pty Ltd and contributors"] +license = "AGPL-3.0-or-later" + +[workspace] +members = ["rslib", "pylib/rsbridge"] [lib] -name = "anki" +name = "dummy" path = "src/lib.rs" [package.metadata.raze] workspace_path = "//cargo" -workspace_member_dir = "." +#workspace_member_dir = "." targets = [ "i686-apple-darwin", "i686-pc-windows-msvc", @@ -31,5 +35,3 @@ data_attr = "glob([\"src/**\"])" [package.metadata.raze.crates.webpki.'*'] data_attr = "glob([\"src/**\"])" - -# WARNING: don't edit the dependencies below, they are generated by update.py diff --git a/cargo/BUILD.bazel b/cargo/BUILD.bazel index 77da4a7a5..46efe261d 100644 --- a/cargo/BUILD.bazel +++ b/cargo/BUILD.bazel @@ -11,446 +11,6 @@ licenses([ "notice", # See individual crates for specific licenses ]) -# Aliased targets -alias( - name = "askama", - actual = "@raze__askama__0_10_5//:askama", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "async_compression", - actual = "@raze__async_compression__0_3_6//:async_compression", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "blake3", - actual = "@raze__blake3__0_3_7//:blake3", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "bytes", - actual = "@raze__bytes__0_5_6//:bytes", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "chrono", - actual = "@raze__chrono__0_4_19//:chrono", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "coarsetime", - actual = "@raze__coarsetime__0_1_16//:coarsetime", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "env_logger", - actual = "@raze__env_logger__0_8_2//:env_logger", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "failure", - actual = "@raze__failure__0_1_8//:failure", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "flate2", - actual = "@raze__flate2__1_0_19//:flate2", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent", - actual = "@raze__fluent__0_13_1//:fluent", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "fluent_syntax", - actual = "@raze__fluent_syntax__0_10_0//:fluent_syntax", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "futures", - actual = "@raze__futures__0_3_8//:futures", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "hex", - actual = "@raze__hex__0_4_2//:hex", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "htmlescape", - actual = "@raze__htmlescape__0_3_1//:htmlescape", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "intl_memoizer", - actual = "@raze__intl_memoizer__0_5_0//:intl_memoizer", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "itertools", - actual = "@raze__itertools__0_9_0//:itertools", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "lazy_static", - actual = "@raze__lazy_static__1_4_0//:lazy_static", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "nom", - actual = "@raze__nom__5_1_2//:nom", - 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_44//:num_integer", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "num_enum", - actual = "@raze__num_enum__0_5_1//:num_enum", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "once_cell", - actual = "@raze__once_cell__1_5_2//:once_cell", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pin_project", - actual = "@raze__pin_project__1_0_2//:pin_project", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "prost", - actual = "@raze__prost__0_6_1//:prost", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "prost_build", - actual = "@raze__prost_build__0_6_1//:prost_build", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "pyo3", - actual = "@raze__pyo3__0_12_3//:pyo3", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "rand", - actual = "@raze__rand__0_7_3//:rand", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "regex", - actual = "@raze__regex__1_4_2//:regex", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "reqwest", - actual = "@raze__reqwest__0_10_8//:reqwest", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "rusqlite", - actual = "@raze__rusqlite__0_24_1//: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_117//:serde", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_aux", - actual = "@raze__serde_aux__0_6_1//:serde_aux", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_derive", - actual = "@raze__serde_derive__1_0_117//:serde_derive", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_json", - actual = "@raze__serde_json__1_0_59//:serde_json", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "serde_repr", - actual = "@raze__serde_repr__0_1_6//: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_0//:sha1", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog", - actual = "@raze__slog__2_5_2//:slog", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "slog_async", - actual = "@raze__slog_async__2_5_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_6_0//:slog_term", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tempfile", - actual = "@raze__tempfile__3_1_0//:tempfile", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "tokio", - actual = "@raze__tokio__0_2_23//:tokio", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "unic_langid", - actual = "@raze__unic_langid__0_9_0//:unic_langid", - 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_16//:unicode_normalization", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "utime", - actual = "@raze__utime__0_3_1//:utime", - tags = [ - "cargo-raze", - "manual", - ], -) - -alias( - name = "zip", - actual = "@raze__zip__0_5_6//:zip", - tags = [ - "cargo-raze", - "manual", - ], -) +# No targets defined exports_files(["licenses.json"]) diff --git a/cargo/README.md b/cargo/README.md index 65ced3472..564279655 100644 --- a/cargo/README.md +++ b/cargo/README.md @@ -5,20 +5,17 @@ folder and run python update.py to update the external Bazel repositories to point to the updated deps. You will need to have cargo-raze 0.7.0 or later installed, which is not -currently included in this Bazel project. You can install it by installing -rustup, then running "cargo install cargo-raze". +currently included in this Bazel project. When it's released as stable, +you can install it by installing rustup, then running "cargo install cargo-raze". +For now it needs to be built from commit 4d1721ed32e19dfea8794f868a4884bdffdc4014. A couple of crates need extra work to build with Bazel, and are listed -in raze.toml. For example: +in ../Cargo.toml. For example: ```toml -[raze.crates.ring.'*'] -data_attr = "glob([\"src/**\"])" +[package.metadata.raze.crates.pyo3.'*'] +data_attr = "glob([\"**\"])" ``` With minor version updates, you should not normally need to modify the entries in that file. - -The ../pylib/rsbridge folder has a dependency on pyo3, which is -special-cased in update.py. If updating the pyo3 version, update.py -needs to be updated as well. diff --git a/cargo/licenses.json b/cargo/licenses.json index c39a5a5a0..62e1fda6c 100644 --- a/cargo/licenses.json +++ b/cargo/licenses.json @@ -35,6 +35,24 @@ "license_file": null, "description": "Fast multiple substring searching." }, + { + "name": "anki", + "version": "0.0.0", + "authors": "Ankitects Pty Ltd and contributors", + "repository": null, + "license": "AGPL-3.0-or-later", + "license_file": null, + "description": "Anki's Rust library code" + }, + { + "name": "anki_workspace", + "version": "0.0.0", + "authors": "Ankitects Pty Ltd and contributors", + "repository": null, + "license": "AGPL-3.0-or-later", + "license_file": null, + "description": null + }, { "name": "anyhow", "version": "1.0.34", @@ -413,15 +431,6 @@ "license_file": null, "description": "Fast functions for printing floating-point primitives to an io::Write" }, - { - "name": "dummy", - "version": "0.0.0", - "authors": null, - "repository": null, - "license": null, - "license_file": null, - "description": null - }, { "name": "either", "version": "1.6.1", @@ -1673,6 +1682,15 @@ "license_file": "LICENSE", "description": "Safe, fast, small crypto using Rust." }, + { + "name": "rsbridge", + "version": "0.0.0", + "authors": "Ankitects Pty Ltd and contributors ", + "repository": null, + "license": "AGPL-3.0-or-later", + "license_file": null, + "description": "Anki's Rust library code Python bindings" + }, { "name": "rusqlite", "version": "0.24.1", diff --git a/cargo/update.py b/cargo/update.py index faa96424f..f18eb2713 100644 --- a/cargo/update.py +++ b/cargo/update.py @@ -2,10 +2,6 @@ # # See README.md -EXTRA_DEPS = [ - 'pyo3 = { git = "https://github.com/PyO3/pyo3.git", rev = "3b3ba4e3abd57bc3b8f86444b3f61e6e2f4c5fc1", features = ["extension-module", "abi3"] }' -] - # If you get a message like the following during a build: # # DEBUG: Rule 'raze__reqwest__0_10_8' indicated that a canonical reproducible @@ -39,33 +35,6 @@ if os.getcwd() != os.path.abspath(os.path.dirname(__file__)): sys.exit(1) -def write_cargo_toml(): - with open("raze.toml") as file: - header = file.read() - - deps = [] - with open("../rslib/Cargo.toml") as file: - started = False - for line in file.readlines(): - if line.startswith("# BEGIN DEPENDENCIES"): - started = True - continue - if not started: - continue - deps.append(line.strip()) - - deps.extend(EXTRA_DEPS) - - # write out Cargo.toml - with open("Cargo.toml", "w") as file: - file.write(header) - file.write("\n".join(deps)) - - -def remove_cargo_toml(): - os.remove("Cargo.toml") - - def update_cargo_lock(): # update Cargo.lock subprocess.run(["cargo", "update"], check=True) @@ -73,14 +42,12 @@ def update_cargo_lock(): def run_cargo_raze(): # generate cargo-raze files - if os.path.exists("remote"): - shutil.rmtree("remote") - subprocess.run(["cargo-raze"], check=True) + subprocess.run(["cargo-raze"], cwd="..", check=True) def write_licenses(): # dump licenses - result = subprocess.check_output(["cargo", "license", "-j"]) + result = subprocess.check_output(["cargo", "license", "-j"], cwd="../rslib") with open("licenses.json", "wb") as file: file.write(result) @@ -147,10 +114,8 @@ def update_reqwest_deps(): file.write(data) -write_cargo_toml() update_cargo_lock() run_cargo_raze() write_licenses() update_crates_bzl() update_reqwest_deps() -remove_cargo_toml() diff --git a/pylib/rsbridge/BUILD.bazel b/pylib/rsbridge/BUILD.bazel index 6bafa4d8c..93e9232a1 100644 --- a/pylib/rsbridge/BUILD.bazel +++ b/pylib/rsbridge/BUILD.bazel @@ -27,7 +27,7 @@ rust_library( ], deps = [ ":build_script", - "//cargo:pyo3", + "//pylib/rsbridge/cargo:pyo3", "//rslib:anki", ], ) diff --git a/pylib/rsbridge/Cargo.toml b/pylib/rsbridge/Cargo.toml index 5a8f64e7f..c080b594e 100644 --- a/pylib/rsbridge/Cargo.toml +++ b/pylib/rsbridge/Cargo.toml @@ -9,8 +9,7 @@ description = "Anki's Rust library code Python bindings" [dependencies] anki = { path = "../../rslib" } -# WARNING: if changing the version number here, the version in ../../cargo/update.py -# needs to be updated as well +# /cargo/update.py needs to be run if updating the version below [dependencies.pyo3] git = "https://github.com/PyO3/pyo3.git" rev = "3b3ba4e3abd57bc3b8f86444b3f61e6e2f4c5fc1" diff --git a/pylib/rsbridge/cargo/BUILD.bazel b/pylib/rsbridge/cargo/BUILD.bazel new file mode 100644 index 000000000..107b70b68 --- /dev/null +++ b/pylib/rsbridge/cargo/BUILD.bazel @@ -0,0 +1,22 @@ +""" +@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 = "pyo3", + actual = "@raze__pyo3__0_12_3//:pyo3", + tags = [ + "cargo-raze", + "manual", + ], +) diff --git a/rslib/BUILD.bazel b/rslib/BUILD.bazel index a1d1e190c..ac8edf1ee 100644 --- a/rslib/BUILD.bazel +++ b/rslib/BUILD.bazel @@ -27,8 +27,8 @@ cargo_build_script( "@extra_ftl//:l10n.toml", ], deps = [ - "//cargo:fluent_syntax", - "//cargo:prost_build", + "//rslib/cargo:fluent_syntax", + "//rslib/cargo:prost_build", ], ) @@ -60,56 +60,56 @@ rust_library( crate_features = _anki_features, data = _anki_deps, proc_macro_deps = [ - "//cargo:serde_derive", - "//cargo:serde_repr", + "//rslib/cargo:serde_derive", + "//rslib/cargo:serde_repr", ], tags = ["manual"], visibility = ["//visibility:public"], deps = [ ":build_script", - "//cargo:askama", - "//cargo:async_compression", - "//cargo:blake3", - "//cargo:bytes", - "//cargo:chrono", - "//cargo:coarsetime", - "//cargo:failure", - "//cargo:flate2", - "//cargo:fluent", - "//cargo:futures", - "//cargo:hex", - "//cargo:htmlescape", - "//cargo:intl_memoizer", - "//cargo:itertools", - "//cargo:lazy_static", - "//cargo:nom", - "//cargo:num_enum", - "//cargo:num_format", - "//cargo:num_integer", - "//cargo:once_cell", - "//cargo:pin_project", - "//cargo:prost", - "//cargo:rand", - "//cargo:regex", - "//cargo:reqwest", - "//cargo:rusqlite", - "//cargo:scopeguard", - "//cargo:serde", - "//cargo:serde_aux", - "//cargo:serde_json", - "//cargo:serde_tuple", - "//cargo:sha1", - "//cargo:slog", - "//cargo:slog_async", - "//cargo:slog_envlogger", - "//cargo:slog_term", - "//cargo:tempfile", - "//cargo:tokio", - "//cargo:unic_langid", - "//cargo:unicase", - "//cargo:unicode_normalization", - "//cargo:utime", - "//cargo:zip", + "//rslib/cargo:askama", + "//rslib/cargo:async_compression", + "//rslib/cargo:blake3", + "//rslib/cargo:bytes", + "//rslib/cargo:chrono", + "//rslib/cargo:coarsetime", + "//rslib/cargo:failure", + "//rslib/cargo:flate2", + "//rslib/cargo:fluent", + "//rslib/cargo:futures", + "//rslib/cargo:hex", + "//rslib/cargo:htmlescape", + "//rslib/cargo:intl_memoizer", + "//rslib/cargo:itertools", + "//rslib/cargo:lazy_static", + "//rslib/cargo:nom", + "//rslib/cargo:num_enum", + "//rslib/cargo:num_format", + "//rslib/cargo:num_integer", + "//rslib/cargo:once_cell", + "//rslib/cargo:pin_project", + "//rslib/cargo:prost", + "//rslib/cargo:rand", + "//rslib/cargo:regex", + "//rslib/cargo:reqwest", + "//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:tempfile", + "//rslib/cargo:tokio", + "//rslib/cargo:unic_langid", + "//rslib/cargo:unicase", + "//rslib/cargo:unicode_normalization", + "//rslib/cargo:utime", + "//rslib/cargo:zip", ], ) @@ -123,7 +123,7 @@ rust_test( data = _anki_deps + glob([ "tests/support/**", ]), - deps = ["//cargo:env_logger"], + deps = ["//rslib/cargo:env_logger"], ) rustfmt_test( @@ -150,7 +150,7 @@ rust_binary( "build/mergeftl.rs", "build/write_fluent_proto.rs", ], - deps = ["//cargo:fluent_syntax"], + deps = ["//rslib/cargo:fluent_syntax"], ) genrule( @@ -158,7 +158,7 @@ genrule( srcs = [ "//ftl", "//ftl:BUILD.bazel", - "//cargo:fluent_syntax", + "//rslib/cargo:fluent_syntax", "@rslib_ftl//:l10n.toml", "@extra_ftl//:l10n.toml", ], diff --git a/rslib/Cargo.toml b/rslib/Cargo.toml index 27e1cbf9b..05959c031 100644 --- a/rslib/Cargo.toml +++ b/rslib/Cargo.toml @@ -13,9 +13,6 @@ path = "src/lib.rs" # After updating anything below, run ../cargo/update.py -# BEGIN DEPENDENCIES -###################### - [build-dependencies] fluent-syntax = "0.10" prost-build = { git = "https://github.com/danburkert/prost.git", rev = "4ded4a98ef339da0b7babd4efee3fbe8adaf746b" } diff --git a/rslib/cargo/BUILD.bazel b/rslib/cargo/BUILD.bazel new file mode 100644 index 000000000..4596b0f17 --- /dev/null +++ b/rslib/cargo/BUILD.bazel @@ -0,0 +1,445 @@ +""" +@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 = "askama", + actual = "@raze__askama__0_10_5//:askama", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "async_compression", + actual = "@raze__async_compression__0_3_6//:async_compression", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "blake3", + actual = "@raze__blake3__0_3_7//:blake3", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "bytes", + actual = "@raze__bytes__0_5_6//:bytes", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "chrono", + actual = "@raze__chrono__0_4_19//:chrono", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "coarsetime", + actual = "@raze__coarsetime__0_1_16//:coarsetime", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "env_logger", + actual = "@raze__env_logger__0_8_2//:env_logger", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "failure", + actual = "@raze__failure__0_1_8//:failure", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "flate2", + actual = "@raze__flate2__1_0_19//:flate2", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "fluent", + actual = "@raze__fluent__0_13_1//:fluent", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "fluent_syntax", + actual = "@raze__fluent_syntax__0_10_0//:fluent_syntax", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "futures", + actual = "@raze__futures__0_3_8//:futures", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "hex", + actual = "@raze__hex__0_4_2//:hex", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "htmlescape", + actual = "@raze__htmlescape__0_3_1//:htmlescape", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "intl_memoizer", + actual = "@raze__intl_memoizer__0_5_0//:intl_memoizer", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "itertools", + actual = "@raze__itertools__0_9_0//:itertools", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "lazy_static", + actual = "@raze__lazy_static__1_4_0//:lazy_static", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "nom", + actual = "@raze__nom__5_1_2//:nom", + 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_44//:num_integer", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "num_enum", + actual = "@raze__num_enum__0_5_1//:num_enum", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "once_cell", + actual = "@raze__once_cell__1_5_2//:once_cell", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "pin_project", + actual = "@raze__pin_project__1_0_2//:pin_project", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "prost", + actual = "@raze__prost__0_6_1//:prost", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "prost_build", + actual = "@raze__prost_build__0_6_1//:prost_build", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "rand", + actual = "@raze__rand__0_7_3//:rand", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "regex", + actual = "@raze__regex__1_4_2//:regex", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "reqwest", + actual = "@raze__reqwest__0_10_8//:reqwest", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "rusqlite", + actual = "@raze__rusqlite__0_24_1//: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_117//:serde", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "serde_aux", + actual = "@raze__serde_aux__0_6_1//:serde_aux", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "serde_derive", + actual = "@raze__serde_derive__1_0_117//:serde_derive", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "serde_json", + actual = "@raze__serde_json__1_0_59//:serde_json", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "serde_repr", + actual = "@raze__serde_repr__0_1_6//: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_0//:sha1", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "slog", + actual = "@raze__slog__2_5_2//:slog", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "slog_async", + actual = "@raze__slog_async__2_5_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_6_0//:slog_term", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "tempfile", + actual = "@raze__tempfile__3_1_0//:tempfile", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "tokio", + actual = "@raze__tokio__0_2_23//:tokio", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "unic_langid", + actual = "@raze__unic_langid__0_9_0//:unic_langid", + 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_16//:unicode_normalization", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "utime", + actual = "@raze__utime__0_3_1//:utime", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "zip", + actual = "@raze__zip__0_5_6//:zip", + tags = [ + "cargo-raze", + "manual", + ], +)