modules: split services and the ircd link into external crates
nickserv, chanserv and the InspIRCd protocol move out of the binary into their own workspace crates (fedserv-nickserv, fedserv-chanserv, fedserv-inspircd), each depending only on fedserv-api. human_time and the branded account emails move into the SDK crate so a module needs nothing from core; the engine keeps its own inherent methods and builds emails via fedserv-api too. The bin now constructs each module from its crate instead of an in-tree #[path] include. Proves the SDK is self-sufficient: a third-party module is the same shape.
This commit is contained in:
parent
8ed1a9ab70
commit
596630df53
52 changed files with 197 additions and 162 deletions
|
|
@ -1,5 +1,5 @@
|
|||
[workspace]
|
||||
members = ["api"]
|
||||
members = ["api", "inspircd", "chanserv", "nickserv"]
|
||||
|
||||
[package]
|
||||
name = "fedserv"
|
||||
|
|
@ -9,6 +9,9 @@ description = "Federated IRC services daemon (protocol-agnostic core, InspIRCd l
|
|||
|
||||
[dependencies]
|
||||
fedserv-api = { path = "api" }
|
||||
fedserv-inspircd = { path = "inspircd" }
|
||||
fedserv-chanserv = { path = "chanserv" }
|
||||
fedserv-nickserv = { path = "nickserv" }
|
||||
tokio = { version = "1", features = ["net", "io-util", "rt-multi-thread", "macros", "time", "sync", "process"] }
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue