[package]
name = "rossi"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
description = "Core Event-B parser, AST, pretty-printer, and Rodin XML/ZIP conversion library for Rossi"
license.workspace = true
repository.workspace = true
keywords = ["parser", "event-b", "formal-methods", "verification"]
categories = ["parsing", "development-tools"]
# Keep the published crate lean: the example .zip archives (~4.5 MB) are only
# read at runtime by integration tests, never compiled into the library.
exclude = ["examples/*.zip"]

[dependencies]
pest.workspace = true
pest_derive.workspace = true
stacker.workspace = true
thiserror.workspace = true
serde = { workspace = true, optional = true }
quick-xml.workspace = true
zip.workspace = true

[dev-dependencies]
indoc.workspace = true
test-case.workspace = true
proptest.workspace = true

[features]
default = []
serde = ["dep:serde"]

[package.metadata.docs.rs]
# Document the `serde`-gated APIs on docs.rs.
all-features = true
