Skip to content

Commit

Permalink
Add a graphviz graph showing the buildscript tasks
Browse files Browse the repository at this point in the history
To generate the tasks.png file, run the following command:
 dot -Tpng mappings/tasks.dot -o mappings/tasks.png
  • Loading branch information
zeichenreihe committed Nov 3, 2023
1 parent a1a745b commit 2f3f021
Show file tree
Hide file tree
Showing 2 changed files with 180 additions and 0 deletions.
180 changes: 180 additions & 0 deletions tasks.dot
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
// color = pink:
// Any task you would "invoke" from externally
//
// color = lightblue:
// Any task that is used internally
//
// shape = rect:
// Any "download" task
//
// subgraph {}
// Any task for some given topic

digraph G {
node [style=filled];
color = blue;

// COMMENT OUT

insertMappings[color = pink];
patchNests -> insertMappings;

propagateMappingsDown[color = pink];
patchNests -> propagateMappingsDown;

propagateMappingsUp[color = pink];
patchNests -> propagateMappingsUp;

propagateMappings[color = pink];
patchNests -> propagateMappings;

feather[color = pink];
nestJar, separateMappings -> feather;

importMappingsOfficial[color = pink];
invertCalamus -> importMappingsOfficial;

patchCalamus[color = pink];
mergeJars, downloadCalamus -> patchCalamus;

exportMappingsOfficial[color = pink];
downloadCalamus -> exportMappingsOfficial;

decompileCFR[color = pink];
mapNamedJar -> decompileCFR;

decompileQuiltFlower[color = pink];
mapNamedJar -> decompileQuiltFlower;

decompileProcyon[color = pink];
mapNamedJar -> decompileProcyon;

nestJar[color = pink];
mapCalamusJar -> nestJar;
patchNests -> nestJar;

downloadNests[color = lightblue, shape = rect];

patchNests[color = lightblue];
downloadNests, downloadCalamus -> patchNests;

separateMappings[color = lightblue];
patchNests -> separateMappings;

checkMappings[color = lightblue];
mapCalamusJar, separateMappingsForBuild -> checkMappings;

buildTinyWithEnum[color = lightblue];
mergeTiny -> buildTinyWithEnum;

subgraph cluster_decompile {
label = "decompile";
color = blue;

decompileProcyon, decompileCFR, decompileQuiltFlower;
}

subgraph cluster_operations {
color = blue;

propagateMappings, propagateMappingsUp, propagateMappingsDown,
insertMappings, feather, nestJar, importMappingsOfficial,
exportMappingsOfficial, patchCalamus;
}
//*/

insertAutoGeneratedEnumMappings[color = lightblue];
buildFeatherTiny, mapCalamusJar -> insertAutoGeneratedEnumMappings;

buildFeatherTiny -> v2UnmergedFeatherJar;

downloadVersionsManifest[color = lightblue, shape = rect];

v2UnmergedFeatherJar[color = lightblue];
insertAutoGeneratedEnumMappings -> v2UnmergedFeatherJar;

v2MergedFeatherJar[color = lightblue];
mergeV2 -> v2MergedFeatherJar;

mergeV2[color = lightblue];
v2UnmergedFeatherJar, invertCalamusV2 -> mergeV2;

invertCalamusV2[color = lightblue];
downloadCalamusV2 -> invertCalamusV2;

downloadCalamusV2[color = lightblue, shape = rect];
downloadMcJars -> downloadCalamusV2;

mergeJars[color = lightblue];
downloadMcJars -> mergeJars;

downloadVersionDetails[color = lightblue, shape = rect];
downloadVersionsManifest -> downloadVersionDetails;

downloadMcJars[color = lightblue, shape = rect];
downloadVersionDetails -> downloadMcJars;

downloadCalamus[color = lightblue, shape = rect];
downloadMcJars -> downloadCalamus;

downloadWantedVersionManifest[color = lightblue, shape = rect];
downloadVersionsManifest -> downloadWantedVersionManifest;

downloadMcLibs[color = lightblue, shape = rect];
downloadWantedVersionManifest -> downloadMcLibs;

mapCalamusJar[color = lightblue];
downloadMcLibs, downloadCalamus, mergeJars -> mapCalamusJar;

buildFeatherTiny[color = lightblue];
mapCalamusJar, separateMappingsForBuild -> buildFeatherTiny;

// COMMENT OUT

invertCalamus[color = lightblue];
downloadCalamus -> invertCalamus;

mergeTiny[color = lightblue];
buildFeatherTiny, invertCalamus -> mergeTiny;

tinyJar[color = lightblue];
mergeTiny -> tinyJar;

compressTiny[color = lightblue];
tinyJar, mergeTiny -> compressTiny;

compressTiny, tinyJar -> build;
//*/

separateMappingsForBuild[color = lightblue];

build[color = pink];
v2UnmergedFeatherJar, v2MergedFeatherJar -> build;

// COMMENT OUT

subgraph cluster_javadocs {
label = "javadocs"
color = blue;

mapNamedJar, genFakeSource, javadoc, javadocJar;
}

mapNamedJar[color = lightblue];
mergeV2, mapCalamusJar -> mapNamedJar;

genFakeSource[color = lightblue];
mergeV2, mapNamedJar -> genFakeSource;

javadoc[color = lightblue];
genFakeSource, downloadMcLibs -> javadoc;

javadocJar[color = lightblue];
javadoc -> javadocJar;

javadocJar -> publish;
//*/

publish[color = pink];
build -> publish;
}
Binary file added tasks.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 2f3f021

Please sign in to comment.