diff --git a/Cargo.lock b/Cargo.lock index b754f6540..03deffda7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,5 +1,15 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +[[package]] +name = "Inflector" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3" +dependencies = [ + "lazy_static", + "regex", +] + [[package]] name = "addr2line" version = "0.14.1" @@ -62,7 +72,7 @@ dependencies = [ "failure", "flate2", "fluent", - "fluent-syntax", + "fluent-bundle", "fnv", "futures", "hex", @@ -110,6 +120,7 @@ name = "anki_i18n" version = "0.0.0" dependencies = [ "fluent", + "fluent-bundle", "fluent-syntax", "inflections", "intl-memoizer", @@ -592,9 +603,9 @@ dependencies = [ [[package]] name = "fluent" -version = "0.13.1" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef9e54ec7b674ae3477d948ae790e90ae24d54fb31c2e7173252978d9b09bdfa" +checksum = "bc4d7142005e2066e4844caf9f271b93fc79836ee96ec85057b8c109687e629a" dependencies = [ "fluent-bundle", "unic-langid", @@ -602,15 +613,16 @@ dependencies = [ [[package]] name = "fluent-bundle" -version = "0.13.2" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "092ebd50cd3f8a6d664bf156e3550d2f7232fbe446da6707d727cca53f707ce2" +checksum = "5b589dfaa7e69ddf497be48cd0d184d7ff6e2cbb8186d1bb01c26d5cf5449a17" dependencies = [ "fluent-langneg", "fluent-syntax", "intl-memoizer", "intl_pluralrules", - "rental", + "ouroboros", + "rustc-hash", "smallvec", "unic-langid", ] @@ -626,9 +638,12 @@ dependencies = [ [[package]] name = "fluent-syntax" -version = "0.10.3" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "784f660373ea898f712a7e67b43f35bf79608d46112747c29767d087611d716b" +checksum = "c0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78" +dependencies = [ + "thiserror", +] [[package]] name = "fnv" @@ -1514,6 +1529,29 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "ouroboros" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f6d5c203fe8d786d9d7bec8203cbbff3eb2cf8410c0d70cfd05b3d5f5d545da" +dependencies = [ + "ouroboros_macro", + "stable_deref_trait", +] + +[[package]] +name = "ouroboros_macro" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "129943a960e6a08c7e70ca5a09f113c273fe7f10ae8420992c78293e3dffdf65" +dependencies = [ + "Inflector", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "parking_lot" version = "0.11.1" @@ -1699,6 +1737,30 @@ 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" @@ -1981,27 +2043,6 @@ dependencies = [ "winapi 0.3.9", ] -[[package]] -name = "rental" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8545debe98b2b139fb04cad8618b530e9b07c152d99a5de83c860b877d67847f" -dependencies = [ - "rental-impl", - "stable_deref_trait", -] - -[[package]] -name = "rental-impl" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "475e68978dc5b743f2f40d8e0a8fdc83f1c5e78cbf4b8fa5e74e73beebc340de" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "reqwest" version = "0.10.8" diff --git a/cargo/crates.bzl b/cargo/crates.bzl index 4e2a0254f..01d62b435 100644 --- a/cargo/crates.bzl +++ b/cargo/crates.bzl @@ -11,6 +11,16 @@ load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe") # buildifier: di 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__Inflector__0_11_4", + url = "https://crates.io/api/v1/crates/Inflector/0.11.4/download", + type = "tar.gz", + sha256 = "fe438c63458706e03479442743baae6c88256498e6431708f6dfc520a26515d3", + strip_prefix = "Inflector-0.11.4", + build_file = Label("//cargo/remote:BUILD.Inflector-0.11.4.bazel"), + ) + maybe( http_archive, name = "raze__addr2line__0_14_1", @@ -583,22 +593,22 @@ def raze_fetch_remote_crates(): maybe( http_archive, - name = "raze__fluent__0_13_1", - url = "https://crates.io/api/v1/crates/fluent/0.13.1/download", + name = "raze__fluent__0_15_0", + url = "https://crates.io/api/v1/crates/fluent/0.15.0/download", type = "tar.gz", - sha256 = "ef9e54ec7b674ae3477d948ae790e90ae24d54fb31c2e7173252978d9b09bdfa", - strip_prefix = "fluent-0.13.1", - build_file = Label("//cargo/remote:BUILD.fluent-0.13.1.bazel"), + sha256 = "bc4d7142005e2066e4844caf9f271b93fc79836ee96ec85057b8c109687e629a", + strip_prefix = "fluent-0.15.0", + build_file = Label("//cargo/remote:BUILD.fluent-0.15.0.bazel"), ) maybe( http_archive, - name = "raze__fluent_bundle__0_13_2", - url = "https://crates.io/api/v1/crates/fluent-bundle/0.13.2/download", + name = "raze__fluent_bundle__0_15_0", + url = "https://crates.io/api/v1/crates/fluent-bundle/0.15.0/download", type = "tar.gz", - sha256 = "092ebd50cd3f8a6d664bf156e3550d2f7232fbe446da6707d727cca53f707ce2", - strip_prefix = "fluent-bundle-0.13.2", - build_file = Label("//cargo/remote:BUILD.fluent-bundle-0.13.2.bazel"), + sha256 = "5b589dfaa7e69ddf497be48cd0d184d7ff6e2cbb8186d1bb01c26d5cf5449a17", + strip_prefix = "fluent-bundle-0.15.0", + build_file = Label("//cargo/remote:BUILD.fluent-bundle-0.15.0.bazel"), ) maybe( @@ -613,12 +623,12 @@ def raze_fetch_remote_crates(): maybe( http_archive, - name = "raze__fluent_syntax__0_10_3", - url = "https://crates.io/api/v1/crates/fluent-syntax/0.10.3/download", + name = "raze__fluent_syntax__0_11_0", + url = "https://crates.io/api/v1/crates/fluent-syntax/0.11.0/download", type = "tar.gz", - sha256 = "784f660373ea898f712a7e67b43f35bf79608d46112747c29767d087611d716b", - strip_prefix = "fluent-syntax-0.10.3", - build_file = Label("//cargo/remote:BUILD.fluent-syntax-0.10.3.bazel"), + sha256 = "c0abed97648395c902868fee9026de96483933faa54ea3b40d652f7dfe61ca78", + strip_prefix = "fluent-syntax-0.11.0", + build_file = Label("//cargo/remote:BUILD.fluent-syntax-0.11.0.bazel"), ) maybe( @@ -1531,6 +1541,26 @@ def raze_fetch_remote_crates(): build_file = Label("//cargo/remote:BUILD.openssl-sys-0.9.60.bazel"), ) + maybe( + http_archive, + name = "raze__ouroboros__0_8_3", + url = "https://crates.io/api/v1/crates/ouroboros/0.8.3/download", + type = "tar.gz", + sha256 = "5f6d5c203fe8d786d9d7bec8203cbbff3eb2cf8410c0d70cfd05b3d5f5d545da", + strip_prefix = "ouroboros-0.8.3", + build_file = Label("//cargo/remote:BUILD.ouroboros-0.8.3.bazel"), + ) + + maybe( + http_archive, + name = "raze__ouroboros_macro__0_8_3", + url = "https://crates.io/api/v1/crates/ouroboros_macro/0.8.3/download", + type = "tar.gz", + sha256 = "129943a960e6a08c7e70ca5a09f113c273fe7f10ae8420992c78293e3dffdf65", + strip_prefix = "ouroboros_macro-0.8.3", + build_file = Label("//cargo/remote:BUILD.ouroboros_macro-0.8.3.bazel"), + ) + maybe( http_archive, name = "raze__parking_lot__0_11_1", @@ -1741,6 +1771,26 @@ def raze_fetch_remote_crates(): build_file = Label("//cargo/remote:BUILD.proc-macro-crate-0.1.5.bazel"), ) + maybe( + http_archive, + name = "raze__proc_macro_error__1_0_4", + url = "https://crates.io/api/v1/crates/proc-macro-error/1.0.4/download", + type = "tar.gz", + sha256 = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c", + strip_prefix = "proc-macro-error-1.0.4", + build_file = Label("//cargo/remote:BUILD.proc-macro-error-1.0.4.bazel"), + ) + + maybe( + http_archive, + name = "raze__proc_macro_error_attr__1_0_4", + url = "https://crates.io/api/v1/crates/proc-macro-error-attr/1.0.4/download", + type = "tar.gz", + sha256 = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869", + strip_prefix = "proc-macro-error-attr-1.0.4", + build_file = Label("//cargo/remote:BUILD.proc-macro-error-attr-1.0.4.bazel"), + ) + maybe( http_archive, name = "raze__proc_macro_hack__0_5_19", @@ -2021,26 +2071,6 @@ def raze_fetch_remote_crates(): build_file = Label("//cargo/remote:BUILD.remove_dir_all-0.5.3.bazel"), ) - maybe( - http_archive, - name = "raze__rental__0_5_5", - url = "https://crates.io/api/v1/crates/rental/0.5.5/download", - type = "tar.gz", - sha256 = "8545debe98b2b139fb04cad8618b530e9b07c152d99a5de83c860b877d67847f", - strip_prefix = "rental-0.5.5", - build_file = Label("//cargo/remote:BUILD.rental-0.5.5.bazel"), - ) - - maybe( - http_archive, - name = "raze__rental_impl__0_5_5", - url = "https://crates.io/api/v1/crates/rental-impl/0.5.5/download", - type = "tar.gz", - sha256 = "475e68978dc5b743f2f40d8e0a8fdc83f1c5e78cbf4b8fa5e74e73beebc340de", - strip_prefix = "rental-impl-0.5.5", - build_file = Label("//cargo/remote:BUILD.rental-impl-0.5.5.bazel"), - ) - maybe( new_git_repository, name = "raze__reqwest__0_10_8", diff --git a/cargo/licenses.json b/cargo/licenses.json index a672680f2..f4c0d818e 100644 --- a/cargo/licenses.json +++ b/cargo/licenses.json @@ -1,4 +1,13 @@ [ + { + "name": "Inflector", + "version": "0.11.4", + "authors": "Josh Teeter", + "repository": "https://github.com/whatisinternet/inflector", + "license": "BSD-2-Clause", + "license_file": null, + "description": "Adds String based inflections for Rust. Snake, kebab, camel, sentence, class, title and table cases as well as ordinalize, deordinalize, demodulize, foreign key, and pluralize/singularize are supported as both traits and pure functions acting on String types." + }, { "name": "addr2line", "version": "0.14.1", @@ -541,7 +550,7 @@ }, { "name": "fluent", - "version": "0.13.1", + "version": "0.15.0", "authors": "Zibi Braniecki |Staś Małolepszy ", "repository": "https://github.com/projectfluent/fluent-rs", "license": "Apache-2.0 OR MIT", @@ -550,7 +559,7 @@ }, { "name": "fluent-bundle", - "version": "0.13.2", + "version": "0.15.0", "authors": "Zibi Braniecki |Staś Małolepszy ", "repository": "https://github.com/projectfluent/fluent-rs", "license": "Apache-2.0 OR MIT", @@ -568,7 +577,7 @@ }, { "name": "fluent-syntax", - "version": "0.10.3", + "version": "0.11.0", "authors": "Zibi Braniecki |Staś Małolepszy ", "repository": "https://github.com/projectfluent/fluent-rs", "license": "Apache-2.0 OR MIT", @@ -1394,6 +1403,24 @@ "license_file": null, "description": "FFI bindings to OpenSSL" }, + { + "name": "ouroboros", + "version": "0.8.3", + "authors": "Joshua Maros ", + "repository": "https://github.com/joshua-maros/ouroboros", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Easy, safe self-referential struct generation." + }, + { + "name": "ouroboros_macro", + "version": "0.8.3", + "authors": "Joshua Maros ", + "repository": "https://github.com/joshua-maros/ouroboros", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Proc macro for ouroboros crate." + }, { "name": "parking_lot", "version": "0.11.1", @@ -1583,6 +1610,24 @@ "license_file": null, "description": "Replacement for crate (macro_rules keyword) in proc-macros" }, + { + "name": "proc-macro-error", + "version": "1.0.4", + "authors": "CreepySkeleton ", + "repository": "https://gitlab.com/CreepySkeleton/proc-macro-error", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Almost drop-in replacement to panics in proc-macros" + }, + { + "name": "proc-macro-error-attr", + "version": "1.0.4", + "authors": "CreepySkeleton ", + "repository": "https://gitlab.com/CreepySkeleton/proc-macro-error", + "license": "Apache-2.0 OR MIT", + "license_file": null, + "description": "Attribute macro for proc-macro-error crate" + }, { "name": "proc-macro-hack", "version": "0.5.19", @@ -1835,24 +1880,6 @@ "license_file": null, "description": "A safe, reliable implementation of remove_dir_all for Windows" }, - { - "name": "rental", - "version": "0.5.5", - "authors": "Jameson Ernst ", - "repository": "https://github.com/jpernst/rental", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "description": "A macro to generate safe self-referential structs, plus premade types for common use cases." - }, - { - "name": "rental-impl", - "version": "0.5.5", - "authors": "Jameson Ernst ", - "repository": "https://github.com/jpernst/rental", - "license": "Apache-2.0 OR MIT", - "license_file": null, - "description": "An implementation detail of rental. Should not be used directly." - }, { "name": "reqwest", "version": "0.10.8", diff --git a/cargo/remote/BUILD.Inflector-0.11.4.bazel b/cargo/remote/BUILD.Inflector-0.11.4.bazel new file mode 100644 index 000000000..35f5fa515 --- /dev/null +++ b/cargo/remote/BUILD.Inflector-0.11.4.bazel @@ -0,0 +1,70 @@ +""" +@generated +cargo-raze crate build file. + +DO NOT EDIT! Replaced on runs of cargo-raze +""" + +# buildifier: disable=load +load( + "@io_bazel_rules_rust//rust:rust.bzl", + "rust_binary", + "rust_library", + "rust_test", +) + +# buildifier: disable=load +load("@bazel_skylib//lib:selects.bzl", "selects") + +package(default_visibility = [ + # 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 + +alias( + name = "Inflector", + actual = ":inflector", + tags = [ + "cargo-raze", + "manual", + ], +) + +rust_library( + name = "inflector", + srcs = glob(["**/*.rs"]), + crate_features = [ + "default", + "heavyweight", + "lazy_static", + "regex", + ], + crate_root = "src/lib.rs", + crate_type = "lib", + data = [], + edition = "2015", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-raze", + "manual", + ], + version = "0.11.4", + # buildifier: leave-alone + deps = [ + "@raze__lazy_static__1_4_0//:lazy_static", + "@raze__regex__1_4_3//:regex", + ], +) + +# Unsupported target "lib" with type "test" omitted diff --git a/cargo/remote/BUILD.fluent-0.13.1.bazel b/cargo/remote/BUILD.fluent-0.15.0.bazel similarity index 92% rename from cargo/remote/BUILD.fluent-0.13.1.bazel rename to cargo/remote/BUILD.fluent-0.15.0.bazel index c4cb84c75..fd742d2ed 100644 --- a/cargo/remote/BUILD.fluent-0.13.1.bazel +++ b/cargo/remote/BUILD.fluent-0.15.0.bazel @@ -46,10 +46,10 @@ rust_library( "cargo-raze", "manual", ], - version = "0.13.1", + version = "0.15.0", # buildifier: leave-alone deps = [ - "@raze__fluent_bundle__0_13_2//:fluent_bundle", + "@raze__fluent_bundle__0_15_0//:fluent_bundle", "@raze__unic_langid__0_9_0//:unic_langid", ], ) diff --git a/cargo/remote/BUILD.fluent-bundle-0.13.2.bazel b/cargo/remote/BUILD.fluent-bundle-0.15.0.bazel similarity index 83% rename from cargo/remote/BUILD.fluent-bundle-0.13.2.bazel rename to cargo/remote/BUILD.fluent-bundle-0.15.0.bazel index ffb30f99b..fcb32ed1f 100644 --- a/cargo/remote/BUILD.fluent-bundle-0.13.2.bazel +++ b/cargo/remote/BUILD.fluent-bundle-0.15.0.bazel @@ -32,10 +32,13 @@ licenses([ # 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", crate_type = "lib", @@ -48,14 +51,15 @@ rust_library( "cargo-raze", "manual", ], - version = "0.13.2", + version = "0.15.0", # buildifier: leave-alone deps = [ "@raze__fluent_langneg__0_13_0//:fluent_langneg", - "@raze__fluent_syntax__0_10_3//:fluent_syntax", + "@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__rental__0_5_5//:rental", + "@raze__ouroboros__0_8_3//:ouroboros", + "@raze__rustc_hash__1_1_0//:rustc_hash", "@raze__smallvec__1_6_1//:smallvec", "@raze__unic_langid__0_9_0//:unic_langid", ], diff --git a/cargo/remote/BUILD.fluent-syntax-0.10.3.bazel b/cargo/remote/BUILD.fluent-syntax-0.11.0.bazel similarity index 89% rename from cargo/remote/BUILD.fluent-syntax-0.10.3.bazel rename to cargo/remote/BUILD.fluent-syntax-0.11.0.bazel index e8909298a..e0241072d 100644 --- a/cargo/remote/BUILD.fluent-syntax-0.10.3.bazel +++ b/cargo/remote/BUILD.fluent-syntax-0.11.0.bazel @@ -32,6 +32,8 @@ licenses([ # 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. @@ -50,11 +52,12 @@ rust_binary( "cargo-raze", "manual", ], - version = "0.10.3", + version = "0.11.0", # buildifier: leave-alone deps = [ # Binaries get an implicit dependency on their crate's lib ":fluent_syntax", + "@raze__thiserror__1_0_24//:thiserror", ], ) @@ -76,11 +79,12 @@ rust_binary( "cargo-raze", "manual", ], - version = "0.10.3", + version = "0.11.0", # buildifier: leave-alone deps = [ # Binaries get an implicit dependency on their crate's lib ":fluent_syntax", + "@raze__thiserror__1_0_24//:thiserror", ], ) @@ -101,9 +105,10 @@ rust_library( "cargo-raze", "manual", ], - version = "0.10.3", + version = "0.11.0", # buildifier: leave-alone deps = [ + "@raze__thiserror__1_0_24//:thiserror", ], ) diff --git a/cargo/remote/BUILD.ouroboros-0.8.3.bazel b/cargo/remote/BUILD.ouroboros-0.8.3.bazel new file mode 100644 index 000000000..416a70fc2 --- /dev/null +++ b/cargo/remote/BUILD.ouroboros-0.8.3.bazel @@ -0,0 +1,57 @@ +""" +@generated +cargo-raze crate build file. + +DO NOT EDIT! Replaced on runs of cargo-raze +""" + +# buildifier: disable=load +load( + "@io_bazel_rules_rust//rust:rust.bzl", + "rust_binary", + "rust_library", + "rust_test", +) + +# buildifier: disable=load +load("@bazel_skylib//lib:selects.bzl", "selects") + +package(default_visibility = [ + # Public for visibility by "@raze__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 = "ouroboros", + srcs = glob(["**/*.rs"]), + crate_features = [ + ], + crate_root = "src/lib.rs", + crate_type = "lib", + data = [], + edition = "2018", + proc_macro_deps = [ + "@raze__ouroboros_macro__0_8_3//:ouroboros_macro", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-raze", + "manual", + ], + version = "0.8.3", + # buildifier: leave-alone + deps = [ + "@raze__stable_deref_trait__1_2_0//:stable_deref_trait", + ], +) diff --git a/cargo/remote/BUILD.rental-impl-0.5.5.bazel b/cargo/remote/BUILD.ouroboros_macro-0.8.3.bazel similarity index 85% rename from cargo/remote/BUILD.rental-impl-0.5.5.bazel rename to cargo/remote/BUILD.ouroboros_macro-0.8.3.bazel index 79e5ba755..4412938e0 100644 --- a/cargo/remote/BUILD.rental-impl-0.5.5.bazel +++ b/cargo/remote/BUILD.ouroboros_macro-0.8.3.bazel @@ -31,14 +31,14 @@ licenses([ # Generated Targets rust_library( - name = "rental_impl", + name = "ouroboros_macro", srcs = glob(["**/*.rs"]), crate_features = [ ], crate_root = "src/lib.rs", crate_type = "proc-macro", data = [], - edition = "2015", + edition = "2018", rustc_flags = [ "--cap-lints=allow", ], @@ -46,10 +46,12 @@ rust_library( "cargo-raze", "manual", ], - version = "0.5.5", + version = "0.8.3", # buildifier: leave-alone deps = [ + "@raze__Inflector__0_11_4//:Inflector", "@raze__proc_macro2__1_0_24//:proc_macro2", + "@raze__proc_macro_error__1_0_4//:proc_macro_error", "@raze__quote__1_0_9//:quote", "@raze__syn__1_0_63//:syn", ], diff --git a/cargo/remote/BUILD.proc-macro-error-1.0.4.bazel b/cargo/remote/BUILD.proc-macro-error-1.0.4.bazel new file mode 100644 index 000000000..a8e1a052e --- /dev/null +++ b/cargo/remote/BUILD.proc-macro-error-1.0.4.bazel @@ -0,0 +1,101 @@ +""" +@generated +cargo-raze crate build file. + +DO NOT EDIT! Replaced on runs of cargo-raze +""" + +# buildifier: disable=load +load( + "@io_bazel_rules_rust//rust:rust.bzl", + "rust_binary", + "rust_library", + "rust_test", +) + +# buildifier: disable=load +load("@bazel_skylib//lib:selects.bzl", "selects") + +package(default_visibility = [ + # Public for visibility by "@raze__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=load-on-top +load( + "@io_bazel_rules_rust//cargo:cargo_build_script.bzl", + "cargo_build_script", +) + +cargo_build_script( + name = "proc_macro_error_build_script", + srcs = glob(["**/*.rs"]), + build_script_env = { + }, + crate_features = [ + "default", + "syn", + "syn-error", + ], + crate_root = "build.rs", + data = glob(["**"]), + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-raze", + "manual", + ], + version = "1.0.4", + visibility = ["//visibility:private"], + deps = [ + "@raze__version_check__0_9_2//:version_check", + ], +) + +rust_library( + name = "proc_macro_error", + srcs = glob(["**/*.rs"]), + crate_features = [ + "default", + "syn", + "syn-error", + ], + crate_root = "src/lib.rs", + crate_type = "lib", + data = [], + edition = "2018", + proc_macro_deps = [ + "@raze__proc_macro_error_attr__1_0_4//:proc_macro_error_attr", + ], + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-raze", + "manual", + ], + version = "1.0.4", + # buildifier: leave-alone + deps = [ + ":proc_macro_error_build_script", + "@raze__proc_macro2__1_0_24//:proc_macro2", + "@raze__quote__1_0_9//:quote", + "@raze__syn__1_0_63//:syn", + ], +) + +# Unsupported target "macro-errors" with type "test" omitted + +# Unsupported target "ok" with type "test" omitted + +# Unsupported target "runtime-errors" with type "test" omitted diff --git a/cargo/remote/BUILD.proc-macro-error-attr-1.0.4.bazel b/cargo/remote/BUILD.proc-macro-error-attr-1.0.4.bazel new file mode 100644 index 000000000..f03fa79ae --- /dev/null +++ b/cargo/remote/BUILD.proc-macro-error-attr-1.0.4.bazel @@ -0,0 +1,85 @@ +""" +@generated +cargo-raze crate build file. + +DO NOT EDIT! Replaced on runs of cargo-raze +""" + +# buildifier: disable=load +load( + "@io_bazel_rules_rust//rust:rust.bzl", + "rust_binary", + "rust_library", + "rust_test", +) + +# buildifier: disable=load +load("@bazel_skylib//lib:selects.bzl", "selects") + +package(default_visibility = [ + # Public for visibility by "@raze__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=load-on-top +load( + "@io_bazel_rules_rust//cargo:cargo_build_script.bzl", + "cargo_build_script", +) + +cargo_build_script( + name = "proc_macro_error_attr_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.4", + visibility = ["//visibility:private"], + deps = [ + "@raze__version_check__0_9_2//:version_check", + ], +) + +rust_library( + name = "proc_macro_error_attr", + srcs = glob(["**/*.rs"]), + crate_features = [ + ], + crate_root = "src/lib.rs", + crate_type = "proc-macro", + data = [], + edition = "2018", + rustc_flags = [ + "--cap-lints=allow", + ], + tags = [ + "cargo-raze", + "manual", + ], + version = "1.0.4", + # buildifier: leave-alone + deps = [ + ":proc_macro_error_attr_build_script", + "@raze__proc_macro2__1_0_24//:proc_macro2", + "@raze__quote__1_0_9//:quote", + ], +) diff --git a/cargo/remote/BUILD.rental-0.5.5.bazel b/cargo/remote/BUILD.rental-0.5.5.bazel deleted file mode 100644 index 06d70b96d..000000000 --- a/cargo/remote/BUILD.rental-0.5.5.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( - "@io_bazel_rules_rust//rust:rust.bzl", - "rust_binary", - "rust_library", - "rust_test", -) - -# buildifier: disable=load -load("@bazel_skylib//lib:selects.bzl", "selects") - -package(default_visibility = [ - # Public for visibility by "@raze__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 = "rental", - srcs = glob(["**/*.rs"]), - crate_features = [ - "default", - "std", - ], - crate_root = "src/lib.rs", - crate_type = "lib", - data = [], - edition = "2015", - proc_macro_deps = [ - "@raze__rental_impl__0_5_5//:rental_impl", - ], - rustc_flags = [ - "--cap-lints=allow", - ], - tags = [ - "cargo-raze", - "manual", - ], - version = "0.5.5", - # buildifier: leave-alone - deps = [ - "@raze__stable_deref_trait__1_2_0//:stable_deref_trait", - ], -) - -# Unsupported target "clone" with type "test" omitted - -# Unsupported target "complex" with type "test" omitted - -# Unsupported target "complex_mut" with type "test" omitted - -# Unsupported target "covariant" with type "test" omitted - -# Unsupported target "debug" with type "test" omitted - -# Unsupported target "drop_order" with type "test" omitted - -# Unsupported target "generic" with type "test" omitted - -# Unsupported target "lt_params" with type "test" omitted - -# Unsupported target "map" with type "test" omitted - -# Unsupported target "simple_mut" with type "test" omitted - -# Unsupported target "simple_ref" with type "test" omitted - -# Unsupported target "string" with type "test" omitted - -# Unsupported target "subrental" with type "test" omitted - -# Unsupported target "target_ty_hack" with type "test" omitted - -# Unsupported target "trait" with type "test" omitted - -# Unsupported target "unused" with type "test" omitted - -# Unsupported target "vec_slice" with type "test" omitted diff --git a/cargo/remote/BUILD.stable_deref_trait-1.2.0.bazel b/cargo/remote/BUILD.stable_deref_trait-1.2.0.bazel index e7785af85..898b1f434 100644 --- a/cargo/remote/BUILD.stable_deref_trait-1.2.0.bazel +++ b/cargo/remote/BUILD.stable_deref_trait-1.2.0.bazel @@ -35,6 +35,7 @@ rust_library( srcs = glob(["**/*.rs"]), crate_features = [ "alloc", + "default", "std", ], crate_root = "src/lib.rs", diff --git a/cargo/update.py b/cargo/update.py index d8e60ed18..9d9d7732f 100755 --- a/cargo/update.py +++ b/cargo/update.py @@ -123,7 +123,7 @@ def stage_commit(): ) -update_cargo_lock() +# update_cargo_lock() run_cargo_raze() write_licenses() update_crates_bzl() diff --git a/rslib/BUILD.bazel b/rslib/BUILD.bazel index 4a7e0745e..e36a686f4 100644 --- a/rslib/BUILD.bazel +++ b/rslib/BUILD.bazel @@ -31,7 +31,6 @@ cargo_build_script( "@extra_ftl//:l10n.toml", ], deps = [ - "//rslib/cargo:fluent_syntax", "//rslib/cargo:prost_build", ], ) diff --git a/rslib/Cargo.toml b/rslib/Cargo.toml index fa9c6b2cb..a4a35819a 100644 --- a/rslib/Cargo.toml +++ b/rslib/Cargo.toml @@ -14,7 +14,6 @@ path = "src/lib.rs" # After updating anything below, run ../cargo/update.py [build-dependencies] -fluent-syntax = "0.10" prost-build = "0.7" [dev-dependencies] @@ -41,7 +40,8 @@ chrono = "0.4.13" coarsetime = "0.1.16" failure = "0.1.8" flate2 = "1.0.16" -fluent = "0.13.1" +fluent = "0.15" +fluent-bundle = "0.15" futures = "0.3.5" hex = "0.4.2" htmlescape = "0.3.1" diff --git a/rslib/cargo/BUILD.bazel b/rslib/cargo/BUILD.bazel index 24e321409..c75337a2b 100644 --- a/rslib/cargo/BUILD.bazel +++ b/rslib/cargo/BUILD.bazel @@ -113,7 +113,7 @@ alias( alias( name = "fluent", - actual = "@raze__fluent__0_13_1//:fluent", + actual = "@raze__fluent__0_15_0//:fluent", tags = [ "cargo-raze", "manual", @@ -121,8 +121,8 @@ alias( ) alias( - name = "fluent_syntax", - actual = "@raze__fluent_syntax__0_10_3//:fluent_syntax", + name = "fluent_bundle", + actual = "@raze__fluent_bundle__0_15_0//:fluent_bundle", tags = [ "cargo-raze", "manual", diff --git a/rslib/i18n/BUILD.bazel b/rslib/i18n/BUILD.bazel index d8945ea6d..2169c77ef 100644 --- a/rslib/i18n/BUILD.bazel +++ b/rslib/i18n/BUILD.bazel @@ -44,6 +44,7 @@ rust_library( 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", diff --git a/rslib/i18n/Cargo.toml b/rslib/i18n/Cargo.toml index fec93d4a2..481b6dd65 100644 --- a/rslib/i18n/Cargo.toml +++ b/rslib/i18n/Cargo.toml @@ -18,8 +18,8 @@ path = "build/write_json.rs" # After updating anything below, run ../cargo/update.py [build-dependencies] -fluent-syntax = "0.10" -fluent = "0.13.1" +fluent-syntax = "0.11.0" +fluent = "0.15.0" unic-langid = { version = "0.9", features = ["macros"] } serde = { version = "1.0.114", features = ["derive"] } serde_json = "1.0.56" @@ -27,9 +27,10 @@ inflections = "1.1.1" [dependencies] phf = { version = "0.8", features = ["macros"] } -fluent = "0.13.1" +fluent = "0.15.0" num-format = "0.4.0" unic-langid = { version = "0.9", features = ["macros"] } serde = { version = "1.0.114", features = ["derive"] } serde_json = "1.0.56" intl-memoizer = "0.5" +fluent-bundle = "0.15.0" diff --git a/rslib/i18n/build/check.rs b/rslib/i18n/build/check.rs index 53849bcfd..4d4afe773 100644 --- a/rslib/i18n/build/check.rs +++ b/rslib/i18n/build/check.rs @@ -21,7 +21,7 @@ fn check_content(lang: &str, fname: &str, content: &str) { panic!("{}\nUnable to parse {}/{}: {:?}", content, lang, fname, e); }); - let mut bundle: FluentBundle = FluentBundle::new(&[lang_id]); + let mut bundle: FluentBundle = FluentBundle::new(vec![lang_id]); bundle.add_resource(resource).unwrap_or_else(|e| { panic!( "{}\nUnable to bundle - duplicate key? {}/{}: {:?}", diff --git a/rslib/i18n/build/extract.rs b/rslib/i18n/build/extract.rs index 7d9549e42..f28c43d58 100644 --- a/rslib/i18n/build/extract.rs +++ b/rslib/i18n/build/extract.rs @@ -3,7 +3,7 @@ use crate::gather::TranslationsByLang; use fluent_syntax::ast::{Entry, Expression, InlineExpression, Pattern, PatternElement}; -use fluent_syntax::parser::Parser; +use fluent_syntax::parser::parse; use serde::Serialize; use std::{collections::HashSet, fmt::Write}; #[derive(Debug, PartialOrd, Ord, PartialEq, Eq, Serialize)] @@ -59,7 +59,7 @@ pub fn get_modules(data: &TranslationsByLang) -> Vec { } fn extract_metadata(ftl_text: &str) -> Vec { - let res = Parser::new(ftl_text).parse().unwrap(); + let res = parse(ftl_text).unwrap(); let mut output = vec![]; for entry in res.body { @@ -147,11 +147,11 @@ impl Visitor { fn visit_expression(&mut self, expression: &Expression<&str>) { match expression { - Expression::SelectExpression { selector, variants } => { + Expression::Select { selector, variants } => { self.visit_inline_expression(&selector, true); self.visit_pattern(&variants.last().unwrap().value) } - Expression::InlineExpression(expr) => self.visit_inline_expression(expr, false), + Expression::Inline(expr) => self.visit_inline_expression(expr, false), } } } diff --git a/rslib/i18n/cargo/BUILD.bazel b/rslib/i18n/cargo/BUILD.bazel index 562dd4179..da41412c1 100644 --- a/rslib/i18n/cargo/BUILD.bazel +++ b/rslib/i18n/cargo/BUILD.bazel @@ -14,7 +14,16 @@ licenses([ # Aliased targets alias( name = "fluent", - actual = "@raze__fluent__0_13_1//:fluent", + actual = "@raze__fluent__0_15_0//:fluent", + tags = [ + "cargo-raze", + "manual", + ], +) + +alias( + name = "fluent_bundle", + actual = "@raze__fluent_bundle__0_15_0//:fluent_bundle", tags = [ "cargo-raze", "manual", @@ -23,7 +32,7 @@ alias( alias( name = "fluent_syntax", - actual = "@raze__fluent_syntax__0_10_3//:fluent_syntax", + actual = "@raze__fluent_syntax__0_11_0//:fluent_syntax", tags = [ "cargo-raze", "manual", @@ -75,15 +84,6 @@ alias( ], ) -alias( - name = "serde_derive", - actual = "@raze__serde_derive__1_0_124//:serde_derive", - tags = [ - "cargo-raze", - "manual", - ], -) - alias( name = "serde_json", actual = "@raze__serde_json__1_0_64//:serde_json", diff --git a/rslib/i18n/src/lib.rs b/rslib/i18n/src/lib.rs index c97a9ba81..fc3762979 100644 --- a/rslib/i18n/src/lib.rs +++ b/rslib/i18n/src/lib.rs @@ -3,7 +3,8 @@ mod generated; -use fluent::{concurrent::FluentBundle, FluentArgs, FluentResource, FluentValue}; +use fluent::{FluentArgs, FluentResource, FluentValue}; +use fluent_bundle::bundle::FluentBundle as FluentBundleOrig; use num_format::Locale; use serde::Serialize; use std::borrow::Cow; @@ -12,6 +13,8 @@ use unic_langid::LanguageIdentifier; use generated::{KEYS_BY_MODULE, STRINGS}; +type FluentBundle = FluentBundleOrig; + pub use fluent::fluent_args as tr_args; fn remapped_lang_name(lang: &LanguageIdentifier) -> &str { @@ -88,7 +91,7 @@ fn get_bundle( }) .ok()?; - let mut bundle: FluentBundle = FluentBundle::new(locales); + let mut bundle: FluentBundle = FluentBundle::new_concurrent(locales.to_vec()); bundle .add_resource(res) .map_err(|e| { @@ -236,7 +239,7 @@ impl I18n { None => continue, }; - let pat = match msg.value { + let pat = match msg.value() { Some(val) => val, // empty value None => continue, diff --git a/rslib/src/backend/i18n.rs b/rslib/src/backend/i18n.rs index 16ab33f93..8136a8974 100644 --- a/rslib/src/backend/i18n.rs +++ b/rslib/src/backend/i18n.rs @@ -1,22 +1,20 @@ // 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 super::Backend; use crate::{ backend_proto as pb, prelude::*, scheduler::timespan::{answer_button_time, time_span}, }; -use fluent::FluentValue; +use fluent::{FluentArgs, FluentValue}; pub(super) use pb::i18n_service::Service as I18nService; impl I18nService for Backend { fn translate_string(&self, input: pb::TranslateStringIn) -> Result { - let args = input - .args - .iter() - .map(|(k, v)| (k.as_str(), translate_arg_to_fluent_val(&v))) - .collect(); + let args = build_fluent_args(input.args); Ok(self .tr @@ -45,11 +43,19 @@ impl I18nService for Backend { } } -fn translate_arg_to_fluent_val(arg: &pb::TranslateArgValue) -> FluentValue { +fn build_fluent_args(input: HashMap) -> FluentArgs<'static> { + let mut args = FluentArgs::new(); + for (key, val) in input { + args.set(key, translate_arg_to_fluent_val(&val)); + } + args +} + +fn translate_arg_to_fluent_val(arg: &pb::TranslateArgValue) -> FluentValue<'static> { use pb::translate_arg_value::Value as V; match &arg.value { Some(val) => match val { - V::Str(s) => FluentValue::String(s.into()), + V::Str(s) => FluentValue::String(s.to_owned().into()), V::Number(f) => FluentValue::Number(f.into()), }, None => FluentValue::String("".into()),