summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLinus Färnstrand <linus@mullvad.net>2023-01-31 13:26:55 +0100
committerLinus Färnstrand <linus@mullvad.net>2023-01-31 13:26:55 +0100
commitdf6ef150a4a6d9398ab8ae29b2898fdb96438743 (patch)
tree4a3a4daccc05cd1f1505bbea3d22e598ac36351a
parent13a923ef85ea9aee2353e198a9c33ab21e814675 (diff)
parentaac71a41a23c903b789563c082f09bfe5076e6da (diff)
downloadmullvadvpn-df6ef150a4a6d9398ab8ae29b2898fdb96438743.tar.xz
mullvadvpn-df6ef150a4a6d9398ab8ae29b2898fdb96438743.zip
Merge branch 'replace-xml-rs'
-rw-r--r--Cargo.lock30
-rw-r--r--android/translations-converter/Cargo.toml2
-rw-r--r--android/translations-converter/src/android/plurals.rs2
-rw-r--r--android/translations-converter/src/android/string_value.rs2
-rw-r--r--android/translations-converter/src/android/strings.rs6
-rw-r--r--android/translations-converter/src/main.rs7
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()