diff options
Diffstat (limited to 'docs/kotlin.dot')
-rw-r--r-- | docs/kotlin.dot | 196 |
1 files changed, 196 insertions, 0 deletions
diff --git a/docs/kotlin.dot b/docs/kotlin.dot new file mode 100644 index 000000000..7a23c160c --- /dev/null +++ b/docs/kotlin.dot @@ -0,0 +1,196 @@ +digraph java { + //rankdir="LR"; + //splines="false"; + //cluster=true; + ranksep="0.75 equally" + //node [ ordering="in" ]; + node [ shape="rect" style="rounded" color="blue" ]; + { + rank="same"; + lib_java_sources [ label="library\njava sources" group="lib" ]; + lib_kotlin_sources [ label="library\nkotlin sources" group="lib" ]; + lib2_java_sources [ label="library\njava sources" group="lib2" ]; + lib2_kotlin_sources [ label="library\nkotlin sources" group="lib2" ]; + app_java_sources [ label="app\njava sources" group="app" ]; + app_kotlin_sources [ label="app\nkotlin sources" group="app" ]; + } + + node [ group="lib"]; + { + rank="same"; + lib_kotlin_classes [ label="library kotlin\n.class files" ]; + lib_kotlin_headers [ label="library kotlin\nheader .class files" ]; + } + { + rank="same"; + lib_java_classes [ label="library java\n.class files" ]; + lib_java_headers [ label="library java\nheader .class files" ]; + } + { + rank="same"; + lib_combined_classes [ label="combined library\n.class files" ]; + lib_combined_headers [ label="combined library\nheader .class files" ]; + } + + node [ group="lib2"]; + { + rank="same"; + lib_spacer [ style=invis width=4 ]; + lib2_kotlin_classes [ label="library kotlin\n.class files" ]; + lib2_kotlin_headers [ label="library kotlin\nheader .class files" ]; + } + { + rank="same"; + 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_kotlin_classes [ label="app kotlin\n.class files" ]; + app_kotlin_headers [ label="app kotlin\nheader .class files" ] } + { + rank="same"; + 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_kotlinc_action [ label="kotlinc" ]; + } + { + rank="same"; + lib_turbine_action [ label="turbine" ]; + lib_javac_action [ label="javac" ]; + } + { + rank="same"; + lib_combine_action [ label="merge_zips" ]; + lib_combine_headers_action [ label="merge_zips" ]; + } + + node [ group="lib2"]; + { + rank="same"; + lib2_kotlinc_action [ label="kotlinc" ]; + } + { + 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_kotlinc_action [ label="kotlinc" ]; + } + { + rank="same"; + app_javac_action [ label="javac" ]; + } + { + rank="same"; + app_combine_action [ label="merge_zips" ]; + } + { + rank="same"; + app_r8_action [ label="r8" ]; + } + + // library + + lib_kotlin_sources -> lib_kotlinc_action [ weight=100 ]; + lib_java_sources -> lib_kotlinc_action; + lib_kotlinc_action -> lib_kotlin_classes, lib_kotlin_headers [ weight=100 ]; + + lib_kotlin_headers -> lib_turbine_action [ weight=0 ]; + lib_java_sources -> lib_turbine_action [ weight=100 ]; + lib_turbine_action -> lib_java_headers [ weight=100 ]; + + lib_kotlin_headers -> lib_javac_action [ weight=0 ]; + lib_java_sources -> lib_javac_action [ weight=1000 ]; + lib_javac_action -> lib_java_classes [ weight=100 ]; + + lib_kotlin_classes -> lib_combine_action [ weight = 0 ]; + lib_java_classes -> lib_combine_action [ weight = 100 ]; + lib_combine_action -> lib_combined_classes [ weight=100 ]; + + lib_kotlin_headers -> lib_combine_headers_action [ weight = 0 ]; + lib_java_headers -> lib_combine_headers_action [ weight = 100 ]; + lib_combine_headers_action -> lib_combined_headers [ weight=100 ]; + + lib_combined_headers -> lib_spacer [ style=invis ]; + + // library 2 + + lib_combined_headers -> lib2_kotlinc_action [ weight=0 ]; + lib2_kotlin_sources -> lib2_kotlinc_action [ weight=100 ]; + lib2_java_sources -> lib2_kotlinc_action; + lib2_kotlinc_action -> lib2_kotlin_classes, lib2_kotlin_headers [ weight=100 ]; + + lib_combined_headers -> lib2_turbine_action [ weight=0 ]; + lib2_kotlin_headers -> lib2_turbine_action [ weight=0 ]; + lib2_java_sources -> lib2_turbine_action [ weight=100 ]; + lib2_turbine_action -> lib2_java_headers [ weight=100 ]; + + lib_combined_headers -> lib2_javac_action [ weight=0 ]; + lib2_kotlin_headers -> lib2_javac_action [ weight=0 ]; + lib2_java_sources -> lib2_javac_action [ weight=1000 ]; + lib2_javac_action ->lib2_java_classes [ weight=100 ]; + + lib_combined_classes -> lib2_combine_action [ weight=0 ]; + lib2_kotlin_classes -> lib2_combine_action [ weight=0 ]; + lib2_java_classes -> lib2_combine_action [ weight=100 ]; + lib2_combine_action -> lib2_combined_classes [ weight=100 ]; + + lib_combined_headers -> lib2_combine_headers_action [ weight=0 ]; + lib2_kotlin_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_kotlinc_action [ weight=0 ]; + app_kotlin_sources -> app_kotlinc_action [ weight=100 ]; + app_java_sources -> app_kotlinc_action; + app_kotlinc_action -> app_kotlin_headers, app_kotlin_classes [ weight=100 ]; + + lib2_combined_headers -> app_javac_action [ weight=0 ]; + app_kotlin_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_kotlin_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 ]; +} |