Başarılı bir derlemede, tüm bağımlılıklar BUILD
dosyasında açıkça belirtilir. Bazel, projenin bağımlılık grafiğini oluşturmak için bu ifadeleri kullanır. Bu sayede doğru artımlı derlemeler yapılabilir.
Örnek projenin bağımlılıklarını görselleştirmek için çalışma alanı kökünde şu komutu çalıştırarak bağımlılık grafiğinin metin temsilini oluşturabilirsiniz:
bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
--output graph
Yukarıdaki komut, Bazel'e hedef //main:hello-world
için tüm bağımlılıkları (ana makine ve gizli bağımlılıklar hariç) aramasını ve çıkışı grafik olarak biçimlendirmesini söyler.
Ardından metni GraphViz'e yapıştırın.
Ubuntu'da, GraphViz'i ve xdot Dot Viewer'ı yükleyerek grafiği yerel olarak görüntüleyebilirsiniz:
sudo apt update && sudo apt install graphviz xdot
Ardından, yukarıdaki metin çıkışını doğrudan xdot'a yerleştirerek grafiği oluşturabilir ve görüntüleyebilirsiniz:
xdot <(bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
--output graph)
Gördüğünüz gibi örnek projenin ilk aşamasında ek bağımlılıklar olmadan tek bir kaynak dosya oluşturan tek bir hedef vardır:
Şekil 1. hello-world
için bağımlılık grafiği, tek bir kaynak dosyaya sahip tek bir hedef gösterir.
Çalışma alanınızı oluşturduktan, projenizi derledikten ve bağımlılıklarını inceledikten sonra, biraz karmaşıklık ekleyebilirsiniz.