يتضمن التصميم الناجح جميع تبعياته المذكورة صراحةً في الملف BUILD
. تستخدم Bazel هذه العبارات لإنشاء الرسم البياني للاعتمادية على المشروع، الذي يسمح بإنشاء إصدارات تدريجية دقيقة.
لعرض تمثيل بصري لاعتماديات المشروع، يمكنك إنشاء تمثيل نصي للرسم البياني للاعتمادية من خلال تشغيل هذا الأمر في جذر مساحة العمل:
bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
--output graph
يخبر الأمر أعلاه Bazel بالبحث عن جميع التبعيات للهدف
//main:hello-world
(باستثناء الاعتمادات المضيفة والضمنية) وتنسيق الإخراج كرسم بياني.
بعد ذلك، الصق النص في GraphViz.
في نظام التشغيل Ubuntu، يمكنك عرض الرسم البياني محليًا عن طريق تثبيت GraphViz وعارض xdot Dot:
sudo apt update && sudo apt install graphviz xdot
ثم يمكنك إنشاء وعرض الرسم البياني من خلال تمرير نتائج النص أعلاه مباشرة إلى xdot:
xdot <(bazel query --notool_deps --noimplicit_deps "deps(//main:hello-world)" \
--output graph)
كما ترى، فإن المرحلة الأولى من مشروع المشروع لها هدف واحد يعمل على إنشاء ملف مصدر واحد بدون تبعيات إضافية:
الشكل 1. يعرض الرسم البياني للاعتماد على hello-world
هدفًا واحدًا مع ملف مصدر واحد.
بعد إعداد مساحة العمل، وإنشاء مشروعك وفحص تبعياته، يمكنك إضافة بعض التعقيدات.