forked from lavina/lavina
31 lines
747 B
Markdown
31 lines
747 B
Markdown
|
## Dependency diagram of the project
|
||
|
|
||
|
```mermaid
|
||
|
graph TD;
|
||
|
lavina-->mgmt-api;
|
||
|
lavina-->projection-irc;
|
||
|
lavina-->projection-xmpp;
|
||
|
lavina-->lavina-core;
|
||
|
|
||
|
projection-irc-->proto-irc;
|
||
|
projection-irc-->lavina-core;
|
||
|
|
||
|
projection-xmpp-->proto-xmpp;
|
||
|
projection-xmpp-->lavina-core;
|
||
|
|
||
|
sim-irc-->proto-irc;
|
||
|
sim-irc-->mgmt-api;
|
||
|
|
||
|
sim-xmpp-->proto-xmpp;
|
||
|
sim-xmpp-->mgmt-api;
|
||
|
|
||
|
workspace-->lavina;
|
||
|
workspace-->sim-irc;
|
||
|
workspace-->sim-xmpp;
|
||
|
```
|
||
|
|
||
|
A few rules:
|
||
|
- Only projections should be direct deps of `lavina`, there is no need to depend on `proto-*` crates.
|
||
|
- On the other hand, projections should not be dependencies of `sim-*` crates.
|
||
|
- `lavina-core` does not depend on protocol-specific crates.
|