[[bench]]
harness = false
name = "building"
path = "benches/building.rs"
[[bench]]
harness = false
name = "canonicalization"
path = "benches/canonicalization.rs"
[[bench]]
name = "comprehensive_benchmarks"
path = "benches/comprehensive_benchmarks.rs"
[[bench]]
name = "determinism"
path = "benches/determinism.rs"
[[bench]]
harness = false
name = "performance"
path = "benches/performance.rs"
[[bench]]
harness = false
name = "profiling"
path = "benches/profiling.rs"
[[bin]]
name = "ddex-builder"
path = "src/bin/ddex-builder.rs"
[dependencies.blake3]
version = "1.5"
[dependencies.chrono]
features = ["serde"]
version = "0.4"
[dependencies.clap]
features = ["derive", "env", "color"]
version = "4.4"
[dependencies.clap_complete]
version = "4.4"
[dependencies.console]
version = "0.15"
[dependencies.ddex-core]
version = "0.4.3"
[dependencies.dhat]
optional = true
version = "0.3"
[dependencies.futures]
optional = true
version = "0.3"
[dependencies.hex]
version = "0.4"
[dependencies.html-escape]
version = "0.2"
[dependencies.indexmap]
features = ["serde"]
version = "2.5"
[dependencies.indicatif]
version = "0.17"
[dependencies.is-terminal]
version = "0.4"
[dependencies.mime]
version = "0.3"
[dependencies.num_cpus]
version = "1.16"
[dependencies.once_cell]
version = "1.19"
[dependencies.quick-xml]
version = "0.36"
[dependencies.rayon]
version = "1.10"
[dependencies.regex]
version = "1.11"
[dependencies.serde]
features = ["derive"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.sha2]
version = "0.10"
[dependencies.smallstr]
version = "0.3"
[dependencies.smartstring]
features = ["serde"]
version = "1.0"
[dependencies.string_cache]
version = "0.8"
[dependencies.thiserror]
version = "1.0"
[dependencies.tokio]
features = ["full"]
optional = true
version = "1.35"
[dependencies.toml]
features = ["preserve_order"]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3"
[dependencies.unicode-normalization]
version = "0.1"
[dependencies.url]
version = "2.5"
[dependencies.urlencoding]
version = "2.1"
[dependencies.uuid]
features = ["v4", "serde", "js"]
version = "1.5"
[dependencies.xmltree]
version = "0.10"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.futures]
version = "0.3"
[dev-dependencies.insta]
version = "1.34"
[dev-dependencies.num_cpus]
version = "1.16"
[dev-dependencies.pprof]
features = ["flamegraph", "criterion"]
version = "0.15"
[dev-dependencies.pretty_assertions]
version = "1.4"
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.regex]
version = "1.11"
[dev-dependencies.similar]
version = "2.4"
[dev-dependencies.tempfile]
version = "3.8"
[dev-dependencies.tokio]
features = ["full", "rt", "rt-multi-thread", "macros"]
version = "1.35"
[dev-dependencies.tokio-test]
version = "0.4"
[[example]]
name = "diff_comparison_example"
path = "examples/diff_comparison_example.rs"
[[example]]
name = "error_sanitization_demo"
path = "examples/error_sanitization_demo.rs"
[[example]]
name = "spotify_album_example"
path = "examples/spotify_album_example.rs"
[[example]]
name = "streaming_catalog_example"
path = "examples/streaming_catalog_example.rs"
[[example]]
name = "youtube_video_example"
path = "examples/youtube_video_example.rs"
[features]
async = ["tokio", "futures"]
bench = []
default = ["async"]
dhat-heap = ["dhat"]
ffi = []
strict = []
wasm = []
[lib]
name = "ddex_builder"
path = "src/lib.rs"
[lints.clippy]
disallowed_types = "deny"
[package]
authors = ["Kevin Marques Moo <daddykev.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["encoding", "multimedia::audio"]
description = "Deterministic DDEX XML builder with smart normalization"
documentation = "https://docs.rs/ddex-builder"
edition = "2021"
exclude = ["*.bak", "*.backup", "*.log", "*.tmp", "bindings/**/*", "fuzz/**/*", "tests/integration/**/*", "*.profdata", "*.profraw"]
homepage = "https://github.com/daddykev/ddex-suite"
keywords = ["ddex", "xml", "builder", "deterministic", "music"]
license = "MIT"
name = "ddex-builder"
readme = "README.md"
repository = "https://github.com/daddykev/ddex-suite"
version = "0.4.3"
[[test]]
name = "basic_test"
path = "tests/basic_test.rs"
[[test]]
name = "canonical_debug"
path = "tests/canonical_debug.rs"
[[test]]
name = "comprehensive_test_suite"
path = "tests/comprehensive_test_suite.rs"
[[test]]
name = "cross_platform_determinism"
path = "tests/cross_platform_determinism.rs"
[[test]]
name = "determinism_tests"
path = "tests/determinism_tests.rs"
[[test]]
name = "entity_classification_test"
path = "tests/entity_classification_test.rs"
[[test]]
name = "error_sanitizer_test"
path = "tests/error_sanitizer_test.rs"
[[test]]
name = "golden_files"
path = "tests/golden_files.rs"
[[test]]
name = "linker_test"
path = "tests/linker_test.rs"
[[test]]
name = "linker_xml_integration_test"
path = "tests/linker_xml_integration_test.rs"
[[test]]
name = "performance_regression"
path = "tests/performance_regression.rs"
[[test]]
name = "presets_test"
path = "tests/presets_test.rs"
[[test]]
name = "security_fixes_integration"
path = "tests/security_fixes_integration.rs"
[[test]]
name = "security_integration_test"
path = "tests/security_integration_test.rs"
[[test]]
name = "xml_generation_test"
path = "tests/xml_generation_test.rs"