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