MODULE.bazel ファイルで利用できるメソッド。
メンバー
- archive_override
- bazel_dep
- git_override
- 含める
- local_path_override
- モジュール
- multiple_version_override
- register_execution_platforms
- register_toolchains
- single_version_override
- use_extension
- use_repo
- use_repo_rule
archive_override
None
archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)
この依存関係が、レジストリではなく、特定の場所にあるアーカイブ ファイル(zip、gzip など)から取得されるように指定します。このディレクティブはルート モジュールでのみ有効になります。つまり、あるモジュールが他のユーザーによって依存関係として使用されている場合、そのモジュール自体のオーバーライドは無視されます。
パラメータ
パラメータ | 説明 |
---|---|
module_name
|
string;
必須 このオーバーライドを適用する Bazel モジュール依存関係の名前。 |
urls
|
string;文字列の Iterable。
必須 アーカイブの URLhttp(s):// または file:// の URL を使用できます。 |
integrity
|
string;
デフォルトは '' です アーカイブ ファイルで想定されるチェックサム(サブリソースの整合性形式)。 |
strip_prefix
|
string;
デフォルトは '' です 抽出されたファイルから削除するディレクトリ接頭辞。 |
patches
|
文字列のイテラブル。
デフォルトは [] です このモジュールに適用するパッチファイルを指すラベルのリスト。パッチファイルは、最上位プロジェクトのソースツリーに存在している必要があります。これらはリスト順に適用されます。 |
patch_cmds
|
文字列のイテラブル。
デフォルトは [] です パッチ適用後に Linux/macOS で適用される Bash コマンドの順序。 |
patch_strip
|
int;
デフォルトは 0 です Unix パッチの --strip 引数と同じです。 |
bazel_dep
None
bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)
別の Bazel モジュールへの直接依存関係を宣言します。
パラメータ
パラメータ | 説明 |
---|---|
name
|
string;
必須 直接的な依存関係として追加するモジュールの名前。 |
version
|
string;
デフォルトは '' です 直接的な依存関係として追加するモジュールのバージョン。 |
max_compatibility_level
|
int;
デフォルトは -1 です 直接依存関係として追加されるモジュールでサポートされる最大 compatibility_level 。このモジュールのバージョンは、サポートされている最小の compatibility_level を意味し、この属性が指定されていない場合は、最大値が暗黙的に指定されます。
|
repo_name
|
string;
デフォルトは '' です この依存関係を表す外部リポジトリの名前。デフォルトはモジュールの名前です。 |
dev_dependency
|
bool;
デフォルトは False です true の場合、現在のモジュールがルート モジュールでない場合、または「--ignore_dev_dependency」が有効になっている場合、この依存関係は無視されます。 |
git_override
None
git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0, init_submodules=False, strip_prefix='')
依存関係が Git リポジトリの特定の commit から得られるように指定します。このディレクティブはルート モジュールでのみ有効になります。つまり、あるモジュールが他のユーザーによって依存関係として使用されている場合、そのモジュール自体のオーバーライドは無視されます。
パラメータ
パラメータ | 説明 |
---|---|
module_name
|
string;
必須 このオーバーライドを適用する Bazel モジュール依存関係の名前。 |
remote
|
string;
必須 リモート Git リポジトリの URL。 |
commit
|
string;
デフォルトは '' です チェックアウトする commit です。 |
patches
|
文字列のイテラブル。
デフォルトは [] です このモジュールに適用するパッチファイルを指すラベルのリスト。パッチファイルは、最上位プロジェクトのソースツリーに存在している必要があります。これらはリスト順に適用されます。 |
patch_cmds
|
文字列のイテラブル。
デフォルトは [] です パッチ適用後に Linux/macOS で適用される Bash コマンドの順序。 |
patch_strip
|
int;
デフォルトは 0 です Unix パッチの --strip 引数と同じです。 |
init_submodules
|
bool;
デフォルトは False です フェッチされたリポジトリ内の git サブモジュールを再帰的に初期化するかどうか。 |
strip_prefix
|
string;
デフォルトは '' です 抽出されたファイルから削除するディレクトリ接頭辞。これは Git リポジトリのサブディレクトリをターゲットにするために使用できます。サブディレクトリには、この `git_override` に渡される `module_name` 引数と同じモジュール名の独自の `MODULE.bazel` ファイルが必要です。 |
含む
None
include(label)
別の MODULE.bazel のようなファイルの内容が含まれます。実質的には、include()
はインクルードされたファイルが include()
呼び出しの場所にテキストで配置されているかのように動作します。ただし、変数バインディング(use_extension
に使用されるものなど)は、インクルードされているファイルやインクルードするファイルではなく、それらが含まれるファイルにのみ表示されます。include()
を使用できるのはルート モジュールのみです。bazel_dep
の MODULE ファイルで include()
が使用されている場合はエラーになります。
メイン リポジトリ内のファイルのみを含めることができます。
include()
を使用すると、ルート モジュール ファイルを複数の部分に分割して、巨大な MODULE.bazel ファイルを回避したり、個々のセマンティック セグメントのアクセス制御を管理したりできます。
パラメータ
パラメータ | 説明 |
---|---|
label
|
string;
必須 含めるファイルを指すラベル。ラベルはメイン リポジトリ内のファイルを参照する必要があります。つまり、必ずダブル スラッシュ( // )で始める必要があります。
|
local_path_override
None
local_path_override(module_name, path)
依存関係がローカル ディスク上の特定のディレクトリから取得されることを指定します。このディレクティブはルート モジュールでのみ有効になります。つまり、あるモジュールが他のユーザーによって依存関係として使用されている場合、そのモジュール自体のオーバーライドは無視されます。
パラメータ
パラメータ | 説明 |
---|---|
module_name
|
string;
必須 このオーバーライドを適用する Bazel モジュール依存関係の名前。 |
path
|
string;
必須 このモジュールがあるディレクトリのパス。 |
モジュール
None
module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])
現在の Bazel リポジトリで表される Bazel モジュールの特定のプロパティを宣言します。これらのプロパティは、モジュールの重要なメタデータ(名前やバージョンなど)か、現在のモジュールとその依存関係の動作に影響します。これは 1 回だけ呼び出す必要があります。呼び出す場合は、MODULE.bazel ファイル内の最初のディレクティブにする必要があります。このモジュールは、このモジュールがルート モジュールである場合にのみ省略できます(別のモジュールに依存しない場合など)。
パラメータ
パラメータ | 説明 |
---|---|
name
|
string;
デフォルトは '' です モジュールの名前。このモジュールがルート モジュールである場合にのみ省略できます(別のモジュールに依存しない場合と同様です)。有効なモジュール名は、1)小文字(a ~ z)、数字(0 ~ 9)、ドット(.)、ハイフン(-)、アンダースコア(_)のみを使用する。2)小文字で始まる3)末尾が英小文字または数字である。 |
version
|
string;
デフォルトは '' です モジュールのバージョン。このモジュールがルート モジュールである場合にのみ省略できます(別のモジュールに依存しない場合と同様です)。バージョンは、緩和した SemVer 形式にする必要があります。詳しくは、こちらのドキュメントをご覧ください。 |
compatibility_level
|
int;
デフォルトは 0 です モジュールの互換性レベル互換性のない大きな変更が行われるたびに変更する必要があります。これは基本的に「メジャー バージョン」です。SemVer で表します。ただし、バージョン文字列自体に埋め込まれるのではなく、個別のフィールドとして存在します。互換性レベルが異なるモジュールは、名前の異なるモジュールであるかのようにバージョン解決に関与しますが、最終的な依存関係グラフに、名前が同じで互換性レベルが異なる複数のモジュールを含めることはできません( multiple_version_override が有効になっている場合を除く)。詳しくは、こちらのドキュメントをご覧ください。
|
repo_name
|
string;
デフォルトは '' です モジュール自体から見える、このモジュールを表すリポジトリの名前。デフォルトでは、リポジトリの名前はモジュールの名前です。これを指定すると、モジュール名とは異なるリポジトリ名を使用しているプロジェクトの移行が容易になります。 |
bazel_compatibility
|
文字列のイテラブル。
デフォルトは [] です ユーザーがこのモジュールと互換性のある Bazel バージョンを宣言できる Bazel バージョンのリスト。依存関係の解決には影響しませんが、bzlmod はこの情報を使用して、現在の Bazel バージョンに互換性があるかどうかを確認します。この値の形式は、制約値をカンマで区切った文字列です。次の 3 つの制約がサポートされています。<=X.X.X: Bazel のバージョンは X.X.X 以降である必要があります。新しいバージョンに互換性のない既知の変更がある場合に使用します。>=X.X.X: Bazel バージョンは X.X.X 以降である必要があります。X.X.X 以降でのみ利用可能な機能に依存している場合は、Used を使用します。-X.X.X: Bazel バージョン X.X.X に互換性がありません。障害となる X.X.X のバグが新しいバージョンで修正された場合に使用します。 |
multiple_version_override
None
multiple_version_override(module_name, versions, registry='')
依存関係は引き続きレジストリから取得されるべきだが、その依存関係の複数のバージョンの共存を許可することを指定します。詳しくは、こちらのドキュメントをご覧ください。このディレクティブはルート モジュールでのみ有効になります。つまり、あるモジュールが他のユーザーによって依存関係として使用されている場合、そのモジュール自体のオーバーライドは無視されます。
パラメータ
パラメータ | 説明 |
---|---|
module_name
|
string;
必須 このオーバーライドを適用する Bazel モジュール依存関係の名前。 |
versions
|
文字列のイテラブル。
必須 共存を許可するバージョンを明示的に指定します。これらのバージョンは、依存関係グラフの事前選択にすでに存在している必要があります。このモジュールに対する依存関係は「アップグレード済み」になります同じ互換性レベルで許可されたバージョンに最も近いものに設定されます。一方、依存関係が同じ互換性レベルで許可されているバージョンよりも高いバージョンを持つ場合、エラーが発生します。 |
registry
|
string;
デフォルトは '' です このモジュールのレジストリをオーバーライドします。レジストリのデフォルト リストからこのモジュールを見つける代わりに、指定したレジストリを使用する必要があります。 |
register_execution_platforms
None
register_execution_platforms(dev_dependency=False, *platform_labels)
このモジュールが選択されたときに登録する、定義済みの実行プラットフォームを指定します。絶対的なターゲット パターン(@
または //
で始まるパターン)にする必要があります。詳細については、ツールチェーンの解決をご覧ください。:all
のように複数のターゲットに展開するパターンは、名前の辞書順で登録されます。
パラメータ
パラメータ | 説明 |
---|---|
dev_dependency
|
bool;
デフォルトは False です true の場合、現在のモジュールがルート モジュールでない場合、または「--ignore_dev_dependency」が有効になっている場合、実行プラットフォームは登録されません。 |
platform_labels
|
文字列のシーケンス。
必須 登録するターゲット パターン。 |
register_toolchains
None
register_toolchains(dev_dependency=False, *toolchain_labels)
このモジュールが選択されたときに登録する、定義済みツールチェーンを指定します。絶対的なターゲット パターン(@
または //
で始まるパターン)にする必要があります。詳細については、ツールチェーンの解決をご覧ください。:all
などの複数のターゲットに展開するパターンは、(ツールチェーン実装の名前ではなく)ターゲット名を辞書順に登録します。
パラメータ
パラメータ | 説明 |
---|---|
dev_dependency
|
bool;
デフォルトは False です true の場合、現在のモジュールがルート モジュールでない場合、または「--ignore_dev_dependency」が有効になっている場合、ツールチェーンは登録されません。 |
toolchain_labels
|
文字列のシーケンス。
必須 登録するターゲット パターン。 |
single_version_override
None
single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)
依存関係は引き続きレジストリから取得されるものの、そのバージョンを固定するか、レジストリがオーバーライドされるか、適用されるパッチのリストを指定するように指定します。このディレクティブはルート モジュールでのみ有効になります。つまり、あるモジュールが他のユーザーによって依存関係として使用されている場合、そのモジュール自体のオーバーライドは無視されます。
パラメータ
パラメータ | 説明 |
---|---|
module_name
|
string;
必須 このオーバーライドを適用する Bazel モジュール依存関係の名前。 |
version
|
string;
デフォルトは '' です 依存関係グラフ内でこのモジュールの宣言されたバージョンをオーバーライドします。言い換えると、このモジュールは「固定」オーバーライドできますオーバーライドする対象がレジストリまたはパッチの場合は、この属性を省略できます。 |
registry
|
string;
デフォルトは '' です このモジュールのレジストリをオーバーライドします。レジストリのデフォルト リストからこのモジュールを見つける代わりに、指定したレジストリを使用する必要があります。 |
patches
|
文字列のイテラブル。
デフォルトは [] です このモジュールに適用するパッチファイルを指すラベルのリスト。パッチファイルは、最上位プロジェクトのソースツリーに存在している必要があります。これらはリスト順に適用されます。 |
patch_cmds
|
文字列のイテラブル。
デフォルトは [] です パッチ適用後に Linux/macOS で適用される Bash コマンドの順序。 |
patch_strip
|
int;
デフォルトは 0 です Unix パッチの --strip 引数と同じです。 |
use_extension
module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False, isolate=False)モジュール拡張機能を表すプロキシ オブジェクトを返します。そのメソッドを呼び出して、モジュール拡張タグを作成できます。
パラメータ
パラメータ | 説明 |
---|---|
extension_bzl_file
|
string;
必須 モジュール拡張子を定義する Starlark ファイルのラベル。 |
extension_name
|
string;
必須 使用するモジュール拡張機能の名前。この名前のシンボルは、Starlark ファイルによってエクスポートする必要があります。 |
dev_dependency
|
bool;
デフォルトは False です true の場合、現在のモジュールがルート モジュールでない場合、または「--ignore_dev_dependency」が有効になっている場合、このモジュール拡張機能の使用は無視されます。 |
isolate
|
bool;
デフォルトは False です 試験運用版。このパラメータは試験運用版で、いつでも変更できます。これに依存しないでください。 --experimental_isolated_extension_usages を true に設定すると、試験運用版に基づいて有効にできます。true の場合、このモジュール拡張機能の使用は、このモジュールと他のモジュールの両方で他のすべての使用から分離されます。この用途用に作成されたタグは、他の用途に影響しません。この用途のために拡張機能によって生成されたリポジトリは、拡張機能によって生成された他のすべてのリポジトリとは区別されます。 このパラメータは現在試験運用版であり、 |
use_repo
None
use_repo(extension_proxy, *args, **kwargs)
指定されたモジュール拡張機能によって生成された 1 つ以上のリポジトリを現在のモジュールのスコープにインポートします。
パラメータ
パラメータ | 説明 |
---|---|
extension_proxy
|
module_extension_proxy;
必須use_extension 呼び出しによって返されるモジュール拡張プロキシ オブジェクト。
|
args
|
必須 インポートするリポジトリの名前。 |
kwargs
|
必須 現在のモジュールのスコープにインポートする特定のリポジトリを異なる名前で指定します。キーは現在のスコープで使用する名前にする必要がありますが、値はモジュール拡張機能によってエクスポートされた元の名前である必要があります。 |
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
|
string;
必須 Repo ルールを定義する Starlark ファイルのラベル。 |
repo_rule_name
|
string;
必須 使用するリポジトリ ルールの名前。この名前のシンボルは、Starlark ファイルによってエクスポートする必要があります。 |