Bazel エコシステムには、一般的な言語とパッケージをサポートするルールがますます増え、進化しています。Bazel の強みの多くは、他のユーザーが使用できる新しいルールを定義できることにあります。
このページでは、推奨される Bazel ルール、ネイティブの Bazel ルール、ネイティブ以外の Bazel ルールについて説明します。
推奨ルール
おすすめのルールをいくつか紹介します。
- Android
- C / C++
- Docker/OCI
- Go
- Haskell
- Java
- JavaScript / NodeJS
- Maven 依存関係の管理
- Objective-C
- パッケージのビルド
- Protocol Buffers
- Python
- Rust
- Scala
- Shell
- Webtesting(Webdriver)
リポジトリ Skylib には、新しいルールと新しいマクロを記述する際に役立つ追加の関数が含まれています。
上記のルールは審査済みであり、おすすめのルールの要件に準拠しています。問題や機能リクエストについては、それぞれのルールセットのメンテナーにお問い合わせください。
その他の Bazel ルールを見つけるには、検索エンジンを使用するか、awesomebazel.com を確認するか、GitHub で検索します。
特定のプログラミング言語に適用されないネイティブ ルール
ネイティブ ルールは Bazel バイナリに同梱されており、load
ステートメントなしで BUILD ファイルで常に使用できます。
- その他の操作
- 全般
- プラットフォーム
- Workspace
埋め込みのネイティブ以外のルール
Bazel には、Starlark で記述された追加のルールも埋め込まれています。これらは @bazel_tools
組み込みの外部リポジトリから読み込むことができます。