# This file is part of ICU4X. For terms of use, please see the file # called LICENSE at the top level of the ICU4X source tree # (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). [package] name = "icu_provider" description = "Trait and struct definitions for the ICU data provider" authors.workspace = true categories.workspace = true edition.workspace = true homepage.workspace = true include.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true version.workspace = true [package.metadata.docs.rs] all-features = true [dependencies] displaydoc = { workspace = true } icu_locid = { workspace = true } stable_deref_trait = { workspace = true } writeable = { workspace = true } tinystr = { workspace = true } yoke = { workspace = true, features = ["alloc", "derive"] } zerofrom = { workspace = true, features = ["alloc", "derive"] } zerovec = { workspace = true, features = ["derive"]} # macros icu_provider_macros = { workspace = true, optional = true } # log log = { workspace = true, optional = true } # serde bincode = { workspace = true, optional = true } postcard = { workspace = true, optional = true } serde = { workspace = true, features = ["derive", "alloc"], optional = true } serde_json = { workspace = true, optional = true } # datagen erased-serde = { workspace = true, optional = true, features = ["alloc"] } databake = { workspace = true, optional = true, features = ["derive"] } [dev-dependencies] serde_json = { workspace = true } icu = { path = "../../components/icu", default-features = false } icu_provider_adapters = { path = "../adapters" } icu_locid_transform = { path = "../../components/locid_transform" } [target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] criterion = { workspace = true } [features] bench = [] std = ["icu_locid/std"] sync = [] experimental = [] macros = ["dep:icu_provider_macros"] # Enable logging of additional context of data errors logging = ["dep:log"] # Legacy name log_error_context = ["logging"] # Enable BufferProvider and other deserialization infrastructure serde = ["dep:serde", "yoke/serde"] # Features for specific serde formats deserialize_json = ["serde", "dep:serde_json"] deserialize_bincode_1 = ["serde", "dep:bincode", "std"] deserialize_postcard_1 = ["serde", "dep:postcard"] # Dependencies for running data generation datagen = ["serde", "dep:erased-serde", "dep:databake", "std", "sync"] [package.metadata.cargo-all-features] denylist = ["macros"] # We have tons of features here, limit the amount of tests we run max_combination_size = 3 [lib] bench = false # This option is required for Benchmark CI [[bench]] name = "data_locale_bench" harness = false