gix-tempfile 10.0.0

A tempfile implementation with a global registry to assure cleanup
Documentation
[package]
name = "gix-tempfile"
version = "10.0.0"
repository = "https://github.com/Byron/gitoxide"
license = "MIT OR Apache-2.0"
description = "A tempfile implementation with a global registry to assure cleanup"
authors = ["Sebastian Thiel <sebastian.thiel@icloud.com>"]
edition = "2021"
include = ["src/**/*", "LICENSE-*", "README.md", "CHANGELOG.md"]
rust-version = "1.65"

[[example]]
name = "delete-tempfiles-on-sigterm"
path = "examples/delete-tempfiles-on-sigterm.rs"
required-features = ["signals"]

[[example]]
name = "delete-tempfiles-on-sigterm-interactive"
path = "examples/delete-tempfiles-on-sigterm-interactive.rs"
required-features = ["signals"]

[[example]]
name = "try-deadlock-on-cleanup"
path = "examples/try-deadlock-on-cleanup.rs"
required-features = ["signals"]

[lib]
doctest = false
test = true

[dependencies]
gix-fs = { version = "^0.7.0", path = "../gix-fs" }
parking_lot = "0.12.1"
dashmap = { version = "5.1.0", optional = true }
once_cell = { version = "1.8.0", default-features = false, features = ["race", "std"] }
tempfile = "3.4.0"

signal-hook = { version = "0.3.9", default-features = false, optional = true }
signal-hook-registry = { version = "1.4.0", optional = true }

document-features = { version = "0.2.0", optional = true }

[features]
default = ["hp-hashmap"]
## Support for signal handlers to cleanup tempfiles when a signal is received.
signals = ["dep:signal-hook", "dep:signal-hook-registry"]
## Use a high-performance concurrent hashmap implementation for optimal performance with less contention if there are many tempfiles opening at the same time.
## It also allows to potentially cleanup more tempfiles in a signal handler as the hashmap can be partially locked.
hp-hashmap = ["dep:dashmap"]

[target.'cfg(not(windows))'.dependencies]
libc = { version = "0.2.98", default-features = false }

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