[package] name = "gitbutler-app" version = "0.0.0" edition = "2021" rust-version = "1.57" [lib] name = "gblib" path = "src/lib.rs" [[bin]] name = "gitbutler-app" path = "src/bin.rs" [build-dependencies] tauri-build = { version = "1.5", features = [] } [dev-dependencies] once_cell = "1.19" pretty_assertions = "1.4" tempfile = "3.9" [dependencies] anyhow = "1.0.79" async-trait = "0.1.77" backoff = "0.4.0" backtrace = { version = "0.3.69", optional = true } bstr = "1.9.0" byteorder = "1.5.0" chrono = { version = "0.4.33", features = ["serde"] } console-subscriber = "0.2.0" diffy = "0.3.0" filetime = "0.2.23" fslock = "0.2.1" futures = "0.3" git2.workspace = true git2-hooks = "0.3" gitbutler-core = { workspace = true } governor = "0.6.0" itertools = "0.12" lazy_static = "1.4.0" md5 = "0.7.0" nonzero_ext = "0.3.0" notify = { version = "6.0.1" } notify-debouncer-full = "0.3.1" num_cpus = "1.16.0" once_cell = "1.19" r2d2 = "0.8.10" r2d2_sqlite = "0.22.0" rand = "0.8.5" refinery = { version = "0.8", features = [ "rusqlite" ] } regex = "1.10" reqwest = "0.11.23" resolve-path = "0.1.0" rusqlite = { workspace = true } sentry = { version = "0.32", optional = true, features = ["backtrace", "contexts", "panic", "transport", "anyhow", "debug-images", "reqwest", "native-tls" ] } sentry-tracing = "0.32.0" serde = { workspace = true } serde_json = { version = "1.0", features = [ "std", "arbitrary_precision" ] } sha1 = "0.10.6" sha2 = "0.10.8" similar = { version = "2.4.0", features = ["unicode"] } slug = "0.1.5" ssh-key = { version = "0.6.4", features = [ "alloc", "ed25519" ] } ssh2 = { version = "0.9.4", features = ["vendored-openssl"] } tauri = { version = "1.5.4", features = ["dialog-open", "fs-read-file", "path-all", "process-relaunch", "protocol-asset", "shell-open", "system-tray", "window-maximize", "window-start-dragging", "window-unmaximize"] } tauri-plugin-context-menu = { git = "https://github.com/gitbutlerapp/tauri-plugin-context-menu", branch = "main" } tauri-plugin-single-instance = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" } tauri-plugin-window-state = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" } tauri-plugin-store = { git = "https://github.com/tauri-apps/plugins-workspace", branch = "v1" } thiserror.workspace = true tokio = { workspace = true, features = [ "full", "sync", "tracing" ] } tokio-util = "0.7.10" tracing = "0.1.40" tracing-appender = "0.2.3" tracing-subscriber = "0.3.17" url = "2.5" urlencoding = "2.1.3" uuid = { workspace = true } walkdir = "2.3.2" zip = "0.6.5" [features] # by default Tauri runs in production mode # when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL default = ["custom-protocol", "sentry", "error-context"] # this feature enables devtools devtools = ["tauri/devtools"] # this feature is used used for production builds where `devPath` points to the filesystem # DO NOT remove this custom-protocol = ["tauri/custom-protocol"] sentry = ["dep:sentry", "error-context"] error-context = ["dep:backtrace", "sentry/backtrace"] [lints] workspace = true