Android / Build, or is the channel already serving this? (push) Successful in 2s
Desktop (Tauri) / Build, or is the channel already serving this? (push) Successful in 2s
Android / Core and FFI clippy and tests (push) Successful in 55s
CI & Build / Build now, or wait for Android? (push) Successful in 4s
Desktop (Tauri) / Web tests, clippy, Rust tests and rustfmt (push) Successful in 2m25s
CI & Build / Web typecheck and unit tests (push) Successful in 12s
CI & Build / Python lint (push) Successful in 2s
CI & Build / Python tests (push) Successful in 14s
CI & Build / integration (push) Successful in 2m20s
CI & Build / Build & push image (push) Skipped
Desktop (Tauri) / Windows installer (cross-compiled) (push) Successful in 3m29s
Desktop (Tauri) / Tauri desktop (Linux) (push) Successful in 4m27s
Desktop (Tauri) / Update manifest (push) Successful in 4s
Android / Kotlin + Rust (APK) (push) Successful in 9m17s
Android / Build the server image (push) Successful in 1s
#6227 "License Inkwell under AGPL-3.0-only: LICENSE file and SPDX identifier". The operator chose AGPL-3.0-only, as for FabledStash (#6212). - LICENSE is the canonical GNU AGPL v3 text from gnu.org: 661 lines, md5 eb1e647870add0502f8f010b19de32af, the same file as FabledStash's. - AGPL-3.0-only is declared in pyproject.toml, frontend/package.json (and its lockfile root entry), the four crates, and tauri.conf.json's bundle. - The pacman package declared MIT; it now declares AGPL-3.0-only. - pyproject's build floor moves to setuptools>=77, the first release that reads `license` as an SPDX expression. - The README's Licence section names the licence, links LICENSE, and states the network clause in one sentence. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
71 lines
3.1 KiB
TOML
71 lines
3.1 KiB
TOML
[package]
|
|
name = "inkwell-desktop"
|
|
# NOT THE SHIPPED VERSION, and bumping it has no effect on anything a user sees.
|
|
#
|
|
# Cargo requires a version here, and Tauri reads one from `tauri.conf.json` — both
|
|
# are overridden per build by `cargo tauri build --config '{"version": ...}'` with
|
|
# the value `packaging/version.sh key desktop` derives.
|
|
version = "0.2.0"
|
|
description = "Inkwell desktop — local-first Keep-style thought capture"
|
|
authors = ["bvandeusen"]
|
|
license = "AGPL-3.0-only"
|
|
edition = "2021"
|
|
# The executable is named below, not inferred from this package name. Off so the
|
|
# inferred `inkwell-desktop` target and the explicit one can't both claim
|
|
# src/main.rs.
|
|
autobins = false
|
|
|
|
# App logic lives in the library (Tauri v2 pattern: a single `run()` entry point);
|
|
# main.rs is a thin shim.
|
|
#
|
|
# rlib only: Android is a native Kotlin client over `inkwell-core`, and the .so it
|
|
# loads is built from that crate, not this one.
|
|
[lib]
|
|
name = "inkwell_desktop_lib"
|
|
crate-type = ["rlib"]
|
|
|
|
# The shipped command is `inkwell` on every install channel, and the binary's
|
|
# own name is what the desktop actually keys on: GTK derives the window's WM_CLASS
|
|
# from it, and Tauri's generated .desktop file sets StartupWMClass to that same
|
|
# name. (Written without braces on purpose: `tauri android init` round-trips this
|
|
# file through a TOML serializer that reformats brace tokens inside comments.)
|
|
# So the canonical name has to be carried by the build target itself, not just by
|
|
# the path it gets installed to. The crate is `inkwell-desktop`, so
|
|
# the executable is named here rather than inferred. `inkwell` is also fixed under
|
|
# kebab-casing, which the AppImage bundler applies to the binary name on its way in.
|
|
[[bin]]
|
|
name = "inkwell"
|
|
path = "src/main.rs"
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
[dependencies]
|
|
# The framework-free client core: local SQLite store + sync engine. Shared with the
|
|
# Android client, which binds the same crate through uniffi.
|
|
inkwell-core = { path = "../../core" }
|
|
|
|
tauri = { version = "2", features = [] }
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
log = { workspace = true }
|
|
# Startup + operation logging to stdout AND a persistent file, so portability
|
|
# issues are diagnosable from any environment.
|
|
tauri-plugin-log = "2"
|
|
# In-app updates. Signature verification is minisign; the public half lives in
|
|
# tauri.conf.json and the private half only ever as a CI secret. Desktop only —
|
|
# the plugin declares android support level "none", which is why the Android client
|
|
# gets a server-served update path instead.
|
|
tauri-plugin-updater = "2"
|
|
|
|
# The system-wide quick-capture hotkey. Desktop only by nature — Android has no
|
|
# concept of a global shortcut, and its half of this feature is a share-sheet
|
|
# intent filter instead.
|
|
tauri-plugin-global-shortcut = "2"
|
|
|
|
# System notifications for due reminders, raised from the reminder worker in
|
|
# Rust. The page's own `Notification` goes nowhere in WebKitGTK, and the page's
|
|
# timer only runs while its window does. Used from Rust only, so no capability
|
|
# grants it to the webview.
|
|
tauri-plugin-notification = "2"
|