[workspace]
members = [".", "fuzz", "no-std-test"]
exclude = ["fuzz", ".rustup"]
resolver = "2"
[package]
name = "protocrap"
version = "0.3.2"
edition = "2024"
rust-version = "1.91"
description = "A small, efficient, and flexible protobuf implementation"
license = "MIT OR Apache-2.0"
repository = "https://github.com/gerben-stavenga/protocrap"
documentation = "https://docs.rs/protocrap"
keywords = ["protobuf", "serialization", "encoding", "no-std", "arena"]
categories = ["encoding", "parser-implementations", "no-std"]
readme = "README.md"
[dependencies]
allocator-api2 = { version = "0.2", default-features = false }
base64 = { version = "0.22.1", optional = true }
futures = { version = "0.3.31", optional = true }
serde = { version = "1.0.228", optional = true }
serde_json = { version = "1.0", optional = true }
time = { version = "0.3", features = ["formatting", "parsing", "macros"], optional = true }
anyhow = { version = "1.0", optional = true }
quote = { version = "1.0", optional = true }
syn = { version = "2.0", features = ["full", "parsing"], optional = true }
proc-macro2 = { version = "1.0", optional = true }
prettyplease = { version = "0.2", optional = true }
[features]
default = ["std", "serde_support"]
serde_support = ["std", "serde", "base64", "time"]
std = ["futures", "allocator-api2/alloc"]
nightly = []
codegen-deps = ["std", "serde_support", "anyhow", "quote", "syn", "proc-macro2", "prettyplease", "serde_json"]
codegen = ["codegen-deps"]
[[bin]]
name = "protocrap-codegen"
path = "src/main.rs"
required-features = ["codegen-deps"]
[profile.dev]
panic = 'abort'
[profile.release]
panic = 'abort'