Files
ortools-clone/ortools/dotnet/docs/full_pipeline.dot
Corentin Le Molgat 8a83e4265b doc: mv doc/ to docs/
2022-02-23 16:19:26 +01:00

128 lines
6.5 KiB
Plaintext

@startdot
digraph Make {
rankdir=TD;
node [shape=note, style="rounded,filled", color=black, fillcolor=royalblue];
CPP [label="ortools.h/ortools.cc"];
SWIG [label="csharp/ortools.i", fillcolor=white];
CPP -> SWIG [label="include", style=dashed];
subgraph clusterLinux {
color=crimson;
label = "Linux Host";
node [shape=note, style="rounded,filled", color=black, fillcolor=darkviolet];
LINUX_LIB [label="libortools.so\nruntimes/linux-x64/native/", shape=component, fillcolor=royalblue];
LINUX_CSWRP [label="ortools.cs"];
LINUX_CPPWRP [label="ortools_csharp_wrap.cc", fillcolor=royalblue];
LINUX_LIBWRP [label="Google.OrTools.runtime.linux-x64.so\nruntimes/linux-x64/native", shape=component, fillcolor=royalblue];
LINUX_CSPROJ [label="Google.OrTools.runtime.linux-x64.csproj"];
LINUX_DLL [label="Google.OrTools.dll\nruntimes/linux-x64/lib/netstandard2.0/", shape=component];
LINUX_REF [label="Google.OrTools.dll\nref/netstandard2.0/", shape=component];
LINUX_NUPKG [label="Google.OrTools.runtime.linux-x64.nupkg", shape=folder];
LINUX_CPPWRP -> LINUX_LIBWRP [label="g++", style=bold];
LINUX_LIB -> LINUX_LIBWRP [label="ld", style=bold];
LINUX_LIBWRP -> LINUX_CSWRP [label="PInvoke", style=dashed];
LINUX_CSWRP -> LINUX_CSPROJ [label="Compile", style=dashed];
LINUX_LIB -> LINUX_CSPROJ [label="Content", style=dashed];
LINUX_LIBWRP -> LINUX_CSPROJ [label="Content", style=dashed];
LINUX_CSPROJ -> LINUX_DLL [label="dotnet build", style=bold];
LINUX_CSPROJ -> LINUX_REF [label="dotnet build", style=bold];
LINUX_LIB -> LINUX_NUPKG [label="pack", style=dashed];
LINUX_LIBWRP -> LINUX_NUPKG [label="pack", style=dashed];
LINUX_DLL -> LINUX_NUPKG [label="pack", style=dashed];
LINUX_CSPROJ -> LINUX_NUPKG [label="dotnet pack", style=bold];
}
SWIG -> LINUX_CSWRP [label="swig", style=bold];
SWIG -> LINUX_CPPWRP [label="swig", style=bold];
CPP -> LINUX_LIB [label="make_cc", style=bold];
subgraph clusterOsx {
color=forestgreen;
label = "macOS Host";
node [shape=note, style="rounded,filled", color=black, fillcolor=darkviolet];
OSX_LIB [label="libortools.dylib\nruntimes/osx-x64/native/", shape=component, fillcolor=royalblue];
OSX_CSWRP [label="ortools.cs"];
OSX_CPPWRP [label="ortools_csharp_wrap.cc", fillcolor=royalblue];
OSX_LIBWRP [label="Google.OrTools.runtime.osx-x64.dylib\nruntimes/osx-x64/native", shape=component, fillcolor=royalblue];
OSX_CSPROJ [label="Google.OrTools.runtime.osx-x64.csproj"];
OSX_DLL [label="Google.OrTools.dll\nruntimes/osx-x64/lib/netstandard2.0/", shape=component];
OSX_REF [label="Google.OrTools.dll\nref/netstandard2.0/", shape=component];
OSX_NUPKG [label="Google.OrTools.runtime.osx-x64.nupkg", shape=folder];
OSX_CPPWRP -> OSX_LIBWRP [label="clang", style=bold];
OSX_LIB -> OSX_LIBWRP [label="ld", style=bold];
OSX_LIBWRP -> OSX_CSWRP [label="PInvoke", style=dashed];
OSX_CSWRP -> OSX_CSPROJ [label="Compile", style=dashed];
OSX_LIB -> OSX_CSPROJ [label="Content", style=dashed];
OSX_LIBWRP -> OSX_CSPROJ [label="Content", style=dashed];
OSX_CSPROJ -> OSX_DLL [label="dotnet build", style=bold];
OSX_CSPROJ -> OSX_REF [label="dotnet build", style=bold];
OSX_LIB -> OSX_NUPKG [label="pack", style=dashed];
OSX_LIBWRP -> OSX_NUPKG [label="pack", style=dashed];
OSX_DLL -> OSX_NUPKG [label="pack", style=dashed];
OSX_CSPROJ -> OSX_NUPKG [label="dotnet pack", style=bold];
}
SWIG -> OSX_CSWRP [label="swig", style=bold];
SWIG -> OSX_CPPWRP [label="swig", style=bold];
CPP -> OSX_LIB [label="make_cc", style=bold];
subgraph clusterWin {
color=dodgerblue;
label = "Windows Host";
node [shape=note, style="rounded,filled", color=black, fillcolor=darkviolet];
WIN_LIB [label="libortools.lib", shape=component, fillcolor=royalblue];
WIN_CSWRP [label="ortools.cs"];
WIN_CPPWRP [label="ortools_csharp_wrap.cc", fillcolor=royalblue];
WIN_LIBWRP [label="Google.OrTools.runtime.win-x64.dll\nruntimes/win-x64/native", shape=component, fillcolor=royalblue];
WIN_CSPROJ [label="Google.OrTools.runtime.win-x64.csproj"];
WIN_DLL [label="Google.OrTools.dll\nruntimes/win-x64/lib/netstandard2.0/", shape=component];
WIN_REF [label="Google.OrTools.dll\nref/netstandard2.0/", shape=component];
WIN_NUPKG [label="Google.OrTools.runtime.win-x64.nupkg", shape=folder];
WIN_CPPWRP -> WIN_LIBWRP [label="cl.exe", style=bold];
WIN_LIB -> WIN_LIBWRP [label="link.exe", style=bold];
WIN_LIBWRP -> WIN_CSWRP [label="PInvoke", style=dashed];
WIN_CSWRP -> WIN_CSPROJ [label="Compile", style=dashed];
WIN_LIBWRP -> WIN_CSPROJ [label="Content", style=dashed];
WIN_CSPROJ -> WIN_DLL [label="dotnet build", style=bold];
WIN_CSPROJ -> WIN_REF [label="dotnet build", style=bold];
WIN_LIBWRP -> WIN_NUPKG [label="pack", style=dashed];
WIN_DLL -> WIN_NUPKG [label="pack", style=dashed];
WIN_CSPROJ -> WIN_NUPKG [label="dotnet pack", style=bold];
}
SWIG -> WIN_CSWRP [label="swig", style=bold];
SWIG -> WIN_CPPWRP [label="swig", style=bold];
CPP -> WIN_LIB [label="make_cc", style=bold];
subgraph clusterAny {
color=dimgrey;
label = "Any Previous Host";
node [shape=note, style="rounded,filled", color=black, fillcolor=darkviolet];
OR_REF [label="Google.OrTools.dll\nref/netstandard2.0/", shape=component];
OR_RT [label="runtime.json"];
PB_NUPKG [label="Google.Protobuf.nupkg\nnuget.org", shape=folder];
OR_CSPROJ [label="Google.OrTools.csproj"];
OR_NUPKG [label="Google.OrTools.nupkg", shape=folder];
LINUX_REF -> OR_REF [label="copy", style=bold];
OSX_REF -> OR_REF [label="copy", style=bold];
WIN_REF -> OR_REF [label="copy", style=bold];
OR_REF -> OR_CSPROJ [label="Content", style=dashed];
OR_RT -> OR_CSPROJ [label="Content", style=dashed];
PB_NUPKG -> OR_CSPROJ [label="PackageReference", style=dashed];
OR_CSPROJ -> OR_NUPKG [label="dotnet pack", style=bold];
OR_REF -> OR_NUPKG [label="pack", style=dashed];
OR_RT -> OR_NUPKG [label="pack", style=dashed];
}
LINUX_NUPKG -> OR_CSPROJ [label="PackageReference", style=dashed];
OSX_NUPKG -> OR_CSPROJ [label="PackageReference", style=dashed];
WIN_NUPKG -> OR_CSPROJ [label="PackageReference", style=dashed];
# Hack for layout i.e. add false hidden dependencies
LINUX_NUPKG -> OR_REF [arrowhead=none, style=invisible];
OSX_NUPKG -> OR_REF [arrowhead=none, style=invisible];
WIN_NUPKG -> OR_REF [arrowhead=none, style=invisible];
}
@enddot
# vim: set tw=0 ts=2 sw=2 expandtab: