1digraph 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_stubs [ label="library\nkotlin stubs" ]; 22 } 23 { 24 rank="same"; 25 lib_apt_src_jar [ label="library annotation\nprocessor sources" ]; 26 } 27 { 28 rank="same"; 29 lib_kotlin_classes [ label="library kotlin\n.class files" ]; 30 lib_kotlin_headers [ label="library kotlin\nheader .class files" ]; 31 } 32 { 33 rank="same"; 34 lib_java_classes [ label="library java\n.class files" ]; 35 lib_java_headers [ label="library java\nheader .class files" ]; 36 } 37 { 38 rank="same"; 39 lib_combined_classes [ label="combined library\n.class files" ]; 40 lib_combined_headers [ label="combined library\nheader .class files" ]; 41 } 42 43 node [ group="lib2"]; 44 { 45 rank="same"; 46 lib_spacer [ style=invis width=4 ]; 47 lib2_kotlin_stubs [ label="library\nkotlin stubs" ]; 48 } 49 { 50 rank="same"; 51 lib2_apt_src_jar [ label="library annotation\nprocessor sources" ]; 52 } 53 { 54 rank="same"; 55 lib2_kotlin_classes [ label="library kotlin\n.class files" ]; 56 lib2_kotlin_headers [ label="library kotlin\nheader .class files" ]; 57 } 58 { 59 rank="same"; 60 lib2_java_classes [ label="library java\n.class files" ]; 61 lib2_java_headers [ label="library java\nheader .class files" ]; 62 } 63 { 64 rank="same"; 65 lib2_combined_classes [ label="combined library\n.class files" ]; 66 lib2_combined_headers [ label="combined library\nheader .class files" ]; 67 } 68 69 node [ group="app"]; 70 { 71 rank="same"; 72 lib2_spacer [ style=invis width=4 ]; 73 app_kotlin_stubs [ label="app\nkotlin stubs" ]; 74 } 75 { 76 rank="same"; 77 app_apt_src_jar [ label="app annotation\nprocessor sources" ]; 78 } 79 { 80 rank="same"; 81 app_kotlin_classes [ label="app kotlin\n.class files" ]; 82 app_kotlin_headers [ label="app kotlin\nheader .class files" ] } 83 { 84 rank="same"; 85 app_java_classes [ label="app java\n.class files" ]; 86 } 87 { 88 rank="same"; 89 app_combined_classes [ label="combined app and library\n.class files" ]; 90 } 91 { 92 rank="same"; 93 app_dex [ label="app classes.dex files" ]; 94 } 95 96 97 node [ shape="rect" style="" color="black" ]; 98 node [ group="lib"]; 99 { 100 rank="same"; 101 lib_kapt_action [ label="kapt" ]; 102 } 103 { 104 rank="same"; 105 lib_turbine_apt_action [ label="turbine apt" ]; 106 } 107 { 108 rank="same"; 109 lib_kotlinc_action [ label="kotlinc" ]; 110 } 111 { 112 rank="same"; 113 lib_turbine_action [ label="turbine" ]; 114 lib_javac_action [ label="javac" ]; 115 } 116 { 117 rank="same"; 118 lib_combine_action [ label="merge_zips" ]; 119 lib_combine_headers_action [ label="merge_zips" ]; 120 } 121 122 node [ group="lib2"]; 123 { 124 rank="same"; 125 lib2_kapt_action [ label="kapt" ]; 126 } 127 { 128 rank="same"; 129 lib2_turbine_apt_action [ label="turbine apt" ]; 130 } 131 { 132 rank="same"; 133 lib2_kotlinc_action [ label="kotlinc" ]; 134 } 135 { 136 rank="same"; 137 lib2_turbine_action [ label="turbine" ]; 138 lib2_javac_action [ label="javac" ]; 139 } 140 { 141 rank="same"; 142 lib2_combine_action [ label="merge_zips" ]; 143 lib2_combine_headers_action [ label="merge_zips" ]; 144 } 145 146 node [ group="app"]; 147 { 148 rank="same"; 149 app_kapt_action [ label="kapt" ]; 150 } 151 { 152 rank="same"; 153 app_turbine_apt_action [ label="turbine apt" ]; 154 } 155 { 156 rank="same"; 157 app_kotlinc_action [ label="kotlinc" ]; 158 } 159 { 160 rank="same"; 161 app_javac_action [ label="javac" ]; 162 } 163 { 164 rank="same"; 165 app_combine_action [ label="merge_zips" ]; 166 } 167 { 168 rank="same"; 169 app_r8_action [ label="r8" ]; 170 } 171 172 // library 173 174 lib_kotlin_sources -> lib_kapt_action [ weight=0 ]; 175 lib_java_sources -> lib_kapt_action; 176 lib_kapt_action -> lib_kotlin_stubs [ weight=100 ]; 177 178 lib_kotlin_stubs -> lib_turbine_apt_action [ weight=100 ]; 179 lib_turbine_apt_action -> lib_apt_src_jar [ weight=100 ]; 180 181 lib_apt_src_jar -> lib_kotlinc_action [ weight=0 ]; 182 lib_kotlin_sources -> lib_kotlinc_action [ weight=100 ]; 183 lib_java_sources -> lib_kotlinc_action; 184 lib_kotlinc_action -> lib_kotlin_classes, lib_kotlin_headers [ weight=100 ]; 185 186 lib_apt_src_jar -> lib_turbine_action [ weight=0 ]; 187 lib_kotlin_headers -> lib_turbine_action [ weight=0 ]; 188 lib_java_sources -> lib_turbine_action [ weight=100 ]; 189 lib_turbine_action -> lib_java_headers [ weight=100 ]; 190 191 lib_apt_src_jar -> lib_javac_action [ weight=0 ]; 192 lib_kotlin_headers -> lib_javac_action [ weight=0 ]; 193 lib_java_sources -> lib_javac_action [ weight=1000 ]; 194 lib_javac_action -> lib_java_classes [ weight=100 ]; 195 196 lib_kotlin_classes -> lib_combine_action [ weight = 0 ]; 197 lib_java_classes -> lib_combine_action [ weight = 100 ]; 198 lib_combine_action -> lib_combined_classes [ weight=100 ]; 199 200 lib_kotlin_headers -> lib_combine_headers_action [ weight = 0 ]; 201 lib_java_headers -> lib_combine_headers_action [ weight = 100 ]; 202 lib_combine_headers_action -> lib_combined_headers [ weight=100 ]; 203 204 lib_combined_headers -> lib_spacer [ style=invis ]; 205 206 // library 2 207 208 lib_combined_headers -> lib2_kapt_action [ weight=0 ]; 209 lib2_kotlin_sources -> lib2_kapt_action [ weight=0 ]; 210 lib2_java_sources -> lib2_kapt_action; 211 lib2_kapt_action -> lib2_kotlin_stubs [ weight=100 ]; 212 213 lib_combined_headers -> lib2_turbine_apt_action [ weight=0 ]; 214 lib2_kotlin_stubs -> lib2_turbine_apt_action [ weight=100 ]; 215 lib2_turbine_apt_action -> lib2_apt_src_jar [ weight=100 ]; 216 217 lib_combined_headers -> lib2_kotlinc_action [ weight=0 ]; 218 lib2_apt_src_jar -> lib2_kotlinc_action [ weight=0 ]; 219 lib2_kotlin_sources -> lib2_kotlinc_action [ weight=100 ]; 220 lib2_java_sources -> lib2_kotlinc_action; 221 lib2_kotlinc_action -> lib2_kotlin_classes, lib2_kotlin_headers [ weight=100 ]; 222 223 lib_combined_headers -> lib2_turbine_action [ weight=0 ]; 224 lib2_apt_src_jar -> lib2_turbine_action [ weight=0 ]; 225 lib2_kotlin_headers -> lib2_turbine_action [ weight=0 ]; 226 lib2_java_sources -> lib2_turbine_action [ weight=100 ]; 227 lib2_turbine_action -> lib2_java_headers [ weight=100 ]; 228 229 lib_combined_headers -> lib2_javac_action [ weight=0 ]; 230 lib2_apt_src_jar -> lib2_javac_action [ weight=0 ]; 231 lib2_kotlin_headers -> lib2_javac_action [ weight=0 ]; 232 lib2_java_sources -> lib2_javac_action [ weight=1000 ]; 233 lib2_javac_action ->lib2_java_classes [ weight=100 ]; 234 235 lib_combined_classes -> lib2_combine_action [ weight=0 ]; 236 lib2_kotlin_classes -> lib2_combine_action [ weight=0 ]; 237 lib2_java_classes -> lib2_combine_action [ weight=100 ]; 238 lib2_combine_action -> lib2_combined_classes [ weight=100 ]; 239 240 lib_combined_headers -> lib2_combine_headers_action [ weight=0 ]; 241 lib2_kotlin_headers -> lib2_combine_headers_action [ weight=0 ]; 242 lib2_java_headers -> lib2_combine_headers_action [ weight=100 ]; 243 lib2_combine_headers_action -> lib2_combined_headers [ weight=100 ]; 244 245 lib2_combined_headers -> lib2_spacer [ style=invis ]; 246 247 // app 248 249 lib2_combined_headers -> app_kapt_action [ weight=0 ]; 250 app_kotlin_sources -> app_kapt_action [ weight=0 ]; 251 app_java_sources -> app_kapt_action; 252 app_kapt_action -> app_kotlin_stubs [ weight=100 ]; 253 254 lib2_combined_headers -> app_turbine_apt_action [ weight=0 ]; 255 app_kotlin_stubs -> app_turbine_apt_action [ weight=100 ]; 256 app_turbine_apt_action -> app_apt_src_jar [ weight=100 ]; 257 258 lib2_combined_headers -> app_kotlinc_action [ weight=0 ]; 259 app_apt_src_jar -> app_kotlinc_action [ weight=0 ]; 260 app_kotlin_sources -> app_kotlinc_action [ weight=100 ]; 261 app_java_sources -> app_kotlinc_action; 262 app_kotlinc_action -> app_kotlin_headers, app_kotlin_classes [ weight=100 ]; 263 264 lib2_combined_headers -> app_javac_action [ weight=0 ]; 265 app_apt_src_jar -> app_javac_action [ weight=0 ]; 266 app_kotlin_headers -> app_javac_action [ weight=0 ]; 267 app_java_sources -> app_javac_action [ weight=1000 ]; 268 app_javac_action -> app_java_classes [ weight=100 ]; 269 270 lib2_combined_classes -> app_combine_action [ weight=0 ]; 271 app_kotlin_classes -> app_combine_action [ weight=0 ]; 272 app_java_classes -> app_combine_action [ weight=100 ]; 273 app_combine_action -> app_combined_classes [ weight=100 ]; 274 275 app_combined_classes -> app_r8_action; 276 app_r8_action -> app_dex [ weight=100 ]; 277} 278