[package]
edition = "2024"
rust-version = "1.85"
name = "android-abx"
version = "0.4.0"
build = false
exclude = [
"tests/fixtures/aosp_verify/",
"cliff.toml",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Android Binary XML (ABX) parser using winnow"
homepage = "https://github.com/pngouin/android-abx"
documentation = "https://docs.rs/android-abx"
readme = "README.md"
keywords = [
"android",
"xml",
"binary",
"parser",
"serialization",
]
categories = [
"parser-implementations",
"encoding",
]
license = "MIT"
repository = "https://github.com/pngouin/android-abx"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = []
serde = ["dep:serde"]
xml = ["dep:quick-xml"]
[lib]
name = "android_abx"
path = "src/lib.rs"
[[example]]
name = "abx2xml"
path = "examples/abx2xml.rs"
[[example]]
name = "serde_pkgs"
path = "examples/serde_pkgs.rs"
required-features = ["serde"]
[[example]]
name = "serde_root"
path = "examples/serde_root.rs"
required-features = ["serde"]
[[example]]
name = "xml2abx"
path = "examples/xml2abx.rs"
required-features = ["xml"]
[[test]]
name = "aosp_fixture_serde_tests"
path = "tests/aosp_fixture_serde_tests.rs"
[[test]]
name = "aosp_fixture_tests"
path = "tests/aosp_fixture_tests.rs"
[[test]]
name = "encode_tests"
path = "tests/encode_tests.rs"
[[test]]
name = "parser_tests"
path = "tests/parser_tests.rs"
[[test]]
name = "serde_tests"
path = "tests/serde_tests.rs"
[[test]]
name = "xml_to_abx_tests"
path = "tests/xml_to_abx_tests.rs"
[[bench]]
name = "deserialize"
path = "benches/deserialize.rs"
harness = false
required-features = ["serde"]
[[bench]]
name = "encoding"
path = "benches/encoding.rs"
harness = false
[[bench]]
name = "parsing"
path = "benches/parsing.rs"
harness = false
[[bench]]
name = "xml_encoding"
path = "benches/xml_encoding.rs"
harness = false
required-features = ["xml"]
[dependencies.base64]
version = "0.23"
[dependencies.faster-hex]
version = "0.10"
[dependencies.quick-xml]
version = "0.41.0"
optional = true
[dependencies.serde]
version = "1"
optional = true
[dependencies.smol_str]
version = "0.3"
[dependencies.thiserror]
version = "2"
[dependencies.winnow]
version = "1.0.4"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.serde]
version = "1"
features = ["derive"]
[lints.clippy]
missing_errors_doc = "warn"
missing_panics_doc = "warn"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "forbid"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(docsrs)"]