From a2d28661b96b510b0472a44fe4b63b161d4c3ed5 Mon Sep 17 00:00:00 2001 From: Christopher Addison Date: Mon, 19 Oct 2026 22:07:33 -0400 Subject: [PATCH] Publish the workspace crates to Unity's internal Cargo registry Unity is adding an internal Cargo registry (hub-cargo-prod-local on unity3d.jfrog.io) so other Unity Rust apps can share Hub crates such as the cloud-ui component library. cloud-ui depends on this fork, and `cargo publish` rejects git dependencies, so these crates have to be in the registry first. - Every crate now publishes only to the `unity` registry, with a `-unity.20261019` prerelease suffix on its upstream version. The suffix keeps the fork apart from upstream gpui-ce on crates.io, and the workspace's own dependencies on each other pin it exactly. - wgsl-rs comes from crates.io at =0.1.0-beta.6 instead of the git pin at b2de16a, which is an ancestor of that release. The fork builds against it unchanged, and it shares this workspace's naga 30, so the second naga the git pin brought along is gone from Cargo.lock. - gpui-ce-fonts stays unpublished. It embeds fonts from outside its crate, and every crate uses it only in tests, so those dev-dependencies drop their version and `cargo publish` strips them. - gpui-ce and gpui_ce_wgpu take gpui_ce_platform as a path-only dev-dependency for the same reason: platform depends on both, and a versioned edge back is a cycle no publish order can satisfy. - .cargo/config.toml names the registry, so a plain checkout publishes with `cargo publish --workspace --registry unity --exclude perf --exclude gpui-ce-fonts`. This repository is public and runs no publish itself: the Unity Hub's CI checks out a pinned commit and publishes it. To ship a change, move the affected crates' suffix. Co-Authored-By: Claude Opus 5.5 --- .cargo/config.toml | 8 ++ Cargo.lock | 97 ++++++++---------------- Cargo.toml | 56 +++++++------- crates/gpui/Cargo.toml | 10 ++- crates/gpui_apple/Cargo.toml | 2 +- crates/gpui_ce_parley/Cargo.toml | 6 +- crates/gpui_ce_util/Cargo.toml | 4 +- crates/gpui_collections/Cargo.toml | 6 +- crates/gpui_derive_refineable/Cargo.toml | 4 +- crates/gpui_elements/Cargo.toml | 4 +- crates/gpui_linux/Cargo.toml | 2 +- crates/gpui_macos/Cargo.toml | 4 +- crates/gpui_macros/Cargo.toml | 4 +- crates/gpui_media/Cargo.toml | 4 +- crates/gpui_path/Cargo.toml | 4 +- crates/gpui_platform/Cargo.toml | 6 +- crates/gpui_refineable/Cargo.toml | 6 +- crates/gpui_render/Cargo.toml | 8 +- crates/gpui_scheduler/Cargo.toml | 4 +- crates/gpui_shared_string/Cargo.toml | 2 +- crates/gpui_sum_tree/Cargo.toml | 4 +- crates/gpui_tokio/Cargo.toml | 2 +- crates/gpui_web/Cargo.toml | 2 +- crates/gpui_wgpu/Cargo.toml | 8 +- crates/gpui_windows/Cargo.toml | 6 +- crates/gpui_zed_util/Cargo.toml | 12 +-- deny.toml | 2 +- 27 files changed, 130 insertions(+), 147 deletions(-) diff --git a/.cargo/config.toml b/.cargo/config.toml index 2977e444361..7f0b05d5fd7 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -59,3 +59,11 @@ MACOSX_DEPLOYMENT_TARGET = "10.15.7" # The component workspace is independently resolved, but CI runs some of its # checks from this repository root. Keep its unpublished GPUI CE dependencies # local during those checks; published component manifests still use crates.io. + +# Unity's internal Cargo registry. The Unity Hub consumes this fork from here, +# because `cargo publish` rejects the git dependency the Hub otherwise uses. +# The Hub's own CI publishes a pinned commit of this repository with +# `cargo publish --workspace --registry unity --exclude perf --exclude gpui-ce-fonts` +# and `CARGO_REGISTRIES_UNITY_TOKEN` set. +[registries.unity] +index = "sparse+https://unity3d.jfrog.io/artifactory/api/cargo/hub-cargo-prod-local/index/" diff --git a/Cargo.lock b/Cargo.lock index 1ad397dc804..c2c7449f7d5 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -647,15 +647,6 @@ dependencies = [ "bit-vec 0.8.0", ] -[[package]] -name = "bit-set" -version = "0.9.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34ddef2995421ab6a5c779542c81ee77c115206f4ad9d5a8e05f4ff49716a3dd" -dependencies = [ - "bit-vec 0.9.1", -] - [[package]] name = "bit-set" version = "0.10.0" @@ -2399,7 +2390,7 @@ dependencies = [ [[package]] name = "gpui-ce" -version = "0.2.2" +version = "0.2.2-unity.20261019" dependencies = [ "accesskit", "accesskit_consumer", @@ -2493,7 +2484,7 @@ version = "0.2.2" [[package]] name = "gpui_ce_apple" -version = "0.1.0" +version = "0.1.0-unity.20261019" dependencies = [ "anyhow", "block", @@ -2518,7 +2509,7 @@ dependencies = [ [[package]] name = "gpui_ce_collections" -version = "0.2.2" +version = "0.2.2-unity.20261019" dependencies = [ "gpui_ce_util", "indexmap", @@ -2527,7 +2518,7 @@ dependencies = [ [[package]] name = "gpui_ce_derive_refineable" -version = "0.2.2" +version = "0.2.2-unity.20261019" dependencies = [ "proc-macro2", "quote", @@ -2536,7 +2527,7 @@ dependencies = [ [[package]] name = "gpui_ce_elements" -version = "0.1.0" +version = "0.1.0-unity.20261019" dependencies = [ "derive_setters", "gpui-ce", @@ -2550,7 +2541,7 @@ dependencies = [ [[package]] name = "gpui_ce_linux" -version = "0.1.0" +version = "0.1.0-unity.20261019" dependencies = [ "accesskit", "accesskit_unix", @@ -2597,7 +2588,7 @@ dependencies = [ [[package]] name = "gpui_ce_macos" -version = "0.1.0" +version = "0.1.0-unity.20261019" dependencies = [ "accesskit", "accesskit_macos", @@ -2650,7 +2641,7 @@ dependencies = [ [[package]] name = "gpui_ce_macros" -version = "0.1.0" +version = "0.1.0-unity.20261019" dependencies = [ "heck", "proc-macro2", @@ -2660,7 +2651,7 @@ dependencies = [ [[package]] name = "gpui_ce_media" -version = "0.2.2" +version = "0.2.2-unity.20261019" dependencies = [ "anyhow", "bindgen", @@ -2673,7 +2664,7 @@ dependencies = [ [[package]] name = "gpui_ce_parley" -version = "0.1.0" +version = "0.1.0-unity.20261019" dependencies = [ "anyhow", "criterion", @@ -2690,7 +2681,7 @@ dependencies = [ [[package]] name = "gpui_ce_path" -version = "0.2.2" +version = "0.2.2-unity.20261019" dependencies = [ "anyhow", "dunce", @@ -2701,7 +2692,7 @@ dependencies = [ [[package]] name = "gpui_ce_platform" -version = "0.1.0" +version = "0.1.0-unity.20261019" dependencies = [ "console_error_panic_hook", "gpui-ce", @@ -2717,14 +2708,14 @@ dependencies = [ [[package]] name = "gpui_ce_refineable" -version = "0.2.2" +version = "0.2.2-unity.20261019" dependencies = [ "gpui_ce_derive_refineable", ] [[package]] name = "gpui_ce_render" -version = "0.1.0" +version = "0.1.0-unity.20261019" dependencies = [ "gpui-ce", "naga 24.0.0", @@ -2736,7 +2727,7 @@ dependencies = [ [[package]] name = "gpui_ce_scheduler" -version = "0.2.2" +version = "0.2.2-unity.20261019" dependencies = [ "async-task", "backtrace", @@ -2751,7 +2742,7 @@ dependencies = [ [[package]] name = "gpui_ce_shared_string" -version = "0.1.0" +version = "0.1.0-unity.20261019" dependencies = [ "schemars", "serde", @@ -2760,7 +2751,7 @@ dependencies = [ [[package]] name = "gpui_ce_sum_tree" -version = "0.2.2" +version = "0.2.2-unity.20261019" dependencies = [ "heapless", "log", @@ -2772,7 +2763,7 @@ dependencies = [ [[package]] name = "gpui_ce_tokio" -version = "0.1.0" +version = "0.1.0-unity.20261019" dependencies = [ "anyhow", "gpui-ce", @@ -2782,7 +2773,7 @@ dependencies = [ [[package]] name = "gpui_ce_util" -version = "0.2.6" +version = "0.2.6-unity.20261019" dependencies = [ "anyhow", "log", @@ -2791,7 +2782,7 @@ dependencies = [ [[package]] name = "gpui_ce_web" -version = "0.1.0" +version = "0.1.0-unity.20261019" dependencies = [ "anyhow", "console_error_panic_hook", @@ -2815,7 +2806,7 @@ dependencies = [ [[package]] name = "gpui_ce_wgpu" -version = "0.1.0" +version = "0.1.0-unity.20261019" dependencies = [ "anyhow", "bytemuck", @@ -2854,7 +2845,7 @@ dependencies = [ [[package]] name = "gpui_ce_windows" -version = "0.1.0" +version = "0.1.0-unity.20261019" dependencies = [ "accesskit", "accesskit_windows", @@ -2886,7 +2877,7 @@ dependencies = [ [[package]] name = "gpui_ce_zed_util" -version = "0.2.2" +version = "0.2.2-unity.20261019" dependencies = [ "anyhow", "async-fs", @@ -3927,31 +3918,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "naga" -version = "29.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2bf919621e7975acb27d881bae2fb993e0d45c8e0446e85e6272971e00dc8df" -dependencies = [ - "arrayvec", - "bit-set 0.9.1", - "bitflags 2.13.1", - "cfg-if", - "cfg_aliases", - "codespan-reporting 0.13.1", - "half", - "hashbrown 0.16.1", - "hexf-parse", - "indexmap", - "libm", - "log", - "num-traits", - "once_cell", - "rustc-hash 1.1.0", - "thiserror 2.0.20", - "unicode-ident", -] - [[package]] name = "naga" version = "30.0.1" @@ -7248,12 +7214,13 @@ dependencies = [ [[package]] name = "wgsl-rs" -version = "0.1.0" -source = "git+https://github.com/schell/wgsl-rs?rev=b2de16a1b81e67d76bc265c296184f882864badb#b2de16a1b81e67d76bc265c296184f882864badb" +version = "0.1.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30425b560a37871d44ddeaaa053a86eee8d257bc5648fffb8db2073db8d5fd19" dependencies = [ "glam", "half", - "naga 29.0.4", + "naga 30.0.1", "paste", "snafu", "wgsl-rs-ir", @@ -7262,13 +7229,15 @@ dependencies = [ [[package]] name = "wgsl-rs-ir" -version = "0.1.0" -source = "git+https://github.com/schell/wgsl-rs?rev=b2de16a1b81e67d76bc265c296184f882864badb#b2de16a1b81e67d76bc265c296184f882864badb" +version = "0.1.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291227cb39d86fd08dd66d1d967dd4d03ef0058688c36edd1215134f198d8007" [[package]] name = "wgsl-rs-macros" -version = "0.1.0" -source = "git+https://github.com/schell/wgsl-rs?rev=b2de16a1b81e67d76bc265c296184f882864badb#b2de16a1b81e67d76bc265c296184f882864badb" +version = "0.1.0-beta.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b381fbc656986e2551e0bfe1152e112aaceecbafeb5a1ca0314cc40e08c045c0" dependencies = [ "itertools 0.14.0", "proc-macro2", diff --git a/Cargo.toml b/Cargo.toml index e0043e06898..7ff1084093a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ resolver = "3" edition = "2024" authors = ["Nathan Sobo "] description = "A community fork of Zed's GPU-accelerated UI framework" -publish = true +publish = ["unity"] license = "Apache-2.0" homepage = "https://gpui-ce.github.io/" readme = "README.md" @@ -48,7 +48,7 @@ anyhow = "1.0.86" async-task = "4.7" backtrace = "0.3" bitflags = "2.6.0" -collections = { path = "crates/gpui_collections", version = "0.2.2", package = "gpui_ce_collections" } +collections = { path = "crates/gpui_collections", version = "=0.2.2-unity.20261019", registry = "unity", package = "gpui_ce_collections" } dunce = "1.0" etagere = "0.2" fontique = { version = "0.11.1", default-features = false } @@ -106,8 +106,8 @@ chrono = { version = "0.4", features = ["serde"] } profiling = "1" rand = "0.10.3" regex = "1.5" -refineable = { path = "crates/gpui_refineable", version = "0.2.2", package = "gpui_ce_refineable" } -scheduler = { path = "crates/gpui_scheduler", version = "0.2.2", package = "gpui_ce_scheduler" } +refineable = { path = "crates/gpui_refineable", version = "=0.2.2-unity.20261019", registry = "unity", package = "gpui_ce_refineable" } +scheduler = { path = "crates/gpui_scheduler", version = "=0.2.2-unity.20261019", registry = "unity", package = "gpui_ce_scheduler" } schemars = { version = "1.0", features = ["indexmap2"] } serde = { version = "1.0.221", features = ["derive", "rc"] } serde_json = { version = "1.0.144", features = ["preserve_order", "raw_value"] } @@ -116,7 +116,7 @@ smallvec = { version = "1.6", features = ["union", "const_new"] } async-channel = "2.5.0" stacksafe = "1.0" strum = { version = "0.27.2", features = ["derive"] } -sum_tree = { path = "crates/gpui_sum_tree", version = "0.2.2", package = "gpui_ce_sum_tree" } +sum_tree = { path = "crates/gpui_sum_tree", version = "=0.2.2-unity.20261019", registry = "unity", package = "gpui_ce_sum_tree" } thiserror = "2.0.12" tracing = { version = "0.1.44", features = ["attributes"] } hdrhistogram = "7" @@ -134,7 +134,7 @@ core-graphics = "0.24" core-text = "21" core-video = { version = "0.5.2", features = ["metal"] } foreign-types = "0.5" -media = { path = "crates/gpui_media", version = "0.2.2", package = "gpui_ce_media" } +media = { path = "crates/gpui_media", version = "=0.2.2-unity.20261019", registry = "unity", package = "gpui_ce_media" } objc = "0.2" objc2 = "0.6" objc2-foundation = { version = "=0.3.2", default-features = false, features = [ @@ -192,15 +192,17 @@ ashpd = { version = "0.13", default-features = false, features = [ ] } libc = "0.2" smol = "2.0" -util = { path = "crates/gpui_zed_util", version = "0.2.2", package = "gpui_ce_zed_util" } +util = { path = "crates/gpui_zed_util", version = "=0.2.2-unity.20261019", registry = "unity", package = "gpui_ce_zed_util" } wgpu = "30.0.1" +# The crates.io release, not a git pin: `cargo publish` rejects git +# dependencies, and the Unity registry publish needs every dependency in a +# registry. Exact, because wgsl-rs is pre-1.0 and its betas change the API. # No `validation` here: it only backs the `#[cfg(test)]` validation tests the -# `#[wgsl]` macro generates, and it links wgsl-rs's own naga (29, behind this -# workspace's), so enabling it workspace-wide put a second naga into every -# consumer's normal build. gpui_render, the one crate with `#[wgsl]` modules, -# enables it as a dev-dependency instead, and its build.rs already validates -# every pipeline's WGSL with this workspace's naga on every build. -wgsl-rs = { git = "https://github.com/schell/wgsl-rs", rev = "b2de16a1b81e67d76bc265c296184f882864badb", default-features = false } +# `#[wgsl]` macro generates, so it pulls naga into every consumer's normal build +# for nothing. gpui_render, the one crate with `#[wgsl]` modules, enables it as +# a dev-dependency instead, and its build.rs already validates every pipeline's +# WGSL with this workspace's naga on every build. +wgsl-rs = { version = "=0.1.0-beta.6", default-features = false } criterion = { version = "0.5", features = ["html_reports"] } objc2-app-kit = { version = "0.3", default-features = false, features = [ "objc2-core-foundation", @@ -255,23 +257,23 @@ objc2-screen-capture-kit = { version = "0.3", default-features = false, features semver = { version = "1.0", features = ["serde"] } windows-core = "0.62.2" tokio = { version = "1" } -gpui_util = { path = "crates/gpui_ce_util", version = "0.2.6", package = "gpui_ce_util" } +gpui_util = { path = "crates/gpui_ce_util", version = "=0.2.6-unity.20261019", registry = "unity", package = "gpui_ce_util" } -gpui = { path = "./crates/gpui/", version = "0.2.2", package = "gpui-ce", default-features = false } -gpui_render = { path = "./crates/gpui_render/", version = "0.1.0", package = "gpui_ce_render" } -gpui_platform = { path = "./crates/gpui_platform/", version = "0.1.0", package = "gpui_ce_platform" } -gpui_linux = { path = "./crates/gpui_linux/", version = "0.1.0", package = "gpui_ce_linux" } -gpui_macos = { path = "./crates/gpui_macos/", version = "0.1.0", package = "gpui_ce_macos" } -gpui_apple = { path = "./crates/gpui_apple/", version = "0.1.0", package = "gpui_ce_apple" } -gpui_windows = { path = "./crates/gpui_windows/", version = "0.1.0", package = "gpui_ce_windows" } -gpui_web = { path = "./crates/gpui_web/", version = "0.1.0", package = "gpui_ce_web" } -gpui_parley = { path = "./crates/gpui_ce_parley/", version = "0.1.0", package = "gpui_ce_parley", default-features = false } +gpui = { path = "./crates/gpui/", version = "=0.2.2-unity.20261019", registry = "unity", package = "gpui-ce", default-features = false } +gpui_render = { path = "./crates/gpui_render/", version = "=0.1.0-unity.20261019", registry = "unity", package = "gpui_ce_render" } +gpui_platform = { path = "./crates/gpui_platform/", version = "=0.1.0-unity.20261019", registry = "unity", package = "gpui_ce_platform" } +gpui_linux = { path = "./crates/gpui_linux/", version = "=0.1.0-unity.20261019", registry = "unity", package = "gpui_ce_linux" } +gpui_macos = { path = "./crates/gpui_macos/", version = "=0.1.0-unity.20261019", registry = "unity", package = "gpui_ce_macos" } +gpui_apple = { path = "./crates/gpui_apple/", version = "=0.1.0-unity.20261019", registry = "unity", package = "gpui_ce_apple" } +gpui_windows = { path = "./crates/gpui_windows/", version = "=0.1.0-unity.20261019", registry = "unity", package = "gpui_ce_windows" } +gpui_web = { path = "./crates/gpui_web/", version = "=0.1.0-unity.20261019", registry = "unity", package = "gpui_ce_web" } +gpui_parley = { path = "./crates/gpui_ce_parley/", version = "=0.1.0-unity.20261019", registry = "unity", package = "gpui_ce_parley", default-features = false } -gpui_wgpu = { path = "./crates/gpui_wgpu/", version = "0.1.0", package = "gpui_ce_wgpu" } +gpui_wgpu = { path = "./crates/gpui_wgpu/", version = "=0.1.0-unity.20261019", registry = "unity", package = "gpui_ce_wgpu" } -gpui_macros = { path = "./crates/gpui_macros/", version = "0.1.0", package = "gpui_ce_macros" } -gpui_shared_string = { path = "./crates/gpui_shared_string/", version = "0.1.0", package = "gpui_ce_shared_string" } -gpui_tokio = { path = "./crates/gpui_tokio/", version = "0.1.0", package = "gpui_ce_tokio" } +gpui_macros = { path = "./crates/gpui_macros/", version = "=0.1.0-unity.20261019", registry = "unity", package = "gpui_ce_macros" } +gpui_shared_string = { path = "./crates/gpui_shared_string/", version = "=0.1.0-unity.20261019", registry = "unity", package = "gpui_ce_shared_string" } +gpui_tokio = { path = "./crates/gpui_tokio/", version = "=0.1.0-unity.20261019", registry = "unity", package = "gpui_ce_tokio" } [workspace.dependencies.windows] version = "0.62.2" diff --git a/crates/gpui/Cargo.toml b/crates/gpui/Cargo.toml index 0835e4e3990..98da4988518 100644 --- a/crates/gpui/Cargo.toml +++ b/crates/gpui/Cargo.toml @@ -1,11 +1,11 @@ [package] name = "gpui-ce" -version = "0.2.2" +version = "0.2.2-unity.20261019" edition.workspace = true authors = ["Nathan Sobo "] description = "A community fork of Zed's GPU-accelerated UI framework" repository = "https://github.com/gpui-ce/gpui-ce" -publish = true +publish.workspace = true license = "Apache-2.0" homepage = "https://gpui-ce.github.io/" readme = "README.md" @@ -166,8 +166,10 @@ smol.workspace = true collections = { workspace = true, features = ["test-support"] } env_logger.workspace = true gpui_ce_elements = { path = "../gpui_elements" } -gpui_platform = { workspace = true, features = ["font-kit", "wayland", "x11"] } -gpui_fonts = { path = "../gpui_ce_fonts", version = "0.2.2", package = "gpui-ce-fonts" } +# Path-only, so `cargo publish` strips it: gpui_ce_platform depends on gpui-ce, +# and a versioned edge back would make a cycle no publish order satisfies. +gpui_platform = { path = "../gpui_platform", package = "gpui_ce_platform", features = ["font-kit", "wayland", "x11"] } +gpui_fonts = { path = "../gpui_ce_fonts", package = "gpui-ce-fonts" } gpui_util = { workspace = true } lyon = { version = "1.0", features = ["extra"] } postage.workspace = true diff --git a/crates/gpui_apple/Cargo.toml b/crates/gpui_apple/Cargo.toml index 4e4ce5f1858..03ae2427de6 100644 --- a/crates/gpui_apple/Cargo.toml +++ b/crates/gpui_apple/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gpui_ce_apple" -version = "0.1.0" +version = "0.1.0-unity.20261019" description.workspace = true edition.workspace = true publish.workspace = true diff --git a/crates/gpui_ce_parley/Cargo.toml b/crates/gpui_ce_parley/Cargo.toml index 0861a89fc41..dacbf92ee97 100644 --- a/crates/gpui_ce_parley/Cargo.toml +++ b/crates/gpui_ce_parley/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gpui_ce_parley" -version = "0.1.0" +version = "0.1.0-unity.20261019" description.workspace = true edition.workspace = true publish.workspace = true @@ -17,7 +17,7 @@ fontconfig-dlopen = ["fontique/fontconfig-dlopen"] [dependencies] anyhow.workspace = true fontique = { workspace = true, features = ["std"] } -gpui = { path = "../gpui", version = "0.2.2", package = "gpui-ce", default-features = false } +gpui = { path = "../gpui", version = "=0.2.2-unity.20261019", registry = "unity", package = "gpui-ce", default-features = false } parking_lot.workspace = true parley = { workspace = true, features = ["complex-scripts"] } skrifa = { workspace = true, features = ["std"] } @@ -28,7 +28,7 @@ unicode-segmentation.workspace = true collections.workspace = true criterion.workspace = true gpui = { workspace = true, features = ["test-support"] } -gpui_fonts = { path = "../gpui_ce_fonts", version = "0.2.2", package = "gpui-ce-fonts" } +gpui_fonts = { path = "../gpui_ce_fonts", package = "gpui-ce-fonts" } [[bench]] name = "text_pipeline" diff --git a/crates/gpui_ce_util/Cargo.toml b/crates/gpui_ce_util/Cargo.toml index 8d23b9f60f8..02a47cfc9d6 100644 --- a/crates/gpui_ce_util/Cargo.toml +++ b/crates/gpui_ce_util/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "gpui_ce_util" -version = "0.2.6" +version = "0.2.6-unity.20261019" edition = "2024" license = "Apache-2.0" -publish = true +publish.workspace = true description = "Utility structs and functions used by gpui-ce (vendored from Zed's gpui_util)." repository = "https://github.com/gpui-ce/gpui-ce" diff --git a/crates/gpui_collections/Cargo.toml b/crates/gpui_collections/Cargo.toml index cc1bc71dc2f..3a8ebe95055 100644 --- a/crates/gpui_collections/Cargo.toml +++ b/crates/gpui_collections/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "gpui_ce_collections" -version = "0.2.2" +version = "0.2.2-unity.20261019" edition = "2024" license = "Apache-2.0" -publish = true +publish.workspace = true description = "Blessed hash collections used by gpui-ce (vendored from Zed)." repository = "https://github.com/gpui-ce/gpui-ce" @@ -18,4 +18,4 @@ test-support = [] [dependencies] indexmap = { version = "2", features = ["serde"] } rustc-hash = "2" -gpui_util = { package = "gpui_ce_util", version = "0.2.6", path = "../gpui_ce_util" } +gpui_util = { package = "gpui_ce_util", version = "=0.2.6-unity.20261019", registry = "unity", path = "../gpui_ce_util" } diff --git a/crates/gpui_derive_refineable/Cargo.toml b/crates/gpui_derive_refineable/Cargo.toml index bb47eb47528..974d2ef76cc 100644 --- a/crates/gpui_derive_refineable/Cargo.toml +++ b/crates/gpui_derive_refineable/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "gpui_ce_derive_refineable" -version = "0.2.2" +version = "0.2.2-unity.20261019" edition = "2024" license = "Apache-2.0" -publish = true +publish.workspace = true description = "Derive macro for gpui-ce's Refineable (vendored from Zed)." [lib] diff --git a/crates/gpui_elements/Cargo.toml b/crates/gpui_elements/Cargo.toml index 4e4a36ed661..f75ed26b32d 100644 --- a/crates/gpui_elements/Cargo.toml +++ b/crates/gpui_elements/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gpui_ce_elements" -version = "0.1.0" +version = "0.1.0-unity.20261019" description.workspace = true edition.workspace = true publish.workspace = true @@ -23,7 +23,7 @@ smallvec.workspace = true gpui_parley.workspace = true gpui = { path = "../gpui", package = "gpui-ce", features = ["test-support"] } gpui_platform = { workspace = true, features = ["wayland", "x11"] } -gpui_fonts = { path = "../gpui_ce_fonts", version = "0.2.2", package = "gpui-ce-fonts" } +gpui_fonts = { path = "../gpui_ce_fonts", package = "gpui-ce-fonts" } [[example]] name = "editable_text" diff --git a/crates/gpui_linux/Cargo.toml b/crates/gpui_linux/Cargo.toml index 09812ce830c..61864080b7b 100644 --- a/crates/gpui_linux/Cargo.toml +++ b/crates/gpui_linux/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gpui_ce_linux" -version = "0.1.0" +version = "0.1.0-unity.20261019" description.workspace = true edition.workspace = true publish.workspace = true diff --git a/crates/gpui_macos/Cargo.toml b/crates/gpui_macos/Cargo.toml index fe07937fe3a..e2511a79148 100644 --- a/crates/gpui_macos/Cargo.toml +++ b/crates/gpui_macos/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gpui_ce_macos" -version = "0.1.0" +version = "0.1.0-unity.20261019" description.workspace = true edition.workspace = true publish.workspace = true @@ -83,4 +83,4 @@ url.workspace = true [target.'cfg(target_os = "macos")'.dev-dependencies] gpui = { workspace = true, features = ["test-support"], default-features = false } gpui_apple = { workspace = true, features = ["test-support"] } -gpui_fonts = { path = "../gpui_ce_fonts", version = "0.2.2", package = "gpui-ce-fonts" } +gpui_fonts = { path = "../gpui_ce_fonts", package = "gpui-ce-fonts" } diff --git a/crates/gpui_macros/Cargo.toml b/crates/gpui_macros/Cargo.toml index cb862604c86..0fe96527a05 100644 --- a/crates/gpui_macros/Cargo.toml +++ b/crates/gpui_macros/Cargo.toml @@ -1,8 +1,8 @@ [package] name = "gpui_ce_macros" -version = "0.1.0" +version = "0.1.0-unity.20261019" edition.workspace = true -publish = true +publish.workspace = true license = "Apache-2.0" description = "Macros used by gpui" diff --git a/crates/gpui_media/Cargo.toml b/crates/gpui_media/Cargo.toml index 638dfe391a2..b6693ba91d1 100644 --- a/crates/gpui_media/Cargo.toml +++ b/crates/gpui_media/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "gpui_ce_media" -version = "0.2.2" +version = "0.2.2-unity.20261019" edition = "2024" license = "Apache-2.0" -publish = true +publish.workspace = true description = "macOS CoreMedia/CoreVideo bindings for gpui-ce (vendored from Zed)." [lib] diff --git a/crates/gpui_path/Cargo.toml b/crates/gpui_path/Cargo.toml index 5d7eb2c5ff8..d5c8b160471 100644 --- a/crates/gpui_path/Cargo.toml +++ b/crates/gpui_path/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "gpui_ce_path" -version = "0.2.2" +version = "0.2.2-unity.20261019" edition = "2024" license = "Apache-2.0" -publish = true +publish.workspace = true description = "Relative/absolute path types used by gpui-ce (vendored from Zed's path crate)." repository = "https://github.com/gpui-ce/gpui-ce" diff --git a/crates/gpui_platform/Cargo.toml b/crates/gpui_platform/Cargo.toml index c1b9d988b33..af7435a4f9d 100644 --- a/crates/gpui_platform/Cargo.toml +++ b/crates/gpui_platform/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gpui_ce_platform" -version = "0.1.0" +version = "0.1.0-unity.20261019" description.workspace = true edition.workspace = true publish.workspace = true @@ -54,7 +54,7 @@ x11 = ["gpui_linux/x11"] gpui = { workspace = true, default-features = false } [dev-dependencies] -gpui_fonts = { path = "../gpui_ce_fonts", version = "0.2.2", package = "gpui-ce-fonts" } +gpui_fonts = { path = "../gpui_ce_fonts", package = "gpui-ce-fonts" } gpui_parley.workspace = true [target.'cfg(target_os = "macos")'.dependencies] @@ -82,7 +82,7 @@ gpui = { workspace = true, features = ["windows-manifest"] } gpui_linux.workspace = true [target.'cfg(target_family = "wasm")'.dependencies] -gpui_web = { path = "../gpui_web", version = "0.1.0", package = "gpui_ce_web", default-features = false } +gpui_web = { path = "../gpui_web", version = "=0.1.0-unity.20261019", registry = "unity", package = "gpui_ce_web", default-features = false } console_error_panic_hook.workspace = true [[test]] diff --git a/crates/gpui_refineable/Cargo.toml b/crates/gpui_refineable/Cargo.toml index a9b5a01e171..43c945419cf 100644 --- a/crates/gpui_refineable/Cargo.toml +++ b/crates/gpui_refineable/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "gpui_ce_refineable" -version = "0.2.2" +version = "0.2.2-unity.20261019" edition = "2024" license = "Apache-2.0" -publish = true +publish.workspace = true description = "Refineable trait + cascade for gpui-ce (vendored from Zed)." [lib] @@ -12,4 +12,4 @@ path = "src/refineable.rs" doctest = false [dependencies] -derive_refineable = { package = "gpui_ce_derive_refineable", version = "0.2.2", path = "../gpui_derive_refineable" } +derive_refineable = { package = "gpui_ce_derive_refineable", version = "=0.2.2-unity.20261019", registry = "unity", path = "../gpui_derive_refineable" } diff --git a/crates/gpui_render/Cargo.toml b/crates/gpui_render/Cargo.toml index c8f55e1044a..defb4fa7f79 100644 --- a/crates/gpui_render/Cargo.toml +++ b/crates/gpui_render/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gpui_ce_render" -version = "0.1.0" +version = "0.1.0-unity.20261019" description.workspace = true edition.workspace = true publish.workspace = true @@ -13,7 +13,7 @@ workspace = true path = "src/gpui_render.rs" [dependencies] -gpui = { path = "../gpui", version = "0.2.2", package = "gpui-ce", default-features = false } +gpui = { path = "../gpui", version = "=0.2.2-unity.20261019", registry = "unity", package = "gpui-ce", default-features = false } smallvec.workspace = true wgsl-rs.workspace = true @@ -31,12 +31,12 @@ naga-old = { package = "naga", version = "24.0.0", features = [ "hlsl-out", "wgsl-in", ] } -gpui = { path = "../gpui", version = "0.2.2", package = "gpui-ce", default-features = false } +gpui = { path = "../gpui", version = "=0.2.2-unity.20261019", registry = "unity", package = "gpui-ce", default-features = false } wgsl-rs.workspace = true [dev-dependencies] naga = { version = "30.0.1", features = ["wgsl-in"] } # The `#[wgsl]` modules' generated `#[cfg(test)]` validation tests call # `Source::validate`, which only exists with this feature. Enabling it here -# keeps those tests while leaving wgsl-rs's own naga out of normal builds. +# keeps those tests while leaving naga out of wgsl-rs's normal builds. wgsl-rs = { workspace = true, features = ["validation"] } diff --git a/crates/gpui_scheduler/Cargo.toml b/crates/gpui_scheduler/Cargo.toml index 3c7292f3b81..640ed7710e6 100644 --- a/crates/gpui_scheduler/Cargo.toml +++ b/crates/gpui_scheduler/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "gpui_ce_scheduler" -version = "0.2.2" +version = "0.2.2-unity.20261019" edition = "2024" license = "Apache-2.0" -publish = true +publish.workspace = true description = "Async task scheduler/executor for gpui-ce (vendored from Zed)." [lib] diff --git a/crates/gpui_shared_string/Cargo.toml b/crates/gpui_shared_string/Cargo.toml index 1e8bc41f683..13206b4500f 100644 --- a/crates/gpui_shared_string/Cargo.toml +++ b/crates/gpui_shared_string/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gpui_ce_shared_string" -version = "0.1.0" +version = "0.1.0-unity.20261019" description = "Shared immutable string types for GPUI CE" publish.workspace = true edition.workspace = true diff --git a/crates/gpui_sum_tree/Cargo.toml b/crates/gpui_sum_tree/Cargo.toml index f238b6c4481..75ee1b419a4 100644 --- a/crates/gpui_sum_tree/Cargo.toml +++ b/crates/gpui_sum_tree/Cargo.toml @@ -1,10 +1,10 @@ [package] name = "gpui_ce_sum_tree" -version = "0.2.2" +version = "0.2.2-unity.20261019" edition = "2024" license = "Apache-2.0" description = "Copy-on-write B+ tree with monoidal summaries for gpui-ce (vendored from Zed)." -publish = true +publish.workspace = true [lib] name = "sum_tree" diff --git a/crates/gpui_tokio/Cargo.toml b/crates/gpui_tokio/Cargo.toml index c00da81e168..0af8d8d4755 100644 --- a/crates/gpui_tokio/Cargo.toml +++ b/crates/gpui_tokio/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gpui_ce_tokio" -version = "0.1.0" +version = "0.1.0-unity.20261019" description.workspace = true edition.workspace = true publish.workspace = true diff --git a/crates/gpui_web/Cargo.toml b/crates/gpui_web/Cargo.toml index 1f28a756f7c..5c84bb32d17 100644 --- a/crates/gpui_web/Cargo.toml +++ b/crates/gpui_web/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gpui_ce_web" -version = "0.1.0" +version = "0.1.0-unity.20261019" description.workspace = true publish.workspace = true edition.workspace = true diff --git a/crates/gpui_wgpu/Cargo.toml b/crates/gpui_wgpu/Cargo.toml index 48070b9096d..03393979b02 100644 --- a/crates/gpui_wgpu/Cargo.toml +++ b/crates/gpui_wgpu/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gpui_ce_wgpu" -version = "0.1.0" +version = "0.1.0-unity.20261019" description.workspace = true edition.workspace = true publish.workspace = true @@ -22,7 +22,7 @@ custom-gpu = ["gpui/custom-gpu"] wgpu-surfaces = ["gpui/wgpu-surfaces"] [dependencies] -gpui = { path = "../gpui", version = "0.2.2", package = "gpui-ce", default-features = false } +gpui = { path = "../gpui", version = "=0.2.2-unity.20261019", registry = "unity", package = "gpui-ce", default-features = false } gpui_render.workspace = true anyhow.workspace = true collections.workspace = true @@ -69,7 +69,9 @@ js-sys.workspace = true bytemuck = { version = "1", features = ["derive"] } criterion.workspace = true env_logger.workspace = true -gpui_platform = { workspace = true, features = ["wayland", "x11", "test-support"] } +# Path-only, so `cargo publish` strips it: gpui_ce_platform depends on this +# crate, and a versioned edge back would make a cycle no publish order satisfies. +gpui_platform = { path = "../gpui_platform", package = "gpui_ce_platform", features = ["wayland", "x11", "test-support"] } naga = { version = "30.0.1", features = ["wgsl-in"] } [target.'cfg(target_os = "linux")'.dev-dependencies] diff --git a/crates/gpui_windows/Cargo.toml b/crates/gpui_windows/Cargo.toml index 12903f7de8a..711206dff3e 100644 --- a/crates/gpui_windows/Cargo.toml +++ b/crates/gpui_windows/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gpui_ce_windows" -version = "0.1.0" +version = "0.1.0-unity.20261019" description.workspace = true edition.workspace = true publish.workspace = true @@ -29,7 +29,7 @@ wgpu = [ ] [dependencies] -gpui = { path = "../gpui", version = "0.2.2", package = "gpui-ce", default-features = false } +gpui = { path = "../gpui", version = "=0.2.2-unity.20261019", registry = "unity", package = "gpui-ce", default-features = false } gpui_render.workspace = true wgsl-rs.workspace = true @@ -58,4 +58,4 @@ windows-numerics = "0.3" windows-registry = "0.6.1" [target.'cfg(target_os = "windows")'.dev-dependencies] -gpui_fonts = { path = "../gpui_ce_fonts", version = "0.2.2", package = "gpui-ce-fonts" } +gpui_fonts = { path = "../gpui_ce_fonts", package = "gpui-ce-fonts" } diff --git a/crates/gpui_zed_util/Cargo.toml b/crates/gpui_zed_util/Cargo.toml index 4c287b9f1d4..d0e3c498a17 100644 --- a/crates/gpui_zed_util/Cargo.toml +++ b/crates/gpui_zed_util/Cargo.toml @@ -1,9 +1,9 @@ [package] name = "gpui_ce_zed_util" -version = "0.2.2" +version = "0.2.2-unity.20261019" edition = "2024" license = "Apache-2.0" -publish = true +publish.workspace = true description = "OS/utility helpers used by gpui-ce platform backends (vendored from Zed's util)." repository = "https://github.com/gpui-ce/gpui-ce" @@ -20,7 +20,7 @@ debug-embed = ["rust-embed/debug-embed"] [dependencies] anyhow = "1.0.86" async_zip = { version = "0.0.18", features = ["deflate", "deflate64"] } -collections = { package = "gpui_ce_collections", version = "0.2.2", path = "../gpui_collections" } +collections = { package = "gpui_ce_collections", version = "=0.2.2-unity.20261019", registry = "unity", path = "../gpui_collections" } dunce = "1.0" futures-lite = "2.6.1" futures = "0.3.32" @@ -42,8 +42,8 @@ tempfile = "3.20.0" unicase = "2.6" url = "2.2" percent-encoding = "2.3.2" -gpui_util = { package = "gpui_ce_util", version = "0.2.6", path = "../gpui_ce_util" } -path = { package = "gpui_ce_path", version = "0.2.2", path = "../gpui_path", features = [ +gpui_util = { package = "gpui_ce_util", version = "=0.2.6-unity.20261019", registry = "unity", path = "../gpui_ce_util" } +path = { package = "gpui_ce_path", version = "=0.2.2-unity.20261019", registry = "unity", path = "../gpui_path", features = [ "serde", ] } @@ -69,6 +69,6 @@ windows.workspace = true [dev-dependencies] pretty_assertions = { version = "1.3.0", features = ["unstable"] } rand.workspace = true -path = { package = "gpui_ce_path", version = "0.2.2", path = "../gpui_path", features = [ +path = { package = "gpui_ce_path", version = "=0.2.2-unity.20261019", registry = "unity", path = "../gpui_path", features = [ "test-support", ] } diff --git a/deny.toml b/deny.toml index cb89f475e2f..6f3f159ddf9 100644 --- a/deny.toml +++ b/deny.toml @@ -66,7 +66,7 @@ skip-tree = [] unknown-registry = "deny" unknown-git = "deny" allow-registry = ["https://github.com/rust-lang/crates.io-index"] -allow-git = ["https://github.com/schell/wgsl-rs"] +allow-git = [] [sources.allow-org] github = ["zed-industries"]