From f52bbd36e66d588f9ab29240871af99bd7c0bc77 Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Mon, 10 Jun 2024 15:40:38 -0700 Subject: Add dot files that describe java compilation Test: N/A Change-Id: I70897a680377a30e39552bfafc4d17a94837765c --- docs/java.dot | 127 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 docs/java.dot (limited to 'docs/java.dot') diff --git a/docs/java.dot b/docs/java.dot new file mode 100644 index 000000000..ad7628d26 --- /dev/null +++ b/docs/java.dot @@ -0,0 +1,127 @@ +digraph java { + //rankdir="LR"; + //splines="false"; + //cluster=true; + //node [ ordering="in" ]; + node [ shape="rect" style="rounded" color="blue" ]; + + { + rank="same"; + lib_java_sources [ label="library\njava sources" group="lib" ]; + lib2_java_sources [ label="library\njava sources" group="lib2" ]; + app_java_sources [ label="app\njava sources" group="app" ]; + } + + node [ group="lib"]; + { + rank="same"; + lib_java_classes [ label="library java\n.class files" ]; + lib_java_headers [ label="library java\nheader .class files" ]; + } + + node [ group="lib2"]; + { + rank="same"; + lib_spacer [ style=invis width=4 ]; + lib2_java_classes [ label="library java\n.class files" ]; + lib2_java_headers [ label="library java\nheader .class files" ]; + } + { + rank="same"; + lib2_combined_classes [ label="combined library\n.class files" ]; + lib2_combined_headers [ label="combined library\nheader .class files" ]; + } + + node [ group="app"]; + { + rank="same"; + lib2_spacer [ style=invis width=4 ]; + app_java_classes [ label="app java\n.class files" ]; + } + { + rank="same"; + app_combined_classes [ label="combined app and library\n.class files" ]; + } + { + rank="same"; + app_dex [ label="app classes.dex files" ]; + } + + + node [ shape="rect" style="" color="black" ]; + node [ group="lib"]; + { + rank="same"; + lib_turbine_action [ label="turbine" ]; + lib_javac_action [ label="javac" ]; + } + + node [ group="lib2"]; + { + rank="same"; + lib2_turbine_action [ label="turbine" ]; + lib2_javac_action [ label="javac" ]; + } + { + rank="same"; + lib2_combine_action [ label="merge_zips" ]; + lib2_combine_headers_action [ label="merge_zips" ]; + } + + node [ group="app"]; + { + rank="same"; + app_javac_action [ label="javac" ]; + } + { + rank="same"; + app_combine_action [ label="merge_zips" ]; + } + { + rank="same"; + app_r8_action [ label="r8" ]; + } + + // library + + lib_java_sources -> lib_turbine_action [ weight=100 ]; + lib_turbine_action -> lib_java_headers [ weight=100 ]; + + lib_java_sources -> lib_javac_action [ weight=1000 ]; + lib_javac_action -> lib_java_classes [ weight=100 ]; + + lib_java_headers -> lib_spacer [ style=invis ]; + + // library 2 + + lib_java_headers -> lib2_turbine_action [ weight=0 ]; + lib2_java_sources -> lib2_turbine_action [ weight=100 ]; + lib2_turbine_action -> lib2_java_headers [ weight=100 ]; + + lib_java_headers -> lib2_javac_action [ weight=0 ]; + lib2_java_sources -> lib2_javac_action [ weight=1000 ]; + lib2_javac_action ->lib2_java_classes [ weight=100 ]; + + lib_java_classes -> lib2_combine_action [ weight=0 ]; + lib2_java_classes -> lib2_combine_action [ weight=100 ]; + lib2_combine_action -> lib2_combined_classes [ weight=100 ]; + + lib_java_headers -> lib2_combine_headers_action [ weight=0 ]; + lib2_java_headers -> lib2_combine_headers_action [ weight=100 ]; + lib2_combine_headers_action -> lib2_combined_headers [ weight=100 ]; + + lib2_combined_headers -> lib2_spacer [ style=invis ]; + + // app + + lib2_combined_headers -> app_javac_action [ weight=0 ]; + app_java_sources -> app_javac_action [ weight=1000 ]; + app_javac_action -> app_java_classes [ weight=100 ]; + + lib2_combined_classes -> app_combine_action [ weight=0 ]; + app_java_classes -> app_combine_action [ weight=100 ]; + app_combine_action -> app_combined_classes [ weight=100 ]; + + app_combined_classes -> app_r8_action; + app_r8_action -> app_dex [ weight=100 ]; +} -- cgit v1.2.3-59-g8ed1b