protocol: Create skeleton by moving from radicle-node

This commit will not build. If you are reading this while bisecting,
please skip this commit. It is not fixed to build to get clean renames.
This commit is contained in:
Lorenz Leutgeb 2025-06-20 09:45:58 +02:00
parent b9759c5868
commit 61c468778a
18 changed files with 89 additions and 1 deletions

37
Cargo.lock generated
View File

@ -2662,6 +2662,7 @@ dependencies = [
"radicle-crypto",
"radicle-fetch",
"radicle-git-ext",
"radicle-protocol",
"radicle-signals",
"radicle-systemd",
"scrypt",
@ -2674,6 +2675,42 @@ dependencies = [
"thiserror 1.0.69",
]
[[package]]
name = "radicle-protocol"
version = "0.1.0"
dependencies = [
"amplify",
"anyhow",
"bloomy",
"byteorder",
"chrono",
"colored",
"crossbeam-channel",
"cyphernet",
"fastrand",
"io-reactor",
"lexopt",
"libc",
"localtime",
"log",
"netservices",
"nonempty 0.9.0",
"qcheck",
"qcheck-macros",
"radicle",
"radicle-crypto",
"radicle-fetch",
"radicle-git-ext",
"scrypt",
"serde",
"serde_json",
"snapbox",
"socket2",
"sqlite",
"tempfile",
"thiserror 1.0.69",
]
[[package]]
name = "radicle-remote-helper"
version = "0.11.0"

View File

@ -47,6 +47,7 @@ radicle-dag = { version = "0.10", path = "crates/radicle-dag" }
radicle-fetch = { version = "0.12", path = "crates/radicle-fetch" }
radicle-git-ext = { version = "0.8", default-features = false }
radicle-node = { version = "0.12", path = "crates/radicle-node" }
radicle-protocol = { version = "0.1", path = "crates/radicle-protocol" }
radicle-signals = { version = "0.11", path = "crates/radicle-signals" }
radicle-ssh = { version = "0.9", path = "crates/radicle-ssh", default-features = false }
radicle-systemd = { version = "0.9", path = "crates/radicle-systemd" }

View File

@ -37,6 +37,7 @@ radicle-fetch = { workspace = true }
# N.b. this is required to use macros, even though it's re-exported
# through radicle
radicle-git-ext = { workspace = true, features = ["serde"] }
radicle-protocol = { workspace = true }
radicle-signals = { workspace = true }
radicle-systemd = { workspace = true, optional = true }
sqlite = { workspace = true, features = ["bundled"] }

View File

@ -0,0 +1,49 @@
[package]
name = "radicle-protocol"
description = "The Radicle Protocol"
homepage.workspace = true
license.workspace = true
version = "0.1.0"
authors = ["Radicle Team <team@radicle.xyz>"]
edition.workspace = true
rust-version.workspace = true
[features]
test = ["radicle/test", "radicle-crypto/test", "radicle-crypto/cyphernet", "qcheck", "snapbox"]
[dependencies]
amplify = { workspace = true }
anyhow = { workspace = true }
bloomy = "1.2"
byteorder = { workspace = true }
chrono = { workspace = true, features = ["clock"] }
colored = { workspace = true }
crossbeam-channel = { workspace = true }
cyphernet = { workspace = true, features = ["tor", "dns", "ed25519", "p2p-ed25519"] }
fastrand = { workspace = true }
io-reactor = { version = "0.5.1", features = ["popol"] }
lexopt = { workspace = true }
libc = { workspace = true }
log = { workspace = true, features = ["std"] }
localtime = { workspace = true }
netservices = { version = "0.8.0", features = ["io-reactor", "socket2"] }
nonempty = { workspace = true, features = ["serialize"] }
qcheck = { workspace = true, optional = true }
radicle = { workspace = true, features = ["logger"] }
radicle-fetch = { workspace = true }
radicle-git-ext = { workspace = true, features = ["serde"] }
sqlite = { workspace = true, features = ["bundled"] }
scrypt = { version = "0.11.0", default-features = false }
serde = { workspace = true, features = ["derive"] }
serde_json = { workspace = true, features = ["preserve_order"] }
snapbox = { workspace = true, optional = true }
socket2 = "0.5.7"
tempfile = { workspace = true }
thiserror = { workspace = true }
[dev-dependencies]
qcheck = { workspace = true }
qcheck-macros = { workspace = true }
radicle = { workspace = true, features = ["test"] }
radicle-crypto = { workspace = true, features = ["test", "cyphernet"] }
snapbox = { workspace = true }