متصفح بحث محلي أولاً لنظام macOS مبني على إصدار Brave مخصص يلتقط حركة مرور الشبكة والبصمات والسكربتات والأدلة وقت التشغيل لهندسة تطبيقات الويب عكسيًا.
شغّل make من جذر المستودع. يُعرّف ملف Makefile الجذري
الهدف الافتراضي ويتضمن هذه الملفات بالترتيب:
| الملف | المسؤولية |
|---|---|
config.mk | أعلام المترجم، أدلة البناء، قوائم المصادر لأداة lint، الإعدادات الافتراضية للمنصة |
native.mk | تبعيات الربط الأصلية الصريحة، الترجمة، تبعيات الرؤوس المولّدة |
workflows.mk | إطلاق المنتج، تجهيزات الأدلة، الخدمات المحلية، أوامر تكامل Brave |
quality.mk | فحص انحدار البناء، أدوات lint، أدوات sanitizers، التنظيف |
تظل أسماء الأوامر الحالية ومسارات الملفات التنفيذية هي الواجهة العامة.
تعكس كائنات التنفيذ مسارات المصادر داخل BUILD_DIR؛ وتتتبع ملفات .d
المولّدة بواسطة المترجم الرؤوس المباشرة والانتقالية للمشروع. لا يضيف zlib إلى
أمر الربط سوى الملف التنفيذي لفك الترميز. يُترجم make native-probe-compile
قائمة انتظار المتصفح المتتبعة دون مصدر اختبار منفصل.
يثبّت make bootstrap-dev-tools نفس إصدارات clang-format وRuff المثبّتة
المستخدمة في CI داخل ~/.local/share/reb-tools، ويثبّت صيغ shellcheck
وactionlint المفقودة باستخدام Homebrew. تفضّل Make تلك الأدوات المحلية
المثبّتة تلقائيًا. يبني make deob-benchmark عامل Rust ويشغّل مجموعة الاختبار
الدلالية المحدودة مع أدلة التوقيت والذاكرة والتحويل وتغطية المصادر المتغيرة.
يفحص make lint التنسيق وتحذيرات Clippy لكلا ملفي manifest الخاصين بـ Rust.
يتضمن عامل إزالة التعتيم جميع الأهداف بحيث يُفحص كود اختبار الانحدار الخاص به
إلى جانب الملف التنفيذي الإنتاجي.
استخدم دليل بناء منفصل لمترجم مختلف أو مجموعة أعلام مختلفة:
make BUILD_DIR=build/debug OPT_CXXFLAGS='-O0 -g' all
لا تكتشف Make التغييرات في قيم أعلام سطر الأوامر داخل دليل بناء موجود.
تؤدي التغييرات في القواعد الأصلية أو ملفات إعداد المترجم إلى إبطال الكائنات
الأصلية. يستخدم make sanitize دليل بناء نظيفًا خاصًا به.
يشغّل make native-build-test السكربت scripts/check-native-build.sh، الذي
يبني ويشغّل ملفين تنفيذيين مستقلين في دليل مؤقت، ويتحقق من أن إعادة البناء لا
تقوم بأي عمل، ويتحقق من أن تغيير رأس أحد المخرجات يبطل مستهلكه دون إعادة بناء
عرض الحدث التجريبي. يتضمن make check فحص الانحدار هذا، ومعيار إزالة التعتيم
الدلالي، ومجموعات اختبار Rust الخاصة بالخادم الخلفي وعامل إزالة التعتيم. كما
يشغّل اختبار تكامل HTTP/CLI الخاص بحقائق المصدر مقابل عامل Rust/Oxc المبني؛
ويُحترم CARGO_TARGET_DIR عند تحديد موقع تلك الأداة المساعدة.
يترجم make native-proxy-policy-check ويشغّل مجموعة سياسة الوكيل/الحاوية
الأصلية الخاصة بالتحضير فقط دون Chromium أو Cargo أو sockets أو متصفح.
وهي مضمنة في make check وmake sanitize؛ ولا تُنشئ توجيهًا أو عزلاً حقيقيًا
للمتصفح. راجع عقد الوكيل-الحاوية الأصلي المُصدَّر بإصدار.
يبني origin-trace-backend خدمة Rust HTTP، ومحلل VM، وواجهة سطر أوامر API.
يشغّل ui تلك الخدمة بعد توليد الأدلة الحتمية. تُجمّع عمليات بناء التطبيق
الملفات التنفيذية لـ Rust وأصول واجهة المستخدم الثابتة، دون أي اعتماد على وقت
تشغيل Python.
يشغّل make check أيضًا native-only-check (واجهة المستخدم المُصدَّرة في
نموذج LinkeDOM، وغياب عناصر التحكم المحذوفة، ورفض سكربت الإطلاق لخيارات CDP
المتقاعدة؛ ويثبّت ملف القفل tools/ui-startup-deps المثبّت عند أول استخدام)
ويشغّل كل اختبار تكامل Rust متجاهل بالاسم الدقيق، ويفشل ما لم ينجح اختبار واحد
بالضبط. يفحص make quickjs-binding-check وحدة QuickJS العامة المثبّتة.
make rendered-ui-check هو قبول واجهة المستخدم المُصيَّرة على macOS للتطبيق
المحزّم؛ ويتطلب Xcode كاملاً من أجل XCTest.