Declare the 12 makepad crate deps once in root [workspace.dependencies] pointing at the gitdab fork rev 4a166606c (which now also carries [workspace.dependencies] into the android wrapper manifest). Member crates switch to workspace = true; 5 non-member workspaces get an inline rev bump. Fix 9 nigig-app script_mod indent errors surfaced by the newer upstream macro parser. The fork rev includes: NIGIG test-mode forwarding, custom AndroidManifest hook, ortho camera support, and the wrapper workspace-deps fix.
63 lines
3 KiB
TOML
63 lines
3 KiB
TOML
[package]
|
|
name = "makepad-table"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
authors = ["Makepad Table Scaffold <info@example.com>"]
|
|
description = "Notion-style manipulable table widget for Makepad + receipt/quote/invoice platform"
|
|
license = "MIT OR Apache-2.0"
|
|
|
|
[dependencies]
|
|
# Pinned to the same fork revision the rest of the repo uses. This crate
|
|
# previously tracked `github.com/makepad/makepad` branch `dev`, which is a
|
|
# moving target: the same commit of this repo would build against a
|
|
# different makepad from one day to the next, and against a *different*
|
|
# makepad from every other crate here. Verified to compile against the pin.
|
|
# For local makepad dev, replace with:
|
|
# makepad-widgets = { path = "../../widgets" }
|
|
makepad-widgets = { git = "https://gitdab.com/andodeki/makepad", rev = "4a166606c08867de216125ae34909bc0a1115251" }
|
|
|
|
# Image format sniffing for attached cells, matching what the Robrix-derived
|
|
# app in this repo (`pageflipnav/src/utils.rs`) uses. Zero transitive
|
|
# dependencies: it reads a header and names a format, nothing more.
|
|
imghdr = "0.7.0"
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# Optional: the host capabilities behind `CellAttachmentProvider`.
|
|
# ---------------------------------------------------------------------------
|
|
#
|
|
# `nigig-uikit` supplies the camera and location widgets that item 6's cell
|
|
# menu offers. It is optional because it is expensive: measured, it takes the
|
|
# dependency tree from 88 crates to 274.
|
|
#
|
|
# That is not packaging waste. `camera_widget` imports `send_geocode_request`
|
|
# and `request_map_tile` from `nigig-core`, both of which call `spawn_async`
|
|
# -- the shared Tokio runtime -- and the first makes an HTTPS call to
|
|
# Nominatim. The widget genuinely needs an async runtime and an HTTP client.
|
|
#
|
|
# So the cost is real and it is opt-in. With the feature off the widget
|
|
# depends on `makepad-widgets` and `imghdr` alone, and the attachment menu
|
|
# reports camera and location as unavailable rather than pretending. Any app
|
|
# turning it on already depends on `nigig-core`, so its own tree grows by
|
|
# nothing.
|
|
nigig-uikit = { path = "../../nigig-uikit", optional = true }
|
|
|
|
[features]
|
|
default = []
|
|
## Camera and location attachments, via `nigig-uikit`. See the dependency
|
|
## comment above for what this costs and why.
|
|
capabilities = ["dep:nigig-uikit"]
|
|
|
|
[workspace]
|
|
# Workspace members: the table widget lib itself + the doc-model and pdf-export
|
|
# crates + the invoicer makepad app.
|
|
#
|
|
# The table_demo demo lives at apps/invoicer/examples/table_demo.rs and runs
|
|
# via `cargo run -p makepad-invoicer --example table_demo` — it inherits
|
|
# makepad-invoicer's [dependencies], so no separate Cargo.toml is needed.
|
|
members = [
|
|
".", # makepad-table lib (the Table widget)
|
|
"crates/doc-model", # shared data types
|
|
"crates/pdf-export", # pdf-writer based exporter
|
|
"apps/invoicer", # makepad UI app (also hosts the table_demo example)
|
|
"examples/table_demo", # standalone demo; the drop-into-makepad template
|
|
]
|