Simplify livekit config so that cargo check Just Works (#21661)

Supersedes https://github.com/zed-industries/zed/pull/21653

This enables us to use `cargo test -p workspace` on macOS and Linux.

Note that the line diffs in `shared_screen.rs` are spurious, I just
re-ordered the `macos` and `cross-platform` modules to match the order
in the call crate.

Release Notes:

- N/A
This commit is contained in:
Mikayla Maki 2024-12-06 13:50:59 -08:00 committed by GitHub
parent 7d80d1208c
commit de939e718a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 345 additions and 327 deletions

19
script/check-rust-livekit-macos Executable file
View file

@ -0,0 +1,19 @@
#!/bin/bash
set -exuo pipefail
git apply script/patches/use-cross-platform-livekit.patch
# Re-enable error skipping for this check, so that we can unapply the patch
set +e
cargo check -p workspace
exit_code=$?
# Disable error skipping again
set -e
git apply -R script/patches/use-cross-platform-livekit.patch
exit "$exit_code"

View file

@ -0,0 +1,59 @@
diff --git a/crates/call/Cargo.toml b/crates/call/Cargo.toml
index 9ba10e56ba..bb69440691 100644
--- a/crates/call/Cargo.toml
+++ b/crates/call/Cargo.toml
@@ -41,10 +41,10 @@ serde_derive.workspace = true
settings.workspace = true
util.workspace = true
-[target.'cfg(target_os = "macos")'.dependencies]
+[target.'cfg(any())'.dependencies]
livekit_client_macos = { workspace = true }
-[target.'cfg(not(target_os = "macos"))'.dependencies]
+[target.'cfg(all())'.dependencies]
livekit_client = { workspace = true }
[dev-dependencies]
diff --git a/crates/call/src/call.rs b/crates/call/src/call.rs
index 5e212d35b7..a8f9e8f43e 100644
--- a/crates/call/src/call.rs
+++ b/crates/call/src/call.rs
@@ -1,13 +1,13 @@
pub mod call_settings;
-#[cfg(target_os = "macos")]
+#[cfg(any())]
mod macos;
-#[cfg(target_os = "macos")]
+#[cfg(any())]
pub use macos::*;
-#[cfg(not(target_os = "macos"))]
+#[cfg(all())]
mod cross_platform;
-#[cfg(not(target_os = "macos"))]
+#[cfg(all())]
pub use cross_platform::*;
diff --git a/crates/workspace/src/shared_screen.rs b/crates/workspace/src/shared_screen.rs
index 1d17cfa145..f845234987 100644
--- a/crates/workspace/src/shared_screen.rs
+++ b/crates/workspace/src/shared_screen.rs
@@ -1,11 +1,11 @@
-#[cfg(target_os = "macos")]
+#[cfg(any())]
mod macos;
-#[cfg(target_os = "macos")]
+#[cfg(any())]
pub use macos::*;
-#[cfg(not(target_os = "macos"))]
+#[cfg(all())]
mod cross_platform;
-#[cfg(not(target_os = "macos"))]
+#[cfg(all())]
pub use cross_platform::*;