git-bot-feedback 0.7.1

A library designed for CI tools that posts comments on a Pull Request.
Documentation
[workspace]
members = ["bindings/*"]

[workspace.package]
edition = "2024"
repository = "https://github.com/2bndy5/git-bot-feedback"
license = "LGPL-3.0-or-later"

[workspace.dependencies]
pyo3 = { version = "0.29.0", features = ["extension-module"] }
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }

[workspace.dependencies.reqwest]
version = "0.13"
# As a lib, this crate should allow consumers to select their own TLS backend.
# Reqwest's default TLS backend requires aws-lc-sys, which can be problematic depending on build env.
default-features = false
features = ["http2", "charset", "system-proxy"]


[package]
name = "git-bot-feedback"
description = "A library designed for CI tools that posts comments on a Pull Request."
version = "0.7.1"
edition.workspace = true
license.workspace = true
repository.workspace = true

[dependencies]
async-trait = "0.1.89"
chrono = "0.4"
fast-glob = { version = "1.0", optional = true }
log = "0.4"
pyo3 = { workspace = true, optional = true }
regex = { version = "1.12", optional = true }
reqwest = { workspace = true }
serde = { version = "1", features = ["derive"] }
serde_json = "1.0"
thiserror = "2.0"
tokio = { workspace = true, features = ["time"] }
url = "2.5" # needs to match whatever reqwest uses

[dev-dependencies]
mockito = "1.7.2"
tempfile = "3.27.0"
# Its ok to use default TLS backend for dev workflows
reqwest = { workspace = true, features = ["default-tls"] }

[build-dependencies]
chrono = {version = "0.4", features = ["now"]}

[features]
# feature that enables getting file changes
file-changes = ["dep:fast-glob", "dep:regex"]
# for python bindings
pyo3 = ["dep:pyo3"]

# GitHub implementation/support
github = []

# features enabled by default
default = ["github"]

# optional feature to silence a compiler error if/when
# no features enable any git server implementations
custom-git-server-impl = []

# This feature is intended to be a dev-only feature.
# It is not intended for end users of this library.
# It used to expedite tests about rate limit violations.
test-skip-wait-for-rate-limit = []

[package.metadata.docs.rs]
# extra metadata for builds on docs.rs
features = ["file-changes"]
rustdoc-args = ["--cfg", "docsrs"]