-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
122 lines (105 loc) · 3.32 KB
/
Cargo.toml
File metadata and controls
122 lines (105 loc) · 3.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
[workspace]
resolver = "2"
members = [
"crates/redisctl-core",
"crates/redisctl",
"crates/redisctl-mcp",
]
default-members = [
"crates/redisctl",
"crates/redisctl-mcp",
]
# External dependencies (not part of workspace)
[workspace.dependencies.files-sdk]
version = "0.3.1"
[workspace.package]
version = "0.10.1"
edition = "2024"
rust-version = "1.90"
authors = ["Josh Rotenberg <josh.rotenberg@redis.com>"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/redis-developer/redisctl"
homepage = "https://github.com/redis-developer/redisctl"
documentation = "https://docs.rs/redisctl"
# Config for 'dist'
[workspace.metadata.dist]
# The preferred dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.30.1"
# CI backends to support
ci = "github"
# The installers to generate for each app
installers = ["shell", "powershell"]
# Target platforms to build apps for (Rust target-triple syntax)
targets = ["aarch64-apple-darwin", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]
# Which actions to run on pull requests
pr-run-mode = "plan"
# Whether dist should create a Github Release or use an existing draft
create-release = true
# Path that installers should place binaries in
install-path = "CARGO_HOME"
# Whether to install an updater program
install-updater = false
# Skip checking whether the specified configuration files are up to date
allow-dirty = ["ci"]
[workspace.dependencies]
# Core dependencies
anyhow = "1.0"
thiserror = "2.0"
tokio = { version = "1.40", features = ["full"] }
tokio-stream = "0.1"
futures = "0.3"
serde = { version = "1.0", features = ["derive"] }
tar = "0.4"
flate2 = "1.0"
serde_json = "1.0"
serde_urlencoded = "0.7"
clap = { version = "4.5", features = ["derive", "env", "string"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
async-trait = "0.1"
# HTTP and APIs
reqwest = { version = "0.13", default-features = false, features = ["json", "rustls", "multipart"] }
url = "2.5"
base64 = "0.22"
urlencoding = "2.1"
chrono = { version = "0.4", features = ["serde"] }
# Configuration
config = "0.15"
toml = "0.9"
directories = "6.0"
# Terminal and output
serde_yaml = "0.9"
csv = "1.3"
jpx-core = "0.2.1"
# Password input
rpassword = "7.4"
# Tower and resilience
tower = { version = "0.5", features = ["util", "timeout", "buffer", "ready-cache", "limit"] }
# Secure credential storage
keyring = { version = "3.6", features = ["apple-native", "windows-native", "linux-native"] }
# Testing
tempfile = "3.8"
wiremock = "0.6"
mockall = "0.13"
serial_test = "3.1"
pretty_assertions = "1.4"
# Redis client
redis = { version = "0.27", features = ["tokio-comp", "tokio-rustls-comp", "connection-manager", "cluster-async"] }
# External crates (git for dev, version required for crates.io publish)
redis-cloud = { version = "0.9.5", git = "https://github.com/redis-developer/redis-cloud-rs", branch = "main" }
redis-enterprise = { version = "0.8.5", git = "https://github.com/redis-developer/redis-enterprise-rs", branch = "main" }
# Windows CI workaround - ensure these are available in workspace
shellexpand = "3.1"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
strip = true
panic = "abort"
[profile.dev]
opt-level = 0
debug = true
# The profile that 'dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"