██████╗ ██╗ █████╗ ██████╗ ███████╗
██╔══██╗██║ ██╔══██╗██╔══██╗██╔════╝
██████╔╝██║ ███████║██║ ██║█████╗
██╔══██╗██║ ██╔══██║██║ ██║██╔══╝
██████╔╝███████╗██║ ██║██████╔╝███████╗
╚═════╝ ╚══════╝╚═╝ ╚═╝╚═════╝ ╚══════╝
英語 | 简体中文
大規模なモノリポコードベースでのトランクベースの開発のための、使いやすく、高速で最新のビルド システム。
まず、素晴らしいデモを見てみましょう。
master ブランチのコードは開発バージョンであり、アルファ バージョンとして考慮する必要があります。正式な環境では、タグのバージョンを使用することを優先してください。大規模な内部コードベースの検証済みバージョンをタグに随時リリースします。
バージョン 2.0 はリリース候補に含まれています。以下の注目すべき変更が含まれています。
アップグレードするには、アップグレードに関する注意事項に従ってください。
Blade は最新のビルド システムになるように設計されています。強力で使いやすいです。 C/C++、Java、Python、scala、protobuf などの複数の言語の構築をサポートします。ターゲットの依存関係を自動的に分析し、コンパイル、リンク、テスト (増分テストと並列テストを含む)、および静的コード検査を統合します。プロジェクトの建築ルールの明確さと単純さを改善することを目的としています。
Blade を使用すると、1 つの簡単なコマンド ラインを入力するだけで、複数のターゲットをコンパイル、リンク、テストできます。例えば:
共通ディレクトリ内のすべてのターゲットを再帰的にビルドしてテストします。
blade test common...
ターゲットを 32 ビットとしてビルドしてテストする
blade test -m32 common...
デバッグ モードとしてターゲットをビルドおよびテストする
blade test -pdebug common...
また、フラグを組み合わせることができます。
blade test -m32 -pdebug common...
Blade は、Google のビルド システムに関する公開情報からインスピレーションを得ています。 Google の公式ブログの参考記事は次のとおりです: build in cloud: how build system works。
2015 年後半に、部分的に書き直されてbazel
オープンソース ビルド システムとしてリリースされました。
Blade は内部で Ninja スクリプトを生成しているので、当然 Ninja に依存します。
Python は強力で使いやすい言語であり、私たちは Python が好きです。
Google がオープンソース化した一部のライブラリ (protobuf など)
テスト、
gperftools は便利で強力なので、これらのライブラリを統合しました。