Build yang berhasil memiliki semua dependensinya yang dinyatakan secara eksplisit dalam file BUILD
. Bazel menggunakan pernyataan tersebut untuk membuat grafik dependensi project,
yang memungkinkan build inkremental yang akurat.
Untuk memvisualisasikan dependensi project contoh, Anda dapat membuat representasi teks grafik dependensi dengan menjalankan perintah ini di root ruang kerja:
bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
--output graph
Perintah di atas memberi tahu Bazel untuk mencari semua dependensi untuk target
//main:hello-world
(tidak termasuk dependensi host dan implisit) dan memformat
output sebagai grafik.
Kemudian, tempelkan teks ke GraphViz.
Di Ubuntu, Anda dapat melihat grafik secara lokal dengan menginstal GraphViz dan xdot Dot Viewer:
sudo apt update && sudo apt install graphviz xdot
Kemudian, Anda dapat membuat dan melihat grafik dengan menyalurkan output teks di atas langsung ke xdot:
xdot <(bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
--output graph)
Seperti yang dapat Anda lihat, tahap pertama project contoh memiliki satu target yang mem-build satu file sumber tanpa dependensi tambahan:
Gambar 1. Grafik dependensi untuk hello-world
menampilkan satu target dengan satu
file sumber.
Setelah menyiapkan ruang kerja, membangun project, dan memeriksa dependensinya, Anda dapat menambahkan beberapa kompleksitas.