Commit 37b6f0b
authored
mix xref graph - add json support and related changes (#14327)
This patch adds support for output the xref graph as a two level Map of
Maps which can be trivially loaded by anything that can process JSON
data. The top level Map contains keys which specify source files whose
values are maps contain sink files as keys, and dependency type data as
values. Source files with no dependencies have empty maps as values. For
example a if "lib/foo.ex" has a compile time dependency on "lib/bar.ex"
which had no dependencies at all, then the output would look like this:
{
"lib/foo.ex": { "lib/bar.ex": "compile" },
"lib/bar.ex": {},
}
At the same time it adds support for renaming existing xref_graph.dot
and xref_graph.json files to have a .bak extension instead of
overwriting them.
This patch also includes logic to fix some misleading verbiage output by
the 'dot' format when the output file is not in the current working
directory. This change is included with the JSON changes because I
refactored the logic for writing to a file so that both the 'json' and
'dot' formats would use the same code.
Closes #14324.1 parent 5998c0e commit 37b6f0b
File tree
4 files changed
+280
-20
lines changed- lib/mix
- lib/mix
- tasks
- test/mix
- tasks
4 files changed
+280
-20
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
252 | 252 | | |
253 | 253 | | |
254 | 254 | | |
255 | | - | |
256 | | - | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
257 | 258 | | |
258 | | - | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
259 | 272 | | |
260 | 273 | | |
261 | 274 | | |
262 | 275 | | |
263 | 276 | | |
264 | | - | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
265 | 280 | | |
266 | 281 | | |
267 | 282 | | |
| |||
949 | 964 | | |
950 | 965 | | |
951 | 966 | | |
952 | | - | |
953 | | - | |
954 | | - | |
| 967 | + | |
| 968 | + | |
| 969 | + | |
| 970 | + | |
| 971 | + | |
| 972 | + | |
| 973 | + | |
| 974 | + | |
955 | 975 | | |
956 | | - | |
957 | | - | |
| 976 | + | |
| 977 | + | |
958 | 978 | | |
959 | 979 | | |
960 | | - | |
| 980 | + | |
961 | 981 | | |
962 | | - | |
| 982 | + | |
963 | 983 | | |
964 | 984 | | |
965 | 985 | | |
| |||
976 | 996 | | |
977 | 997 | | |
978 | 998 | | |
| 999 | + | |
| 1000 | + | |
| 1001 | + | |
| 1002 | + | |
| 1003 | + | |
| 1004 | + | |
| 1005 | + | |
| 1006 | + | |
| 1007 | + | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
979 | 1012 | | |
980 | 1013 | | |
981 | 1014 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
5 | 8 | | |
6 | 9 | | |
7 | 10 | | |
| |||
261 | 264 | | |
262 | 265 | | |
263 | 266 | | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
264 | 336 | | |
265 | 337 | | |
266 | 338 | | |
| |||
333 | 405 | | |
334 | 406 | | |
335 | 407 | | |
336 | | - | |
| 408 | + | |
| 409 | + | |
337 | 410 | | |
338 | 411 | | |
339 | 412 | | |
340 | 413 | | |
341 | 414 | | |
342 | 415 | | |
343 | 416 | | |
344 | | - | |
| 417 | + | |
345 | 418 | | |
346 | | - | |
| 419 | + | |
347 | 420 | | |
348 | 421 | | |
349 | | - | |
350 | | - | |
351 | | - | |
352 | | - | |
353 | | - | |
354 | | - | |
| 422 | + | |
355 | 423 | | |
356 | 424 | | |
357 | 425 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
863 | 863 | | |
864 | 864 | | |
865 | 865 | | |
| 866 | + | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
866 | 874 | | |
867 | 875 | | |
868 | 876 | | |
| |||
891 | 899 | | |
892 | 900 | | |
893 | 901 | | |
| 902 | + | |
| 903 | + | |
| 904 | + | |
| 905 | + | |
| 906 | + | |
| 907 | + | |
| 908 | + | |
| 909 | + | |
894 | 910 | | |
895 | 911 | | |
896 | 912 | | |
| |||
933 | 949 | | |
934 | 950 | | |
935 | 951 | | |
| 952 | + | |
| 953 | + | |
| 954 | + | |
| 955 | + | |
| 956 | + | |
| 957 | + | |
| 958 | + | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
936 | 962 | | |
937 | 963 | | |
938 | 964 | | |
| |||
984 | 1010 | | |
985 | 1011 | | |
986 | 1012 | | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
| 1018 | + | |
| 1019 | + | |
| 1020 | + | |
987 | 1021 | | |
988 | 1022 | | |
989 | 1023 | | |
| |||
1127 | 1161 | | |
1128 | 1162 | | |
1129 | 1163 | | |
| 1164 | + | |
| 1165 | + | |
| 1166 | + | |
| 1167 | + | |
| 1168 | + | |
| 1169 | + | |
| 1170 | + | |
| 1171 | + | |
| 1172 | + | |
| 1173 | + | |
| 1174 | + | |
| 1175 | + | |
| 1176 | + | |
| 1177 | + | |
| 1178 | + | |
| 1179 | + | |
| 1180 | + | |
| 1181 | + | |
| 1182 | + | |
| 1183 | + | |
| 1184 | + | |
| 1185 | + | |
| 1186 | + | |
| 1187 | + | |
| 1188 | + | |
| 1189 | + | |
| 1190 | + | |
| 1191 | + | |
| 1192 | + | |
| 1193 | + | |
| 1194 | + | |
| 1195 | + | |
| 1196 | + | |
| 1197 | + | |
| 1198 | + | |
| 1199 | + | |
| 1200 | + | |
| 1201 | + | |
1130 | 1202 | | |
1131 | 1203 | | |
1132 | 1204 | | |
| |||
1160 | 1232 | | |
1161 | 1233 | | |
1162 | 1234 | | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + | |
| 1247 | + | |
| 1248 | + | |
| 1249 | + | |
| 1250 | + | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
| 1258 | + | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
1163 | 1272 | | |
1164 | 1273 | | |
1165 | 1274 | | |
| |||
0 commit comments