Build yang berhasil memiliki semua dependensinya yang dinyatakan secara eksplisit dalam BUILD
. Bazel menggunakan pernyataan tersebut
untuk membuat grafik dependensi proyek,
yang memungkinkan build inkremental yang akurat.
Untuk memvisualisasikan dependensi project contoh, Anda bisa membuat teks grafik dependensi dengan menjalankan perintah ini di root workspace:
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 implisit dan host), lalu memformat
output sebagai grafik.
Kemudian, tempel teks ke GraphViz.
Di Ubuntu, Anda dapat melihat grafik secara lokal dengan menginstal GraphViz dan xdot Penampil Titik:
sudo apt update && sudo apt install graphviz xdot
Kemudian Anda dapat membuat dan melihat grafik dengan menyisipkan 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 dari contoh proyek memiliki satu target yang membangun satu file sumber tanpa dependensi tambahan:
Gambar 1. Grafik dependensi untuk hello-world
menampilkan satu target dengan satu
file sumbernya.
Setelah menyiapkan ruang kerja Anda, bangun project Anda, dan periksa dependensi, maka Anda dapat menambahkan beberapa kerumitan.