Ctrl K
ComunidadGuías…

Cargo.toml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
[workspace]
resolver = "3"
members = ["crates/*"]

# Duplicate dependency note (resolved lockfile):
# - hashbrown: 0.15, 0.16, 0.17; itertools: 0.10, 0.14, 0.15.
# - cfg-if, core-foundation, rand: two versions each.
# - reqwest: 0.12 workspace and 0.13 via xet-client 1.5.2.
# - getrandom: 0.2, 0.3, 0.4 via incompatible third-party dependency constraints.
# - syn: 2 and 3; async-trait uses syn 3 while other derive macros use syn 2.

[workspace.package]
version = "1.13.0"
edition = "2024"
license = "MIT OR Apache-2.0"
repository = "https://github.com/STEXS-Technologies/shardline"
homepage = "https://github.com/STEXS-Technologies/shardline"
documentation = "https://docs.rs/shardline"

[workspace.dependencies]
aes-gcm = "0.10"
arrow-array = "60.0.0"
arrow-json = "60.0.0"
arrow-schema = "60.0.0"
async-trait = "0.1.92"
dotenvy = "0.15"
toml = "0.8"
axum = "0.8.8"
multer = "3.1.0"
base64 = "0.22"
blake3 = "1.8.3"
bytes = "1.10.1"
httpdate = "1"
chrono = { version = "0.4", default-features = false, features = ["std", "clock"] }
clap = "4.5.60"
clap_complete = "4.5.59"
clap_mangen = "0.2.31"
criterion = { version = "0.5.1", default-features = false, features = ["html_reports"] }
ed25519-dalek = { version = "2", features = ["pem", "pkcs8"] }
# Keep v2 in public APIs; StateChronicle 0.2 uses v3 internally.
statechronicle-ed25519 = { package = "ed25519-dalek", version = "3" }
flate2 = "1"
futures-util = "0.3"
gearhash = "0.1.3"
getrandom = "0.3"
hex = "0.4"
hmac = "0.12"
http = "1.4"
jsonwebtoken = "9"
libc = "0.2.177"
libfuzzer-sys = "0.4"
object_store = { version = "0.14.2", default-features = false }
parquet = { version = "60.0.0", default-features = false, features = [
    "arrow",
    "snap",
    "brotli",
    "flate2-zlib-rs",
    "lz4",
    "zstd",
] }
redis = "1.0.2"
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
reqwest = { version = "0.12.28", default-features = false }
rusqlite = "0.39"
rustix = { version = "1", features = ["process", "time"] }
serde = "1.0"
serde_json = "1.0"
sha1 = "0.10"
sha2 = { version = "0.10", features = ["compress"] }
md-5 = { version = "0.10", features = ["std"] }
shardline = { version = "1.13.0", path = "crates/shardline" }
shardline-cache = { version = "1.13.0", path = "crates/shardline-cache" }
shardline-cas = { version = "1.13.0", path = "crates/shardline-cas" }
shardline-fsck = { version = "1.13.0", path = "crates/shardline-fsck" }
shardline-gc = { version = "1.13.0", path = "crates/shardline-gc" }
shardline-hub-api = { version = "1.13.0", path = "crates/shardline-hub-api" }
shardline-index = { version = "1.13.0", path = "crates/shardline-index" }
shardline-metrics = { version = "1.13.0", path = "crates/shardline-metrics" }
shardline-protocol = { version = "1.13.0", path = "crates/shardline-protocol" }
shardline-protocol-adapters = { version = "1.13.0", path = "crates/shardline-protocol-adapters" }
shardline-rebuild = { version = "1.13.0", path = "crates/shardline-rebuild" }
shardline-reliability = { version = "1.13.0", path = "crates/shardline-reliability" }
shardline-provider-events = { version = "1.13.0", path = "crates/shardline-provider-events" }
shardline-oci-adapter = { version = "1.13.0", path = "crates/shardline-oci-adapter" }
shardline-s3-adapter = { version = "1.13.0", path = "crates/shardline-s3-adapter" }
shardline-server = { version = "1.13.0", path = "crates/shardline-server" }
shardline-server-core = { version = "1.13.0", path = "crates/shardline-server-core" }
shardline-storage = { version = "1.13.0", path = "crates/shardline-storage" }
shardline-test-support = { version = "1.13.0", path = "crates/shardline-test-support" }
shardline-validation = { version = "1.13.0", path = "crates/shardline-validation" }
shardline-auth = { version = "1.13.0", path = "crates/shardline-auth" }
shardline-vcs = { version = "1.13.0", path = "crates/shardline-vcs" }
shardline-xet-adapter = { version = "1.13.0", path = "crates/shardline-xet-adapter" }
shardline-xet-core = { version = "1.13.0", path = "crates/shardline-xet-core" }
sdx = { version = "1.13.0", path = "crates/sdx" }
sqlx = { version = "0.9", default-features = false }
subtle = { version = "2.6", default-features = false }
tempfile = "3.15"
thiserror = { version = "2.0.18", default-features = false }
tokio = "1.53.3"
url = "2.5"
xet-client = "1.5.1"
xet-core-structures = "1.5.1"
xet-data = "1.5.1"
xet-runtime = "=1.5.2"
prometheus = { version = "0.14", default-features = false }
tower = "0.5"
tower-http = { version = "0.6", default-features = false }
quick-xml = { version = "0.41.0", features = ["serialize"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", default-features = false, features = ["env-filter", "fmt"] }
zeroize = "1.8"
proptest = "1"
penelope = "0.2.0"
penelope-core = { version = "0.2.0", features = ["serde"] }
statechronicle = "0.2.0"

[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1
panic = "abort"
strip = "symbols"

[profile.profiling]
inherits = "release"
debug = 2
strip = "none"

[profile.dev]
debug = 2
opt-level = 0
overflow-checks = true
incremental = false
panic = "unwind"
lto = false

# Maintenance admission hashes the complete executable. Keep SHA-256 optimized
# in debug/test builds too: hashing debug sections must not consume recovery
# deadlines before a CLI can acquire its database ownership. Checks stay enabled.
[profile.dev.package.sha2]
opt-level = 3

[workspace.lints.rust]
rust_2024_prelude_collisions = "warn"
rust_2024_incompatible_pat = "warn"
rust_2024_guarded_string_incompatible_syntax = "warn"
deprecated_safe_2024 = "warn"

[workspace.lints.clippy]
unwrap_used = "deny"
expect_used = "deny"
inefficient_to_string = "deny"
todo = "deny"
unimplemented = "deny"
panic = "deny"
result_large_err = "deny"
map_err_ignore = "deny"
unreachable = "deny"
dbg_macro = "deny"
ignored_unit_patterns = "deny"
await_holding_refcell_ref = "deny"
match_bool = "deny"
if_same_then_else = "deny"
needless_pass_by_value = "deny"
borrowed_box = "deny"
str_to_string = "deny"
filter_map_next = "deny"
iter_not_returning_iterator = "deny"
needless_collect = "deny"
wildcard_enum_match_arm = "deny"
missing_errors_doc = "deny"
missing_panics_doc = "deny"
undocumented_unsafe_blocks = "deny"
let_underscore_must_use = "deny"
must_use_candidate = "deny"
match_wild_err_arm = "deny"
indexing_slicing = "deny"
panic_in_result_fn = "deny"
unwrap_in_result = "deny"
disallowed_macros = "deny"
missing_const_for_fn = "deny"
implicit_clone = "deny"
redundant_clone = "deny"
lossy_float_literal = "deny"
unnecessary_wraps = "deny"
map_flatten = "deny"
or_fun_call = "deny"
ok_expect = "deny"
await_holding_lock = "deny"
mutex_atomic = "deny"
needless_borrow = "deny"
wildcard_dependencies = "deny"
enum_glob_use = "deny"
match_ref_pats = "deny"
wrong_self_convention = "deny"
trivially_copy_pass_by_ref = "deny"
ptr_arg = "deny"
needless_lifetimes = "deny"
mutable_key_type = "deny"
large_enum_variant = "deny"
vec_box = "deny"
float_cmp = "deny"
bool_assert_comparison = "deny"
cmp_owned = "deny"
string_add = "deny"
assertions_on_constants = "deny"
useless_asref = "deny"
shadow_unrelated = "deny"
arithmetic_side_effects = "deny"
float_arithmetic = "deny"
box_collection = "deny"
unnecessary_box_returns = "deny"
trait_duplication_in_bounds = "deny"
single_char_lifetime_names = "deny"
format_push_string = "deny"
option_if_let_else = "deny"
manual_string_new = "deny"
flat_map_option = "deny"

[patch.crates-io]
# Upstream fix for stranded HTTP/1 requests when a pooled connection closes.
# https://github.com/hyperium/hyper/pull/4222
hyper = { git = "https://github.com/hyperium/hyper", rev = "97fff93e53f9e6a993f2d6a25d50883b7b8752a7" }