MODULE.bazel ファイル

問題を報告する

MODULE.bazel ファイルで利用可能なメソッド。

メンバー

archive_override

None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)

この依存関係を、レジストリではなく、特定の場所のアーカイブ ファイル(zip、gzip など)から取得するよう指定します。このディレクティブはルート モジュールでのみ有効になります。つまり、あるモジュールが他のモジュールの依存関係として使用されている場合、そのモジュールのオーバーライドは無視されます。

パラメータ

パラメータ 説明
module_name required
このオーバーライドを適用する Bazel モジュール依存関係の名前。
urls string、または string の反復可能。必須
アーカイブの URL。http(s):// または file:// URL です。
integrity デフォルトは '' です。
アーカイブ ファイルの想定されるチェックサム(サブリソースの整合性形式)。
strip_prefix デフォルトは '' です。
抽出されたファイルから削除するディレクトリ接頭辞。
patches string の反復処理が可能。 デフォルトは []
このモジュールに適用するパッチファイルを指すラベルのリスト。パッチファイルは、最上位プロジェクトのソースツリーに配置する必要があります。これらはリストの順序で適用されます。
patch_cmds string の反復処理可能。デフォルトは []
パッチ適用後に Linux/Macos に適用される Bash コマンドのシーケンス。
patch_strip デフォルトは 0 です。
Unix パッチの --strip 引数と同じです。

bazel_dep

None bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)

別の Bazel モジュールへの直接的な依存関係を宣言します。

パラメータ

パラメータ 説明
name required
直接的な依存関係として追加するモジュールの名前。
version デフォルトは '' です。
直接依存関係として追加するモジュールのバージョン。
max_compatibility_level デフォルトは -1 です。
モジュールを直接依存関係として追加する際にサポートされる最大 compatibility_level 数。モジュールのバージョンは、サポートされている最小の compatibility_level を暗黙的に示し、この属性が指定されていない場合は最大値を示します。
repo_name デフォルトは '' です。
この依存関係を表す外部リポジトリの名前。これがデフォルトでモジュールの名前です。
dev_dependency デフォルトは False です。
true の場合、現在のモジュールがルート モジュールでない場合、または「--ignore_dev_dependency」が有効になっている場合、この依存関係は無視されます。

git_override

None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)

Git リポジトリの特定の commit から依存関係を取得することを指定します。このディレクティブはルート モジュールでのみ有効になります。つまり、あるモジュールが他のモジュールの依存関係として使用されている場合、そのモジュールのオーバーライドは無視されます。

パラメータ

パラメータ 説明
module_name required
このオーバーライドを適用する Bazel モジュール依存関係の名前。
remote required
リモート Git リポジトリの URL。
commit デフォルトは '' です。
チェックアウトする必要がある commit。
patches string の反復処理が可能。 デフォルトは []
このモジュールに適用するパッチファイルを指すラベルのリスト。パッチファイルは、最上位プロジェクトのソースツリーに配置する必要があります。これらはリストの順序で適用されます。
patch_cmds string の反復処理可能。デフォルトは []
パッチ適用後に Linux/Macos に適用される Bash コマンドのシーケンス。
patch_strip デフォルトは 0 です。
Unix パッチの --strip 引数と同じです。

local_path_override

None local_path_override(module_name, path)

ローカル ディスク上の特定のディレクトリから依存関係を取得するよう指定します。このディレクティブはルート モジュールでのみ有効になります。つまり、あるモジュールが他のモジュールの依存関係として使用されている場合、そのモジュールのオーバーライドは無視されます。

パラメータ

パラメータ 説明
module_name required
このオーバーライドを適用する Bazel モジュール依存関係の名前。
path required
このモジュールが存在するディレクトリへのパス。

モジュール

None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])

現在の Bazel リポジトリで表される Bazel モジュールの特定のプロパティを宣言します。これらのプロパティは、モジュールの重要なメタデータ(名前やバージョンなど)であるか、現在のモジュールとその依存関係の動作に影響を与えます。

最大 1 回呼び出す必要があります。このモジュールがルート モジュールである場合にのみ、省略できます(別のモジュールに依存しない場合など)。

パラメータ

