# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
name = "escargot"
version = "0.5.7"
authors = ["Ed Page <eopage@gmail.com>"]
include = ["build.rs", "src/**/*", "Cargo.toml", "LICENSE*", "README.md", "examples/**/*"]
description = "Cargo API written in Paris"
homepage = "https://github.com/crate-ci/escargot"
documentation = "http://docs.rs/escargot/"
readme = "README.md"
keywords = ["cargo", "packaging"]
categories = ["development-tools::build-utils"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/crate-ci/escargot.git"
[package.metadata.docs.rs]
features = ["cargo_unstable", "test_unstable"]
[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
min = 1
replace = "{{version}}"
search = "Unreleased"

[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = "...{{tag_name}}"
search = "\\.\\.\\.HEAD"

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
min = 1
replace = "{{date}}"
search = "ReleaseDate"

[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = "<!-- next-header -->\n## [Unreleased] - ReleaseDate\n"
search = "<!-- next-header -->"

[[package.metadata.release.pre-release-replacements]]
exactly = 1
file = "CHANGELOG.md"
replace = "<!-- next-url -->\n[Unreleased]: https://github.com/crate-ci/escargot/compare/{{tag_name}}...HEAD"
search = "<!-- next-url -->"
[dependencies.log]
version = "0.4.4"

[dependencies.once_cell]
version = "1.2.0"

[dependencies.serde]
version = "1.0.113"
features = ["derive"]

[dependencies.serde_json]
version = "1.0"
[dev-dependencies.assert_fs]
version = "1.0"

[features]
cargo_unstable = []
print = []
strict_unstable = []
test_unstable = []
