[package] name = "prost-build" readme = "README.md" description = "Generate Prost annotated Rust types from Protocol Buffers files." version.workspace = true authors.workspace = true license.workspace = true repository.workspace = true edition.workspace = true rust-version.workspace = true [features] default = ["format"] format = ["dep:prettyplease", "dep:syn"] cleanup-markdown = ["dep:pulldown-cmark", "dep:pulldown-cmark-to-cmark"] [dependencies] bytes = { version = "1", default-features = false } heck = { version = ">=0.4, <=0.5" } itertools = { version = ">=0.10, <=0.13", default-features = false, features = ["use_alloc"] } log = "0.4.4" multimap = { version = ">=0.8, <=0.10", default-features = false } petgraph = { version = "0.6", default-features = false } prost = { version = "0.13.3", path = "../prost", default-features = false } prost-types = { version = "0.13.3", path = "../prost-types", default-features = false } tempfile = "3" once_cell = "1.17.1" regex = { version = "1.8.1", default-features = false, features = ["std", "unicode-bool"] } # feature: format prettyplease = { version = "0.2", optional = true } syn = { version = "2", features = ["full"], optional = true } # These two must be kept in sync, used for `cleanup-markdown` feature. pulldown-cmark = { version = "0.12", optional = true, default-features = false } pulldown-cmark-to-cmark = { version = ">=16, <=17", optional = true } [dev-dependencies] env_logger = { version = "0.11", default-features = false }