chore: convert to cargo workspace with four crates

This commit is contained in:
2026-05-25 11:17:24 +02:00
parent c252bd7716
commit 5b1314b0af
11 changed files with 1256 additions and 8 deletions
Generated
+1140
View File
File diff suppressed because it is too large Load Diff
+34 -5
View File
@@ -1,6 +1,35 @@
[package]
name = "xy"
version = "0.1.0"
edition = "2024"
[workspace]
resolver = "2"
members = [
"crates/xy-protocol",
"crates/xy-supervisor",
"crates/xy-ipc",
"crates/xy",
]
[dependencies]
[workspace.package]
edition = "2024"
version = "0.1.0"
license = "MIT OR Apache-2.0"
[workspace.dependencies]
xy-protocol = { path = "crates/xy-protocol" }
xy-supervisor = { path = "crates/xy-supervisor" }
xy-ipc = { path = "crates/xy-ipc" }
tokio = { version = "1", features = ["rt-multi-thread", "net", "process", "signal", "sync", "fs", "io-util", "macros", "time"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
anyhow = "1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
clap = { version = "4", features = ["derive"] }
kdl = "6"
etcetera = "0.10"
nix = { version = "0.30", features = ["signal", "process"] }
humantime = "2"
humantime-serde = "1"
async-trait = "0.1"
tempfile = "3"
tokio-test = "0.4"
+16
View File
@@ -0,0 +1,16 @@
[package]
name = "xy-ipc"
edition.workspace = true
version.workspace = true
license.workspace = true
[dependencies]
xy-protocol.workspace = true
tokio.workspace = true
serde.workspace = true
serde_json.workspace = true
tracing.workspace = true
thiserror.workspace = true
[dev-dependencies]
tempfile.workspace = true
+1
View File
@@ -0,0 +1 @@
//! JSON-RPC 2.0 over newline-delimited JSON on a Unix socket.
+16
View File
@@ -0,0 +1,16 @@
[package]
name = "xy-protocol"
edition.workspace = true
version.workspace = true
license.workspace = true
[dependencies]
serde.workspace = true
serde_json.workspace = true
thiserror.workspace = true
kdl.workspace = true
humantime.workspace = true
humantime-serde.workspace = true
[dev-dependencies]
tempfile.workspace = true
+1
View File
@@ -0,0 +1 @@
//! Wire types and config schema shared between the xy daemon and CLI.
+17
View File
@@ -0,0 +1,17 @@
[package]
name = "xy-supervisor"
edition.workspace = true
version.workspace = true
license.workspace = true
[dependencies]
xy-protocol.workspace = true
tokio.workspace = true
tracing.workspace = true
thiserror.workspace = true
nix.workspace = true
async-trait.workspace = true
[dev-dependencies]
tokio-test.workspace = true
tempfile.workspace = true
+1
View File
@@ -0,0 +1 @@
//! Process-supervision primitives for the xy daemon.
+27
View File
@@ -0,0 +1,27 @@
[package]
name = "xy"
edition.workspace = true
version.workspace = true
license.workspace = true
[[bin]]
name = "xy"
path = "src/main.rs"
[dependencies]
xy-protocol.workspace = true
xy-supervisor.workspace = true
xy-ipc.workspace = true
tokio.workspace = true
clap.workspace = true
serde.workspace = true
serde_json.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true
anyhow.workspace = true
etcetera.workspace = true
nix.workspace = true
humantime.workspace = true
[dev-dependencies]
tempfile.workspace = true
+3
View File
@@ -0,0 +1,3 @@
fn main() {
println!("xy: not implemented yet");
}
-3
View File
@@ -1,3 +0,0 @@
fn main() {
println!("Hello, world!");
}