パラメータ 説明
name デフォルトは '' です。
モジュールの名前。このモジュールがルート モジュールである場合にのみ省略できます(別のモジュールに依存しない場合は、のように省略できます)。有効なモジュール名は、1)小文字(a ~ z)、数字(0 ~ 9)、ドット(.)、ハイフン(-)、アンダースコア(_)のみを使用し、2)先頭は小文字、3)末尾は小文字または数字にする必要があります。
version デフォルトは '' です。
モジュールのバージョン。このモジュールがルート モジュールである場合にのみ省略できます(別のモジュールに依存しない場合は、のように省略できます)。バージョンは、リラックスした SemVer 形式にする必要があります。詳しくは、ドキュメントをご覧ください。
compatibility_level デフォルトは 0 です。
モジュールの互換性レベル。これは、互換性のない大きな変更が導入されるたびに変更する必要があります。これは、SemVer の観点から見ると、基本的にモジュールの「メジャー バージョン」です。ただし、バージョン文字列自体には埋め込まれず、別のフィールドとして存在します。互換性レベルが異なるモジュールは、あたかも名前が異なるモジュールであるかのようにバージョン解決に参加しますが、最終的な依存関係グラフに、名前が同じで互換性レベルが異なるモジュールを複数含めることはできません(multiple_version_override が有効になっている場合を除く)。詳しくは、こちらのドキュメントをご覧ください。
repo_name デフォルトは '' です。
モジュール自体に表示される、このモジュールを表すリポジトリの名前。デフォルトでは、リポジトリの名前はモジュールの名前です。これは、モジュール名とは異なるリポジトリ名を使用しているプロジェクトの移行を容易にするために指定できます。
bazel_compatibility 反復可能な文字列。デフォルトは []
ユーザーがこのモジュールと互換性のある Bazel バージョンを宣言できる bazel バージョンのリスト。依存関係の解決には影響しませんが、bzlmod はこの情報を使用して、現在の Bazel バージョンが互換性があるかどうかを確認します。この値の形式は、いくつかの制約値をカンマで区切った文字列です。サポートされている 3 つの制約: <=X.X.X: Bazel のバージョンは X.X.X より前である必要があります。新しいバージョンに互換性のない既知の変更がある場合に使用します。>=X.X.X: Bazel のバージョンは X.X.X 以降でなければなりません。X.X.X 以降にしか使用できない機能に依存している場合は、こちらを使用します。-X.X.X: Bazel バージョン X.X.X には互換性がありません。X.X.X に互換性を破るバグがあるが、後のバージョンで修正される場合に使用します。

multiple_version_override

None multiple_version_override(module_name, versions, registry='')

依存関係をレジストリから取得するが、その複数のバージョンの共存を許可することを指定します。詳しくは、こちらのドキュメントをご覧ください。このディレクティブはルート モジュールでのみ有効になります。つまり、あるモジュールが他のモジュールの依存関係として使用されている場合、そのモジュールのオーバーライドは無視されます。

パラメータ

パラメータ 説明
module_name required
このオーバーライドを適用する Bazel モジュール依存関係の名前。
versions 文字列の反復処理が可能。 必須
共存を許可するバージョンを明示的に指定します。これらのバージョンは、依存関係グラフの事前選択にすでに存在している必要があります。このモジュールへの依存関係は、同じ互換性レベルで、最も近い上位の許可されたバージョンに「アップグレード」されます。一方、同じ互換性レベルで許可されたバージョンよりも高いバージョンの依存関係は、エラーが発生します。
registry デフォルトは '' です。
このモジュールのレジストリをオーバーライドします。レジストリのデフォルトのリストからこのモジュールを見つける代わりに、指定されたレジストリを使用する必要があります。

register_execution_platforms

None register_execution_platforms(dev_dependency=False, *platform_labels)

