diff options
| author | Linus Färnstrand <linus@mullvad.net> | 2023-01-31 13:26:55 +0100 |
|---|---|---|
| committer | Linus Färnstrand <linus@mullvad.net> | 2023-01-31 13:26:55 +0100 |
| commit | df6ef150a4a6d9398ab8ae29b2898fdb96438743 (patch) | |
| tree | 4a3a4daccc05cd1f1505bbea3d22e598ac36351a | |
| parent | 13a923ef85ea9aee2353e198a9c33ab21e814675 (diff) | |
| parent | aac71a41a23c903b789563c082f09bfe5076e6da (diff) | |
| download | mullvadvpn-df6ef150a4a6d9398ab8ae29b2898fdb96438743.tar.xz mullvadvpn-df6ef150a4a6d9398ab8ae29b2898fdb96438743.zip | |
Merge branch 'replace-xml-rs'
| -rw-r--r-- | Cargo.lock | 30 | ||||
| -rw-r--r-- | android/translations-converter/Cargo.toml | 2 | ||||
| -rw-r--r-- | android/translations-converter/src/android/plurals.rs | 2 | ||||
| -rw-r--r-- | android/translations-converter/src/android/string_value.rs | 2 | ||||
| -rw-r--r-- | android/translations-converter/src/android/strings.rs | 6 | ||||
| -rw-r--r-- | android/translations-converter/src/main.rs | 7 |
6 files changed, 24 insertions, 25 deletions
diff --git a/Cargo.lock b/Cargo.lock index 31cc3094cc..47e9e95618 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2420,6 +2420,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" [[package]] +name = "quick-xml" +version = "0.27.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffc053f057dd768a56f62cd7e434c42c831d296968997e9ac1f76ea7c2d14c41" +dependencies = [ + "memchr", + "serde", +] + +[[package]] name = "quickcheck" version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -2762,18 +2772,6 @@ dependencies = [ ] [[package]] -name = "serde-xml-rs" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0bf1ba0696ccf0872866277143ff1fd14d22eec235d2b23702f95e6660f7dfa" -dependencies = [ - "log", - "serde", - "thiserror", - "xml-rs", -] - -[[package]] name = "serde_derive" version = "1.0.130" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -3705,9 +3703,9 @@ dependencies = [ "derive_more", "htmlize", "lazy_static", + "quick-xml", "regex", "serde", - "serde-xml-rs", ] [[package]] @@ -4240,12 +4238,6 @@ dependencies = [ ] [[package]] -name = "xml-rs" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3" - -[[package]] name = "zeroize" version = "1.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" diff --git a/android/translations-converter/Cargo.toml b/android/translations-converter/Cargo.toml index 6e744a3c4f..9c0f96a6fa 100644 --- a/android/translations-converter/Cargo.toml +++ b/android/translations-converter/Cargo.toml @@ -12,4 +12,4 @@ htmlize = "0.5" lazy_static = "1" regex = "1" serde = { version = "1", features = ["derive"] } -serde-xml-rs = "0.4" +quick-xml = { version = "0.27.1", features = ["serialize"] } diff --git a/android/translations-converter/src/android/plurals.rs b/android/translations-converter/src/android/plurals.rs index df783765bd..7d88a19135 100644 --- a/android/translations-converter/src/android/plurals.rs +++ b/android/translations-converter/src/android/plurals.rs @@ -18,6 +18,7 @@ pub struct PluralResources { #[derive(Clone, Debug, Deserialize, Serialize)] pub struct PluralResource { /// The plural resource ID. + #[serde(rename = "@name")] pub name: String, /// The items of the plural resource, one for each quantity variant. @@ -31,6 +32,7 @@ pub struct PluralResource { #[derive(Clone, Debug, Deserialize, Serialize)] pub struct PluralVariant { /// The quantity for this variant to be used. + #[serde(rename = "@quantity")] pub quantity: PluralQuantity, /// The string value diff --git a/android/translations-converter/src/android/string_value.rs b/android/translations-converter/src/android/string_value.rs index 0cec2f49ea..26f43e7d40 100644 --- a/android/translations-converter/src/android/string_value.rs +++ b/android/translations-converter/src/android/string_value.rs @@ -197,7 +197,7 @@ mod tests { parameters %2$s %d %1$d</root>"#; let deserialized: Wrapper = - serde_xml_rs::from_str(serialized_input).expect("Mal-formed serialized input"); + quick_xml::de::from_str(serialized_input).expect("Mal-formed serialized input"); let expected = StringValue( r#"A multi-line string value with \"quotes\" and parameters %2$s %d %1$d"#.to_owned(), diff --git a/android/translations-converter/src/android/strings.rs b/android/translations-converter/src/android/strings.rs index 61a27e9793..4a75fa63af 100644 --- a/android/translations-converter/src/android/strings.rs +++ b/android/translations-converter/src/android/strings.rs @@ -18,9 +18,11 @@ pub struct StringResources { #[derive(Clone, Debug, Eq, Deserialize, PartialEq, Serialize)] pub struct StringResource { /// The string resource ID. + #[serde(rename = "@name")] pub name: String, /// If the string should be translated or not. + #[serde(rename = "@translatable")] #[serde(default = "default_translatable")] pub translatable: bool, @@ -143,7 +145,7 @@ mod tests { ]); let deserialized: StringResources = - serde_xml_rs::from_str(xml_input).expect("malformed XML in test input"); + quick_xml::de::from_str(xml_input).expect("malformed XML in test input"); assert_eq!(deserialized, expected); } @@ -182,7 +184,7 @@ mod tests { ]); let deserialized: StringResources = - serde_xml_rs::from_str(xml_input).expect("malformed XML in test input"); + quick_xml::de::from_str(xml_input).expect("malformed XML in test input"); assert_eq!(deserialized, expected); } diff --git a/android/translations-converter/src/main.rs b/android/translations-converter/src/main.rs index 6b63410a59..cf58adf0f3 100644 --- a/android/translations-converter/src/main.rs +++ b/android/translations-converter/src/main.rs @@ -39,6 +39,7 @@ use crate::normalize::Normalize; use std::{ collections::HashMap, fs::{self, File}, + io::BufReader, path::Path, }; @@ -48,7 +49,8 @@ fn main() { let strings_file = File::open(resources_dir.join("values/strings.xml")) .expect("Failed to open string resources file"); let string_resources: android::StringResources = - serde_xml_rs::from_reader(strings_file).expect("Failed to read string resources file"); + quick_xml::de::from_reader(BufReader::new(strings_file)) + .expect("Failed to read string resources file"); let known_strings: HashMap<_, _> = string_resources .into_iter() @@ -58,7 +60,8 @@ fn main() { let plurals_file = File::open(resources_dir.join("values/plurals.xml")) .expect("Failed to open plurals resources file"); let plural_resources: android::PluralResources = - serde_xml_rs::from_reader(plurals_file).expect("Failed to read plural resources file"); + quick_xml::de::from_reader(BufReader::new(plurals_file)) + .expect("Failed to read plural resources file"); let known_plurals: HashMap<_, _> = plural_resources .iter() |
