Set up Cargo workspace with four crates

Workspace: wrsrvd, wrclient, wayray-protocol, wradm under crates/.
Smithay configured with default-features=false, portable features only.
Implements ADR-007 project structure.
This commit is contained in:
Till Wegmueller 2026-04-04 18:16:53 +02:00
parent e55df6306d
commit 4e08dfb5a9
11 changed files with 2562 additions and 19 deletions

2485
Cargo.lock generated Normal file

File diff suppressed because it is too large Load diff

View file

@ -1,6 +1,20 @@
[package]
name = "wayray"
version = "0.1.0"
edition = "2024"
[workspace]
resolver = "3"
members = [
"crates/wayray-protocol",
"crates/wrsrvd",
"crates/wrclient",
"crates/wradm",
]
[dependencies]
[workspace.package]
edition = "2024"
version = "0.1.0"
license = "MPL-2.0"
[workspace.dependencies]
wayray-protocol = { path = "crates/wayray-protocol" }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
miette = { version = "7", features = ["fancy"] }
thiserror = "2"

View file

@ -0,0 +1,7 @@
[package]
name = "wayray-protocol"
edition.workspace = true
version.workspace = true
license.workspace = true
[dependencies]

View file

@ -0,0 +1,3 @@
//! WayRay wire protocol definitions.
//!
//! Shared between wrsrvd (server) and wrclient (client).

10
crates/wradm/Cargo.toml Normal file
View file

@ -0,0 +1,10 @@
[package]
name = "wradm"
edition.workspace = true
version.workspace = true
license.workspace = true
[dependencies]
wayray-protocol.workspace = true
tracing.workspace = true
miette.workspace = true

3
crates/wradm/src/main.rs Normal file
View file

@ -0,0 +1,3 @@
fn main() {
println!("wradm administration tool");
}

View file

@ -0,0 +1,10 @@
[package]
name = "wrclient"
edition.workspace = true
version.workspace = true
license.workspace = true
[dependencies]
wayray-protocol.workspace = true
tracing.workspace = true
miette.workspace = true

View file

@ -0,0 +1,3 @@
fn main() {
println!("wrclient viewer");
}

19
crates/wrsrvd/Cargo.toml Normal file
View file

@ -0,0 +1,19 @@
[package]
name = "wrsrvd"
edition.workspace = true
version.workspace = true
license.workspace = true
[dependencies]
wayray-protocol.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
miette.workspace = true
thiserror.workspace = true
smithay = { version = "0.7", default-features = false, features = [
"wayland_frontend",
"desktop",
"renderer_gl",
"backend_winit",
] }

View file

@ -0,0 +1,3 @@
fn main() {
println!("wrsrvd compositor");
}

View file

@ -1,14 +0,0 @@
pub fn add(left: u64, right: u64) -> u64 {
left + right
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn it_works() {
let result = add(2, 2);
assert_eq!(result, 4);
}
}