[workspace] members = [ "apps/lumbridge", "crates/lumbridge-buzz", "crates/lumbridge-core", "crates/lumbridge-devices", "crates/lumbridge-harness", "crates/lumbridge-pty", "crates/lumbridge-runtime", "crates/lumbridge-settings", "crates/lumbridge-storage", "crates/lumbridge-terminal", "crates/lumbridge-theme", "crates/lumbridge-ui-fixture", "crates/lumbridge-ztracing-shim", "tools/theme-gen", ] exclude = ["spikes"] resolver = "2" [workspace.package] version = "0.0.1" edition = "2024" rust-version = "1.97" license = "Apache-2.0" repository = "https://git.karti.ai/lumbridge-public/lumbridge-code" [workspace.lints.rust] unsafe_code = "forbid" [workspace.lints.clippy] all = "warn" pedantic = "warn" # GPUI's transitive GPL dependency, replaced by a first-party no-op. # # `gpui` at the pinned revision carries `ztracing.workspace = true` -- # unconditional and not behind a feature -- and `ztracing` is GPL-3.0-or-later, # as are the `zlog` and `ztracing_macro` it drags with it. All three land in the # ordinary Linux build, not merely under `--all-features`, which makes them a # licence problem for an Apache-2.0 product rather than a lint to silence. # `cargo deny check licenses` failed on exactly this. # # The graph uses one symbol from the crate: an `#[instrument(skip_all)]` # attribute, at nine sites across `gpui` and `sum_tree`. So `ztracing` is # redirected at a workspace crate that provides that attribute and nothing else. # `zlog` and `ztracing_macro` were reachable only through `ztracing` and leave # the resolved graph with it. # # The URL is the one Cargo.lock records for the source being replaced -- # `git+https://github.com/zed-industries/zed.git?rev=...` -- and it must stay # spelled that way, `.git` included, or the patch silently applies to nothing. # `scripts/workspace-guard.sh` asserts the result rather than the intent: that # no `ztracing`, `zlog` or `ztracing_macro` resolves to a Zed source. # # Read crates/lumbridge-ztracing-shim/src/lib.rs before bumping the revision. [patch."https://github.com/zed-industries/zed.git"] ztracing = { path = "crates/lumbridge-ztracing-shim" }