# 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 = "2024"
rust-version = "1.85.1"
name = "cgx-core"
version = "0.0.10"
authors = ["Adam Nelson <anelson@apocryph.org>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core library for cgx, the Rust equivalent of uvx or npx for running Rust crates quickly and easily"
homepage = "https://github.com/anelson-labs/cgx"
readme = "README.md"
categories = [
    "command-line-utilities",
    "development-tools",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/anelson-labs/cgx"

[package.metadata.cargo-machete]
ignored = ["humantime-serde"]

[lib]
name = "cgx_core"
path = "src/lib.rs"

[dependencies.backon]
version = "1.6"
features = ["std-blocking-sleep"]
default-features = false

[dependencies.build-context]
version = "0.1.4"

[dependencies.bytes]
version = "1"

[dependencies.bzip2]
version = "0.6.1"

[dependencies.cargo_metadata]
version = "0.20.0"

[dependencies.chrono]
version = "0.4.44"
features = ["serde"]

[dependencies.clap]
version = "4.6.1"
features = [
    "derive",
    "env",
    "string",
    "unicode",
]

[dependencies.etcetera]
version = "0.10.0"

[dependencies.figment]
version = "0.10.19"
features = [
    "toml",
    "env",
]

[dependencies.flate2]
version = "1.1.9"

[dependencies.gix]
version = "0.84"
features = [
    "blocking-http-transport-curl-openssl",
    "max-performance-safe",
    "worktree-mutation",
]

[dependencies.home]
version = "0.5.11"

[dependencies.humantime]
version = "2.1"

[dependencies.humantime-serde]
version = "1.1.1"

[dependencies.ignore]
version = "0.4.25"

[dependencies.reqwest]
version = "0.13"
features = [
    "blocking",
    "rustls",
    "http2",
    "charset",
    "gzip",
    "system-proxy",
    "socks",
]
default-features = false

[dependencies.semver]
version = "1.0.28"
features = ["serde"]

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

[dependencies.serde-cyclonedx]
version = "0.10.0"

[dependencies.serde_json]
version = "1.0.150"

[dependencies.sha2]
version = "0.11.0"

[dependencies.shellexpand]
version = "3.1.2"

[dependencies.snafu]
version = "0.9.0"

[dependencies.strum]
version = "0.28.0"
features = ["derive"]

[dependencies.tame-index]
version = "=0.26.2"
features = ["sparse"]

[dependencies.tar]
version = "0.4.46"

[dependencies.tempfile]
version = "3.26.0"

[dependencies.toml]
version = "1.1.2"

[dependencies.tracing]
version = "0.1.41"

[dependencies.url]
version = "2.5.8"
features = ["serde"]

[dependencies.uuid]
version = "1.23.1"
features = ["v4"]

[dependencies.which]
version = "8.0.2"

[dependencies.xz2]
version = "0.1.7"

[dependencies.zip]
version = "7.2.0"

[dependencies.zstd]
version = "0.13.3"

[dev-dependencies.assert-json-diff]
version = "2.0.2"

[dev-dependencies.assert_matches]
version = "1.5.0"

[dev-dependencies.httpmock]
version = "0.8.2"

[dev-dependencies.insta]
version = "1.47.2"
features = ["filters"]

[dev-dependencies.rand]
version = "0.10.1"

[dev-dependencies.sealed_test]
version = "1.1.0"

[dev-dependencies.tracing-subscriber]
version = "0.3.22"
features = ["env-filter"]

[target."cfg(windows)".dependencies.ctrlc]
version = "3.5"

[lints.clippy]
await_holding_lock = "warn"
char_lit_as_u8 = "warn"
checked_conversions = "warn"
dbg_macro = "warn"
debug_assert_with_mut_call = "warn"
doc_markdown = "warn"
empty_enum = "warn"
enum_glob_use = "deny"
exit = "warn"
expl_impl_clone_on_copy = "warn"
explicit_deref_methods = "warn"
explicit_into_iter_loop = "warn"
fallible_impl_from = "warn"
filter_map_next = "warn"
flat_map_option = "warn"
float_cmp_const = "warn"
fn_params_excessive_bools = "warn"
from_iter_instead_of_collect = "warn"
if_let_mutex = "warn"
implicit_clone = "warn"
imprecise_flops = "warn"
inefficient_to_string = "warn"
invalid_upcast_comparisons = "warn"
large_digit_groups = "warn"
large_stack_arrays = "warn"
large_types_passed_by_value = "warn"
let_unit_value = "warn"
linkedlist = "warn"
lossy_float_literal = "warn"
macro_use_imports = "warn"
manual_ok_or = "warn"
map_err_ignore = "warn"
map_flatten = "warn"
map_unwrap_or = "warn"
match_on_vec_items = "warn"
match_same_arms = "warn"
match_wild_err_arm = "warn"
match_wildcard_for_single_variants = "warn"
mem_forget = "warn"
missing_enforced_import_renames = "warn"
mut_mut = "warn"
mutex_integer = "warn"
needless_borrow = "warn"
needless_continue = "warn"
needless_for_each = "warn"
option_option = "warn"
path_buf_push_overwrite = "warn"
ptr_as_ptr = "warn"
rc_mutex = "warn"
ref_option_ref = "warn"
rest_pat_in_fully_bound_structs = "warn"
same_functions_in_if_condition = "warn"
semicolon_if_nothing_returned = "warn"
single_match_else = "warn"
string_add = "warn"
string_add_assign = "warn"
string_lit_as_bytes = "warn"
string_to_string = "warn"
todo = "warn"
trait_duplication_in_bounds = "warn"
unimplemented = "warn"
unnested_or_patterns = "warn"
unused_self = "warn"
useless_transmute = "warn"
verbose_file_reads = "warn"
zero_sized_map_values = "warn"

[lints.rust]
unexpected_cfgs = "warn"
unnameable_types = "warn"
unreachable_pub = "warn"
unsafe_code = "forbid"
unsafe_op_in_unsafe_fn = "warn"
unused_lifetimes = "warn"
unused_macro_rules = "warn"
unused_qualifications = "warn"

[lints.rust.future_incompatible]
level = "warn"
priority = -1

[lints.rust.nonstandard_style]
level = "warn"
priority = -1

[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1
