protox 0.5.1

A rust implementation of the protobuf compiler.
Documentation
[package]
name = "protox"
description = "A rust implementation of the protobuf compiler."
keywords = ["protobuf", "serialization"]
categories = ["compilers", "encoding", "development-tools::build-utils"]
version = "0.5.1"
authors = ["Andrew Hickman <andrew.hickman1@sky.com>"]
repository = "https://github.com/andrewhickman/protox"
documentation = "https://docs.rs/protox"
license = "MIT OR Apache-2.0"
readme = "../README.md"
edition = "2021"
rust-version = "1.64.0"
include = [
    "LICENSE-APACHE",
    "LICENSE-MIT",
    "src/**/*.rs",
    "!src/**/tests.rs",
    "protobuf/LICENSE",
    "protobuf/src/google/protobuf/any.proto",
    "protobuf/src/google/protobuf/api.proto",
    "protobuf/src/google/protobuf/descriptor.proto",
    "protobuf/src/google/protobuf/duration.proto",
    "protobuf/src/google/protobuf/empty.proto",
    "protobuf/src/google/protobuf/field_mask.proto",
    "protobuf/src/google/protobuf/source_context.proto",
    "protobuf/src/google/protobuf/struct.proto",
    "protobuf/src/google/protobuf/timestamp.proto",
    "protobuf/src/google/protobuf/type.proto",
    "protobuf/src/google/protobuf/wrappers.proto",
    "protobuf/src/google/protobuf/compiler/plugin.proto",
]

[[bin]]
name = "protox"
path = "src/main.rs"
required-features = ["bin"]

[features]
bin = ["dep:clap", "miette/fancy"]

[dependencies]
bytes = "1.5.0"
clap = { version = "4.4.7", features = ["derive"], optional = true }
miette = "5.8.0"
prost = "0.12.1"
prost-reflect = { version = "0.12.0", features = ["miette", "text-format"] }
prost-types = "0.12.1"
protox-parse = { version = "0.5.0", path = "../protox-parse" }
thiserror = "1.0.50"

[dev-dependencies]
insta = { version = "1.34.0", features = ["yaml"] }
prost-build = { version = "0.12.1" }
prost-reflect = { version = "0.12.0", features = ["serde"] }
once_cell = { version = "1.12.0", default_features = false }
scopeguard = "1.1.0"
serde_yaml = "0.9.27"
similar-asserts = { version = "1.2.0", features = ["serde"] }
tempfile = "3.8.1"
serde_json = "1.0.108"
tonic-build = "0.10.2"

[package.metadata.release]
tag-name = "{{version}}"
sign-tag = true
sign-commit = true
pre-release-commit-message = "(cargo-release) {{crate_name}} version {{version}}"

[[package.metadata.release.pre-release-replacements]]
file = "../README.md"
search = "https://deps\\.rs/crate/protox/[^/]*/status.svg"
replace = "https://deps.rs/crate/protox/{{version}}/status.svg"
exactly = 1

[[package.metadata.release.pre-release-replacements]]
file = "../README.md"
search = "https://docs\\.rs/protox/[^/]*/protox"
replace = "https://docs.rs/protox/{{version}}/protox"
min = 0

[[package.metadata.release.pre-release-replacements]]
file = "src/lib.rs"
search = "html_root_url = \"https://docs.rs/protox/[^/]*/\""
replace = "html_root_url = \"https://docs.rs/protox/{{version}}/\""
exactly = 1

[[package.metadata.release.pre-release-replacements]]
file = "../CHANGELOG.md"
search = "## \\[Unreleased\\]"
replace = "## [Unreleased]\n\n## [{{version}}] - {{date}}"
exactly = 1

[[package.metadata.release.pre-release-replacements]]
file = "../CHANGELOG.md"
search = "\\[Unreleased\\]: https://github\\.com/andrewhickman/protox/compare/.*?...HEAD"
replace = "[Unreleased]: https://github.com/andrewhickman/protox/compare/{{version}}...HEAD\n[{{version}}]: https://github.com/andrewhickman/protox/compare/{{prev_version}}...{{version}}"
exactly = 1

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]