██████╗ ██╗ █████╗ ██████╗ ███████╗
██╔══██╗██║ ██╔══██╗██╔══██╗██╔════╝
██████╔╝██║ ███████║██║ ██║█████╗
██╔══██╗██║ ██╔══██║██║ ██║██╔══╝
██████╔╝███████╗██║ ██║██████╔╝███████╗
╚═════╝ ╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝
Englisch | 简体中文
Ein benutzerfreundliches, schnelles und modernes Build-System für die Trunk-basierte Entwicklung in einer großen Monorepo-Codebasis.
Sehen wir uns zunächst eine coole Demo an:
Der Code im Master-Zweig ist eine Entwicklungsversion und sollte als Alpha-Version betrachtet werden. Bitte verwenden Sie lieber die Version der Tags in Ihrer formalen Umgebung. Wir werden von Zeit zu Zeit die verifizierte Version auf der umfangreichen internen Codebasis des Tags veröffentlichen.
Version 2.0 ist im Release Candidate! Es enthält die folgenden bemerkenswerten Änderungen:
Bitte befolgen Sie die Upgrade-Hinweise, um ein Upgrade durchzuführen.
Blade ist als modernes Build-System konzipiert. Es ist leistungsstark und einfach zu bedienen. Es unterstützt die Erstellung mehrerer Sprachen wie C/C++, Java, Python, Scala, Protobuf usw. Es analysiert die Zielabhängigkeit automatisch und integriert Kompilieren, Verknüpfen, Testen (einschließlich inkrementeller Tests und paralleler Tests) und statische Codeprüfung. Ziel ist es, die Klarheit und Einfachheit der Bauvorschriften für ein Projekt zu verbessern.
Mit Blade können Sie mehrere Ziele kompilieren, verknüpfen und testen, indem Sie einfach eine einfache Befehlszeile eingeben. Zum Beispiel:
Erstellen und testen Sie alle Ziele im gemeinsamen Verzeichnis rekursiv.
blade test common...
Erstellen und testen Sie Ziele als 32-Bit
blade test -m32 common...
Erstellen und testen Sie Ziele im Debug-Modus
blade test -pdebug common...
Und Sie können die Flaggen miteinander kombinieren:
blade test -m32 -pdebug common...
Blade ist von den öffentlichen Informationen von Google über sein Build-System inspiriert. Hier ist ein Referenzartikel aus dem offiziellen Blog von Google: Build in Cloud: So funktioniert das Build-System.
Später im Jahr 2015 veröffentlichten sie es teilweise umgeschrieben als bazel
Open-Source-Build-System.
Blade generiert das Ninja-Skript intern, es hängt also natürlich vom Ninja ab.
Python ist eine leistungsstarke und benutzerfreundliche Sprache, wir mögen Python.
Einige von Google bereitgestellte Open-Source-Bibliotheken wie Protobuf,
gtest,
gperftools sind praktisch und leistungsstark, wir haben diese Bibliotheken integriert.