[workspace] members = [ "crates/archive-db", "crates/archive-vfs", "crates/archive-indexer", "crates/archive-media", ] [workspace.dependencies] serde = { version = "1", features = ["derive"] } serde_json = "1" thiserror = "2" anyhow = "1" tokio = { version = "1", features = ["full"] } tracing = "0.1" bytes = "1" async-trait = "0.1" crossbeam-channel = "0.5" [package] name = "archive" version = "0.1.0" description = "사진/영상 라이브러리 관리 프로그램" edition = "2021" rust-version = "1.80" [build-dependencies] tauri-build = { version = "2", features = [] } [dependencies] tauri = { version = "2", features = [] } tauri-plugin-shell = "2" tauri-plugin-dialog = "2" tauri-plugin-single-instance = "2" tauri-plugin-window-state = "2" archive-db = { path = "crates/archive-db" } archive-vfs = { path = "crates/archive-vfs" } archive-indexer = { path = "crates/archive-indexer" } archive-media = { path = "crates/archive-media" } serde = { workspace = true } serde_json = { workspace = true } anyhow = { workspace = true } tokio = { workspace = true } tracing = { workspace = true } tracing-subscriber = { version = "0.3", features = ["env-filter"] } # 릴리스 GUI 빌드에는 콘솔이 없다 — 파일로 남기지 않으면 진단이 통째로 사라진다. tracing-appender = "0.2" dirs = "6" rusqlite = { version = "0.40", features = ["bundled"] } notify-debouncer-full = "0.7" crossbeam-channel = { workspace = true } async-trait = { workspace = true } mime_guess = "2" [profile.release] lto = "thin" strip = "symbols" # 개발 빌드에서도 의존성(이미지 디코더, 해시, sqlite 등)은 최적화한다. # 자체 크레이트만 디버그 빌드 — 이미지 디코드가 10배 이상 빨라진다. [profile.dev.package."*"] opt-level = 2