forked from AprilNEA/OpenLogi
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
102 lines (93 loc) · 3.85 KB
/
Copy pathCargo.toml
File metadata and controls
102 lines (93 loc) · 3.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
[package]
name = "openlogi-gui"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
description = "GPUI-based desktop UI for OpenLogi."
# Not publishable to crates.io: depends on git-only gpui / gpui_platform
# (gpui_platform is not on the registry). Distributed as a bundled .app.
publish = false
[[bin]]
name = "openlogi-gui"
path = "src/main.rs"
[dependencies]
openlogi-core = { path = "../openlogi-core" }
openlogi-hid = { path = "../openlogi-hid" }
openlogi-hook = { path = "../openlogi-hook" }
openlogi-assets = { path = "../openlogi-assets" }
openlogi-agent-core = { path = "../openlogi-agent-core" }
tarpc = { workspace = true }
interprocess = { workspace = true }
gpui = { workspace = true }
gpui_platform = { workspace = true }
gpui-component = { workspace = true }
gpui-component-assets = { workspace = true }
tokio = { workspace = true }
anyhow = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true }
thiserror.workspace = true
ureq.workspace = true
serde = { workspace = true }
serde_json = { workspace = true }
image = { version = "0.25", default-features = false, features = ["png"] }
rust-i18n = "4"
sys-locale = "0.3.2"
gpui-updater = { git = "https://github.com/AprilNEA/gpui-updater", tag = "v0.0.5", features = ["gpui"] }
# Spawn the agent under its own macOS TCC identity (see ipc_client::spawn_agent).
# Cross-platform: a no-op pass-through to std::process::Command off macOS.
disclaim = "0.1"
url = "2.5.8"
walkdir = "2.5.0"
fluent-langneg = "0.14.2"
backon.workspace = true
opener = { workspace = true }
# Windows exe resources (app icon + VERSIONINFO) — see build.rs. The exact
# version already in Cargo.lock as gpui's own build-dependency, so the resolve
# adds an edge, not a crate, and the pinned gpui rev cannot move.
[build-dependencies]
embed-resource = "3.0.9"
# Menu-bar (NSStatusItem) FFI — GPUI has no status-bar API. objc2 gives typed,
# `Retained<T>`-owned AppKit bindings so the status-item code can't leak (#99).
[target.'cfg(target_os = "macos")'.dependencies]
objc2 = { workspace = true }
objc2-app-kit = { workspace = true, features = ["NSStatusBar", "NSStatusItem", "NSStatusBarButton", "NSButton", "NSControl", "NSResponder", "NSView", "NSMenu", "NSMenuItem", "NSImage", "NSApplication", "NSAppearance"] }
objc2-foundation = { workspace = true, features = ["NSString", "NSProcessInfo"] }
# unsafe_code stays denied; the status-item/tray modules opt in locally with
# #[expect(unsafe_code)] for the few objc2 calls (init-with-action, set-target,
# super-init) that remain unsafe.
[lints.rust]
unsafe_code = "deny"
[lints.clippy]
pedantic = { level = "warn", priority = -1 }
unwrap_used = "warn"
expect_used = "warn"
missing_errors_doc = "allow"
doc_markdown = "allow"
[dev-dependencies]
tempfile = "3.27.0"
[package.metadata.bundle]
name = "OpenLogi"
identifier = "org.openlogi.openlogi"
# No `version` override — cargo-bundle falls back to the crate version, which
# is workspace-unified. A literal here goes stale the moment release-plz bumps.
category = "public.app-category.utilities"
short_description = "Lightweight local-first companion for Logitech HID++ peripherals."
long_description = """\
OpenLogi talks to Logitech HID++ mice and keyboards directly — no \
cloud account, no telemetry, no auto-update poller. Plain TOML config, \
single binary; device renders are fetched on demand on first launch.
"""
osx_minimum_system_version = "13.0"
# Deep-link scheme for the release app. The dev build is hand-bundled, so its
# dev/Info.plist declares the same scheme separately — keep the two in sync.
osx_url_schemes = ["openlogi"]
icon = ["icon/AppIcon.icns"]
resources = ["assets/**/*"]
[package.metadata.i18n]
available-locales = ["en", "ja", "ru", "zh-CN", "zh-HK", "zh-TW", "it"]
default-locale = "en"
load-path = "locales"