- Drop libsqlite3-sys 'bundled' on Linux/macOS so the SQLite C source isn't recompiled every clean build; Windows keeps 'bundled' via a cfg(windows) target override. - Switch opentelemetry-otlp from grpc-tonic to http-proto + reqwest-client. Removes the tonic + h2 + hyper-h2 stack from the build graph; reqwest was already a dependency. Updates otel.rs to call .with_http(). - Add [profile.dev] debug = "line-tables-only" to shrink linker work while keeping panics/backtraces useful. - Add .cargo/config.toml selecting mold via gcc on x86_64-linux-gnu. Requires `apt install mold`. Other platforms use the default linker. - cargo update: lockfile-only refresh of all minor/patch bumps within existing version constraints. Cold debug build: ~1m 37s; touch-one-file rebuild: ~5s on Linux. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
74 lines
2.1 KiB
TOML
74 lines
2.1 KiB
TOML
[package]
|
|
name = "image-api"
|
|
version = "1.1.0"
|
|
authors = ["Cameron Cordes <cameronc.dev@gmail.com>"]
|
|
edition = "2024"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
|
|
[profile.dev]
|
|
debug = "line-tables-only"
|
|
|
|
[dependencies]
|
|
actix = "0.13.1"
|
|
actix-web = "4"
|
|
actix-rt = "2.6"
|
|
tokio = { version = "1.42.0", features = ["default", "process", "sync", "macros", "rt-multi-thread"] }
|
|
actix-files = "0.6"
|
|
actix-cors = "0.7"
|
|
actix-multipart = "0.7.2"
|
|
actix-governor = "0.5"
|
|
futures = "0.3.5"
|
|
jsonwebtoken = "9.3.0"
|
|
serde = "1"
|
|
serde_json = "1"
|
|
diesel = { version = "2.2.10", features = ["sqlite"] }
|
|
libsqlite3-sys = "0.35"
|
|
diesel_migrations = "2.2.0"
|
|
chrono = "0.4"
|
|
clap = { version = "4.5", features = ["derive"] }
|
|
dotenv = "0.15"
|
|
bcrypt = "0.17.1"
|
|
image = { version = "0.25.5", default-features = false, features = ["jpeg", "png", "rayon", "webp", "tiff", "avif"] }
|
|
infer = "0.16"
|
|
walkdir = "2.4.0"
|
|
rayon = "1.5"
|
|
path-absolutize = "3.1"
|
|
log = "0.4"
|
|
env_logger = "0.11.5"
|
|
actix-web-prom = "0.9.0"
|
|
prometheus = "0.13"
|
|
lazy_static = "1.5"
|
|
anyhow = "1.0"
|
|
rand = "0.8.5"
|
|
opentelemetry = { version = "0.31.0", features = ["metrics", "trace"] }
|
|
opentelemetry_sdk = { version = "0.31.0", features = ["rt-tokio-current-thread", "metrics", "logs"] }
|
|
opentelemetry-otlp = { version = "0.31.0", default-features = false, features = ["trace", "metrics", "logs", "http-proto", "reqwest-client"] }
|
|
opentelemetry-stdout = "0.31.0"
|
|
opentelemetry-appender-log = "0.31.0"
|
|
tempfile = "3.20.0"
|
|
regex = "1.11.1"
|
|
exif = { package = "kamadak-exif", version = "0.6.1" }
|
|
reqwest = { version = "0.12", features = ["json", "stream", "multipart"] }
|
|
async-stream = "0.3"
|
|
tokio-util = { version = "0.7", features = ["io"] }
|
|
bytes = "1"
|
|
urlencoding = "2.1"
|
|
zerocopy = "0.8"
|
|
ical = "0.11"
|
|
scraper = "0.20"
|
|
base64 = "0.22"
|
|
blake3 = "1.5"
|
|
image_hasher = "3.0"
|
|
bk-tree = "0.5"
|
|
async-trait = "0.1"
|
|
indicatif = "0.17"
|
|
|
|
# Windows lacks system sqlite3, so re-enable the bundled C build there.
|
|
# Linux/macOS use the system library (faster builds, smaller binary).
|
|
[target.'cfg(windows)'.dependencies]
|
|
libsqlite3-sys = { version = "0.35", features = ["bundled"] }
|