このモジュールの選択時に登録する、定義済みの実行プラットフォームを指定します。絶対ターゲット パターン(@ または // で始まる)にする必要があります。詳しくは、ツールチェーンの解決をご覧ください。

パラメータ

パラメータ 説明
dev_dependency デフォルトは False です。
true の場合、現在のモジュールがルート モジュールでない場合、または「--ignore_dev_dependency」が有効になっている場合、実行プラットフォームは登録されません。
platform_labels 文字列シーケンス。必須
登録するプラットフォームのラベル。

register_toolchains

None register_toolchains(dev_dependency=False, *toolchain_labels)

このモジュールの選択時に登録する定義済みのツールチェーンを指定します。絶対ターゲット パターン(@ または // で始まる)にする必要があります。詳しくは、ツールチェーンの解決をご覧ください。

パラメータ

パラメータ 説明
dev_dependency デフォルトは False です。
true の場合、現在のモジュールがルート モジュールでない場合、または「--ignore_dev_dependency」が有効になっている場合、ツールチェーンは登録されません。
toolchain_labels stringシーケンス。 必須
登録するツールチェーンのラベル。ラベルには :all を含めることができます。その場合、パッケージ内のすべてのツールチェーン提供のターゲットは名前の辞書順で登録されます。

single_version_override

None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)

依存関係をレジストリから取得する必要があるが、そのバージョンの固定、レジストリのオーバーライド、適用済みのパッチのリストのいずれかを指定することを指定します。このディレクティブはルート モジュールでのみ有効になります。つまり、あるモジュールが他のモジュールの依存関係として使用されている場合、そのモジュールのオーバーライドは無視されます。

パラメータ

パラメータ 説明
module_name required
このオーバーライドを適用する Bazel モジュール依存関係の名前。
version デフォルトは '' です。
依存関係グラフでこのモジュールの宣言されたバージョンをオーバーライドします。つまり、このモジュールはこのオーバーライド バージョンに「固定」されます。レジストリまたはパッチのみをオーバーライドする場合は、この属性を省略できます。
registry デフォルトは '' です。
このモジュールのレジストリをオーバーライドします。レジストリのデフォルトのリストからこのモジュールを見つける代わりに、指定されたレジストリを使用する必要があります。
patches string の反復処理が可能。 デフォルトは []
このモジュールに適用するパッチファイルを指すラベルのリスト。パッチファイルは、最上位プロジェクトのソースツリーに配置する必要があります。これらはリストの順序で適用されます。
patch_cmds string の反復処理可能。デフォルトは []
パッチ適用後に Linux/Macos に適用される Bash コマンドのシーケンス。
patch_strip デフォルトは 0 です。
Unix パッチの --strip 引数と同じです。

use_extension

module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False, isolate=False)

モジュール拡張機能を表すプロキシ オブジェクトを返します。そのメソッドを呼び出して、モジュール拡張タグを作成できます。

パラメータ

パラメータ 説明
extension_bzl_file 必須
モジュール拡張子を定義する Starlark ファイルのラベル。
extension_name required
使用するモジュール拡張機能の名前。この名前のシンボルは、Starlark ファイルでエクスポートする必要があります。
dev_dependency デフォルトは False です。
true の場合、現在のモジュールがルート モジュールでない場合、または「--ignore_dev_dependency」が有効になっている場合、モジュール拡張機能の使用は無視されます。
isolate デフォルトは False です。
試験運用版。このパラメータは試験運用中であり、いつでも変更される可能性があります。頼りにしないでください。---experimental_isolated_extension_usages を設定することで、実験的に有効にすることができます。
true の場合、モジュール拡張機能のこの使用は、このモジュールと他のモジュールの両方の他のすべての使用から分離されます。この用途用に作成されたタグは、他の用途には影響しません。この用途用に拡張機能によって生成されるリポジトリは、拡張機能によって生成される他のすべてのリポジトリとは異なります。

このパラメータは現在試験運用版で、--experimental_isolated_extension_usages フラグでのみ使用できます。

use_repo

None use_repo(extension_proxy, *args, **kwargs)

指定されたモジュール拡張機能によって生成された 1 つ以上のリポジトリを現在のモジュールのスコープにインポートします。

パラメータ

パラメータ 説明
extension_proxy required
use_extension 呼び出しによって返されるモジュール拡張プロキシ オブジェクト。
args required
インポートするリポジトリの名前。
kwargs required
現在のモジュールのスコープにインポートする特定のリポジトリを、異なる名前で指定します。キーは現在のスコープで使用する名前にする必要がありますが、値はモジュール拡張機能によってエクスポートされた元の名前にする必要があります。

use_repo_rule

repo_rule_proxy use_repo_rule(repo_rule_bzl_file, repo_rule_name)

リポジトリ ルールとして MODULE.bazel ファイル内で 1 回以上直接呼び出せるプロキシ値を返します。この方法で作成されたリポジトリは、プロキシの name 属性を使用して宣言された名前で、現在のモジュールにのみ表示されます。暗黙的なブール値 dev_dependency 属性をプロキシで使用して、現在のモジュールがルート モジュールである場合にのみ特定のリポジトリが作成されることを示すこともできます。

パラメータ

パラメータ 説明
repo_rule_bzl_file 必須
リポジトリ ルールを定義する Starlark ファイルのラベル。
repo_rule_name 必須
使用するリポジトリ ルールの名前。この名前のシンボルは、Starlark ファイルでエクスポートする必要があります。