Bazel エコシステムでは、一般的な言語とパッケージをサポートするためのルールセットが拡大と進化を続けています。Bazel の強みの多くは、他のユーザーも使用できる新しいルールを定義できることにあります。
このページでは、推奨される Bazel ルール、ネイティブ Bazel ルール、非ネイティブ Bazel ルールについて説明します。
推奨されるルール
推奨されるルールは次のとおりです。
- Android
- ブースト
- C / C++
- Docker
- Go
- ハスケル
- Java
- JavaScript / NodeJS
- Kubernetes
- Maven の依存関係の管理
- Objective-C
- パッケージ ビルド
- プロトコル バッファ
- Python
- Scala
- シェル
- Webtesting(Webdriver)
リポジトリ Skylib には、新しいルールと新しいマクロを作成するときに役立つ追加の関数が含まれています。
上記のルールが確認され、推奨ルールの要件を満たしている。問題や機能リクエストについては、それぞれのルールセットの管理者に連絡してください。
その他の Bazel ルールについては、検索エンジンを使用するか、awesomebazel.com または GitHub で検索してください。
特定のプログラミング言語には適用されないネイティブ ルール
ネイティブ ルールは Bazel バイナリに付属しており、BUILD ファイルでも load
ステートメントのない状態でいつでも使用できます。
- その他のアクション
- 全般
- プラットフォーム
- Workspace
埋め込みの非ネイティブ ルール
Bazel には、Starlark で記述された追加のルールも埋め込まれています。これらは @bazel_tools
組み込み外部リポジトリから読み込むことができます。