blob: 7a23c160c9dce3b6a2cc122cd1a359121541c581 [file] [log] [blame]
Colin Crossf52bbd32024-06-10 15:40:38 -07001digraph java {
2 //rankdir="LR";
3 //splines="false";
4 //cluster=true;
5 ranksep="0.75 equally"
6 //node [ ordering="in" ];
7 node [ shape="rect" style="rounded" color="blue" ];
8 {
9 rank="same";
10 lib_java_sources [ label="library\njava sources" group="lib" ];
11 lib_kotlin_sources [ label="library\nkotlin sources" group="lib" ];
12 lib2_java_sources [ label="library\njava sources" group="lib2" ];
13 lib2_kotlin_sources [ label="library\nkotlin sources" group="lib2" ];
14 app_java_sources [ label="app\njava sources" group="app" ];
15 app_kotlin_sources [ label="app\nkotlin sources" group="app" ];
16 }
17
18 node [ group="lib"];
19 {
20 rank="same";
21 lib_kotlin_classes [ label="library kotlin\n.class files" ];
22 lib_kotlin_headers [ label="library kotlin\nheader .class files" ];
23 }
24 {
25 rank="same";
26 lib_java_classes [ label="library java\n.class files" ];
27 lib_java_headers [ label="library java\nheader .class files" ];
28 }
29 {
30 rank="same";
31 lib_combined_classes [ label="combined library\n.class files" ];
32 lib_combined_headers [ label="combined library\nheader .class files" ];
33 }
34
35 node [ group="lib2"];
36 {
37 rank="same";
38 lib_spacer [ style=invis width=4 ];
39 lib2_kotlin_classes [ label="library kotlin\n.class files" ];
40 lib2_kotlin_headers [ label="library kotlin\nheader .class files" ];
41 }
42 {
43 rank="same";
44 lib2_java_classes [ label="library java\n.class files" ];
45 lib2_java_headers [ label="library java\nheader .class files" ];
46 }
47 {
48 rank="same";
49 lib2_combined_classes [ label="combined library\n.class files" ];
50 lib2_combined_headers [ label="combined library\nheader .class files" ];
51 }
52
53 node [ group="app"];
54 {
55 rank="same";
56 lib2_spacer [ style=invis width=4 ];
57 app_kotlin_classes [ label="app kotlin\n.class files" ];
58 app_kotlin_headers [ label="app kotlin\nheader .class files" ] }
59 {
60 rank="same";
61 app_java_classes [ label="app java\n.class files" ];
62 }
63 {
64 rank="same";
65 app_combined_classes [ label="combined app and library\n.class files" ];
66 }
67 {
68 rank="same";
69 app_dex [ label="app classes.dex files" ];
70 }
71
72
73 node [ shape="rect" style="" color="black" ];
74 node [ group="lib"];
75 {
76 rank="same";
77 lib_kotlinc_action [ label="kotlinc" ];
78 }
79 {
80 rank="same";
81 lib_turbine_action [ label="turbine" ];
82 lib_javac_action [ label="javac" ];
83 }
84 {
85 rank="same";
86 lib_combine_action [ label="merge_zips" ];
87 lib_combine_headers_action [ label="merge_zips" ];
88 }
89
90 node [ group="lib2"];
91 {
92 rank="same";
93 lib2_kotlinc_action [ label="kotlinc" ];
94 }
95 {
96 rank="same";
97 lib2_turbine_action [ label="turbine" ];
98 lib2_javac_action [ label="javac" ];
99 }
100 {
101 rank="same";
102 lib2_combine_action [ label="merge_zips" ];
103 lib2_combine_headers_action [ label="merge_zips" ];
104 }
105
106 node [ group="app"];
107 {
108 rank="same";
109 app_kotlinc_action [ label="kotlinc" ];
110 }
111 {
112 rank="same";
113 app_javac_action [ label="javac" ];
114 }
115 {
116 rank="same";
117 app_combine_action [ label="merge_zips" ];
118 }
119 {
120 rank="same";
121 app_r8_action [ label="r8" ];
122 }
123
124 // library
125
126 lib_kotlin_sources -> lib_kotlinc_action [ weight=100 ];
127 lib_java_sources -> lib_kotlinc_action;
128 lib_kotlinc_action -> lib_kotlin_classes, lib_kotlin_headers [ weight=100 ];
129
130 lib_kotlin_headers -> lib_turbine_action [ weight=0 ];
131 lib_java_sources -> lib_turbine_action [ weight=100 ];
132 lib_turbine_action -> lib_java_headers [ weight=100 ];
133
134 lib_kotlin_headers -> lib_javac_action [ weight=0 ];
135 lib_java_sources -> lib_javac_action [ weight=1000 ];
136 lib_javac_action -> lib_java_classes [ weight=100 ];
137
138 lib_kotlin_classes -> lib_combine_action [ weight = 0 ];
139 lib_java_classes -> lib_combine_action [ weight = 100 ];
140 lib_combine_action -> lib_combined_classes [ weight=100 ];
141
142 lib_kotlin_headers -> lib_combine_headers_action [ weight = 0 ];
143 lib_java_headers -> lib_combine_headers_action [ weight = 100 ];
144 lib_combine_headers_action -> lib_combined_headers [ weight=100 ];
145
146 lib_combined_headers -> lib_spacer [ style=invis ];
147
148 // library 2
149
150 lib_combined_headers -> lib2_kotlinc_action [ weight=0 ];
151 lib2_kotlin_sources -> lib2_kotlinc_action [ weight=100 ];
152 lib2_java_sources -> lib2_kotlinc_action;
153 lib2_kotlinc_action -> lib2_kotlin_classes, lib2_kotlin_headers [ weight=100 ];
154
155 lib_combined_headers -> lib2_turbine_action [ weight=0 ];
156 lib2_kotlin_headers -> lib2_turbine_action [ weight=0 ];
157 lib2_java_sources -> lib2_turbine_action [ weight=100 ];
158 lib2_turbine_action -> lib2_java_headers [ weight=100 ];
159
160 lib_combined_headers -> lib2_javac_action [ weight=0 ];
161 lib2_kotlin_headers -> lib2_javac_action [ weight=0 ];
162 lib2_java_sources -> lib2_javac_action [ weight=1000 ];
163 lib2_javac_action ->lib2_java_classes [ weight=100 ];
164
165 lib_combined_classes -> lib2_combine_action [ weight=0 ];
166 lib2_kotlin_classes -> lib2_combine_action [ weight=0 ];
167 lib2_java_classes -> lib2_combine_action [ weight=100 ];
168 lib2_combine_action -> lib2_combined_classes [ weight=100 ];
169
170 lib_combined_headers -> lib2_combine_headers_action [ weight=0 ];
171 lib2_kotlin_headers -> lib2_combine_headers_action [ weight=0 ];
172 lib2_java_headers -> lib2_combine_headers_action [ weight=100 ];
173 lib2_combine_headers_action -> lib2_combined_headers [ weight=100 ];
174
175 lib2_combined_headers -> lib2_spacer [ style=invis ];
176
177 // app
178
179 lib2_combined_headers -> app_kotlinc_action [ weight=0 ];
180 app_kotlin_sources -> app_kotlinc_action [ weight=100 ];
181 app_java_sources -> app_kotlinc_action;
182 app_kotlinc_action -> app_kotlin_headers, app_kotlin_classes [ weight=100 ];
183
184 lib2_combined_headers -> app_javac_action [ weight=0 ];
185 app_kotlin_headers -> app_javac_action [ weight=0 ];
186 app_java_sources -> app_javac_action [ weight=1000 ];
187 app_javac_action -> app_java_classes [ weight=100 ];
188
189 lib2_combined_classes -> app_combine_action [ weight=0 ];
190 app_kotlin_classes -> app_combine_action [ weight=0 ];
191 app_java_classes -> app_combine_action [ weight=100 ];
192 app_combine_action -> app_combined_classes [ weight=100 ];
193
194 app_combined_classes -> app_r8_action;
195 app_r8_action -> app_dex [ weight=100 ];
196}