Introduce full bundle update management: adds bundle_updates module with checking, apply flow, per-cluster locking, subscription inference, and apply helpers for additions/updates/removals (plus unit and e2e test scaffold). Exposes new IPC/API methods (download_package_from_bundle, update_bundle_packages, is_bundle_syncing) and integrates bundle tracking in desktop commands. Adds bundle DAO/entity and migrations to support bundle_packages and bundle_overrides, updates related package/DAO/modpack code, and minor frontend bindings/components/hooks to surface the new functionality. Also adds sea-orm as a dev-dependency for the desktop crate. Co-Authored-By: Jacob <contact@kath.lol>
96 lines
2.1 KiB
TOML
96 lines
2.1 KiB
TOML
[package]
|
|
name = "oneclient_gui"
|
|
default-run = "oneclient_gui"
|
|
description = "Next-generation open source Minecraft launcher"
|
|
version = { workspace = true }
|
|
license = { workspace = true }
|
|
edition = { workspace = true }
|
|
repository = { workspace = true }
|
|
documentation = { workspace = true }
|
|
readme = { workspace = true }
|
|
homepage = { workspace = true }
|
|
authors = { workspace = true }
|
|
|
|
[lib]
|
|
name = "oneclient_gui"
|
|
crate-type = [
|
|
"staticlib",
|
|
"cdylib",
|
|
"lib"
|
|
]
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[build-dependencies]
|
|
tauri-build = { workspace = true }
|
|
|
|
[dependencies]
|
|
# core
|
|
onelauncher_core = { workspace = true, features = [ "tauri" ] }
|
|
interpulse = { workspace = true }
|
|
|
|
# tauri
|
|
tauri-plugin-window-state = { workspace = true }
|
|
tauri-plugin-single-instance = { workspace = true }
|
|
tauri-plugin-updater = { workspace = true }
|
|
tauri-plugin-clipboard-manager = { workspace = true }
|
|
tauri-plugin-dialog = { workspace = true }
|
|
tauri-plugin-fs = { workspace = true }
|
|
tauri-plugin-os = { workspace = true }
|
|
tauri-plugin-deep-link = { workspace = true }
|
|
|
|
# code gen
|
|
taurpc = { workspace = true }
|
|
specta = { workspace = true }
|
|
specta-typescript = { workspace = true }
|
|
strum = { workspace = true }
|
|
|
|
# logging
|
|
tracing = { workspace = true }
|
|
tracing-error = { workspace = true }
|
|
|
|
# serialization & text
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
chrono = { workspace = true }
|
|
uuid = { workspace = true }
|
|
|
|
# io
|
|
tokio = { workspace = true }
|
|
|
|
# utils
|
|
thiserror = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
reqwest = { workspace = true }
|
|
|
|
[dependencies.tauri]
|
|
workspace = true
|
|
features = [
|
|
"macos-private-api",
|
|
"image-ico",
|
|
"image-png",
|
|
"protocol-asset",
|
|
"specta"
|
|
]
|
|
|
|
[dev-dependencies]
|
|
sea-orm = { workspace = true }
|
|
|
|
[features]
|
|
default = [
|
|
"custom-protocol",
|
|
"devtools"
|
|
]
|
|
devtools = [ "tauri/devtools" ]
|
|
custom-protocol = [ "tauri/custom-protocol" ]
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
objc2 = "0.6.3"
|
|
objc2-app-kit = { version = "0.3.2", features = [
|
|
"NSWindow",
|
|
"NSButton",
|
|
"NSControl",
|
|
"NSView"
|
|
] }
|
|
objc2-foundation = { version = "0.3.2", features = [ "NSObject" ] }
|