Created Dependencies (markdown)

James Groom 2024-09-26 10:09:09 +10:00
parent e1b305320c
commit 535c89bbd0
1 changed files with 93 additions and 0 deletions

93
Dependencies.md Normal file

@ -0,0 +1,93 @@
# Main solution
Graph of `<ProjectReference/>`s, as of 2.10 RC1:
![bizhawk.dot.png](https://github.com/user-attachments/assets/8cfba00a-0852-46d4-8b93-01497fa4b826)
Color | Legend
--:|:--
green | *Standard*
blue | *Framework*
red | *Framework* via *Standard*&dagger;
`-NRT` on a project indicates it has [nullable reference types](https://docs.microsoft.com/en-us/dotnet/csharp/nullable-references) disabled by default.
&dagger; doesn't cause issues if the *Standard* library is itself consumed in a *Framework* library or executable
<details>
<summary>source</summary>
For use with Graphviz' `dot`.
```dot
// BizHawk project dependency graph as of 2.10 RC1
digraph G {
subgraph netstandard {
node [ color = "#007F00"; fontcolor = "#007F00"; ];
"BizHawk.Bizware.Audio" [ label = "bh.Bizware.Audio -NRT" ];
"BizHawk.Bizware.Graphics" [ label = "bh.Bizware.Graphics -NRT" ];
"BizHawk.Bizware.Input" [ label = "bh.Bizware.Input -NRT" ];
"BizHawk.Client.Common" [ label = "bh.Client.Common -NRT" ];
"BizHawk.Common";
"BizHawk.Emulation.Common" [ label = "bh.Emulation.Common" ];
"BizHawk.Emulation.Cores" [ label = "bh.Emulation.Cores -NRT" ];
"BizHawk.Emulation.DiscSystem" [ label = "bh.Emulation.DiscSystem -NRT" ];
}
subgraph netframework {
node [ color = "#00009F"; fontcolor = "#00009F"; ];
"BizHawk.BizInvoke" [ label = "bh.BizInvoke" ];
"BizHawk.Bizware.Graphics.Controls" [ label = "bh.Bizware.Graphics.Controls -NRT" ];
"BizHawk.WinForms.Controls" [ label = "bh.WinForms.Controls" ];
subgraph cluster_executable {
color = "#00009F3F";
fontcolor = "#00009F";
label = "Executable projects";
"BizHawk.Bizware.Test" [ label = "bh.Bizware.Test" ];
"BizHawk.Client.DiscoHawk" [ label = "bh.cl.DiscoHawk -NRT" ];
"BizHawk.Client.EmuHawk" [ label = "bh.cl.EmuHawk -NRT" ];
subgraph cluster_test {
label = "Test projects";
"BizHawk.Tests";
"BizHawk.Tests.Testroms.GB" [ label = "bh.ts.Testroms.GB" ];
"BizHawk.Tests.Testroms.GB.GambatteSuite" [ label = "bh.ts.Testroms.GB.GambatteSuite" ];
}
}
}
subgraph netstandard_deps {
edge [ color = "#007F00"; ];
"BizHawk.Bizware.Graphics" -> "BizHawk.Bizware.Graphics.Controls";
"BizHawk.Bizware.Graphics" -> "BizHawk.Client.Common";
"BizHawk.Client.Common" -> "BizHawk.Bizware.Audio";
"BizHawk.Client.Common" -> "BizHawk.Bizware.Input";
"BizHawk.Client.Common" -> "BizHawk.Tests";
"BizHawk.Client.Common" -> "BizHawk.Tests.Testroms.GB";
"BizHawk.Common" -> "BizHawk.BizInvoke";
"BizHawk.Common" -> "BizHawk.Bizware.Graphics";
"BizHawk.Common" -> "BizHawk.Emulation.DiscSystem";
"BizHawk.Common" -> "BizHawk.WinForms.Controls";
"BizHawk.Emulation.Common" -> "BizHawk.Emulation.Cores";
"BizHawk.Emulation.Cores" -> "BizHawk.Client.Common";
"BizHawk.Emulation.DiscSystem" -> "BizHawk.Client.DiscoHawk";
"BizHawk.Emulation.DiscSystem" -> "BizHawk.Emulation.Cores";
subgraph redundant { // removed in c22f2ab4f
edge [ color = "#007F003F"; constraint = false; ];
"BizHawk.Bizware.Graphics" -> "BizHawk.Bizware.Test";
"BizHawk.Bizware.Graphics" -> "BizHawk.Client.EmuHawk";
"BizHawk.Bizware.Graphics" -> "BizHawk.Tests.Testroms.GB";
"BizHawk.Common" -> "BizHawk.Emulation.Common";
}
}
subgraph netframework_deps {
edge [ color = "#00009F"; ];
"BizHawk.BizInvoke" -> "BizHawk.Emulation.Common" [ color = "#9F0000"; ];
"BizHawk.Bizware.Audio" -> "BizHawk.Client.EmuHawk";
"BizHawk.Bizware.Graphics.Controls" -> "BizHawk.Bizware.Test";
"BizHawk.Bizware.Graphics.Controls" -> "BizHawk.Client.EmuHawk";
"BizHawk.Bizware.Input" -> "BizHawk.Client.EmuHawk";
"BizHawk.Tests.Testroms.GB" -> "BizHawk.Tests.Testroms.GB.GambatteSuite";
"BizHawk.WinForms.Controls" -> "BizHawk.Client.EmuHawk";
}
}
```
</details>