[package] name = "craft-update" description = "Release checking, downloading, installing and self-updating for the Craft App Suite and ArtCraft Launcher" version.workspace = true edition.workspace = true license.workspace = true rust-version.workspace = true repository.workspace = true [lints] workspace = true [features] default = [] egui = ["dep:egui", "dep:image"] local-mirror = [] # tests/dialog_screenshots.rs: renders the dialogs to PNG with egui_kittest's wgpu renderer. snapshot = ["egui", "egui_kittest/wgpu"] [dependencies] egui = { workspace = true, optional = true } # Decodes the app icon the startup prompt shows (`App::icon_png`); PNG only. image = { version = "0.25", default-features = false, features = ["png"], optional = true } serde = { workspace = true } serde_json = { workspace = true } log = "0.4" getrandom = "0.3" tempfile = "3" sha2 = "0.10" ureq = { version = "3.4", default-features = false, features = ["rustls-no-provider", "_ring", "gzip", "platform-verifier"] } chrono = { workspace = true } semver = { version = "1", features = ["serde"] } [dev-dependencies] flate2 = "1" egui_kittest = "0.37" # egui's own Hack and Ubuntu Light for the screenshots (egui is built without default fonts). epaint_default_fonts = "0.37" [target.'cfg(unix)'.dependencies] flate2 = "1" tar = { version = "0.4", default-features = false } [target.'cfg(target_os = "macos")'.dependencies] plist = "1" [target.'cfg(any(target_os = "macos", target_os = "linux"))'.dependencies] rustix = { version = "1.1", default-features = false, features = ["std", "fs", "process"] } [target.'cfg(target_os = "windows")'.dependencies] winreg = "0.55" dunce = "1" # `deflate-flate2` with flate2's default miniz_oxide backend, not zip's `deflate` (zopfli and # zlib-rs): Cargo unifies flate2's features across an app, and zlib-rs would switch the whole # app's flate2 to it, where level 1 is a static-Huffman mode that can make output larger than # its input (Lightcraft's 16-bit ZIP TIFFs on Windows). zip = { version = "9", default-features = false, features = ["deflate-flate2"] } flate2 = "1" winsafe = { version = "0.0.29", features = ["advapi", "kernel", "shell", "version"] } verifysign = "1"