implementation
関数の引数として module_ctx オブジェクトが取得されます。メンバー
- ダウンロード
- download_and_extract
- 実行
- extension_metadata
- file
- is_dev_dependency
- modules
- os
- path
- 読み取り
- report_progress
- root_module_has_non_dev_dependency
- which
ダウンロード
struct module_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')
success
を含む構造体を返します。success
は、ダウンロードが正常に完了した場合は true
になるフラグです。ダウンロードが正常に完了した場合は、sha256
フィールドと integrity
フィールドを含むファイルのハッシュも返します。
パラメータ
パラメータ | 説明 |
---|---|
url
|
文字列、または 文字列の Iterable。必須 同じファイルを参照するミラー URL のリスト。 |
output
|
string、Label、path。デフォルトは '' です。 リポジトリ ディレクトリを基準とする出力ファイルのパス。 |
sha256
|
デフォルトは '' です。ダウンロードしたファイルの想定される SHA-256 ハッシュ。これは、ダウンロードしたファイルの SHA-256 ハッシュと一致する必要があります。リモート ファイルは変更される可能性があるため、SHA-256 を省略するとセキュリティ リスクが生じます。このフィールドを省略すると、ビルドが非ハーメチックになります。開発を容易にするために省略可能ですが、出荷前に設定する必要があります。 |
executable
|
デフォルトは False です。作成されたファイルに実行可能フラグを設定します。デフォルトは false です。 |
allow_fail
|
デフォルトは False です。 設定されている場合、ダウンロードの失敗に対してエラーを発生させる代わりに、戻り値でエラーを示します。 |
canonical_id
|
デフォルトは '' です。 設定されている場合、キャッシュ ヒットは、同じ正規 ID でファイルがキャッシュに追加されたケースに制限されます。 |
auth
|
デフォルトは {} です。 一部の URL の認証情報を指定する省略可能な辞書。 |
integrity
|
デフォルトは '' です。 ダウンロードしたファイルの想定されるチェックサム(Subresource Integrity 形式)。これは、ダウンロードしたファイルのチェックサムと一致している必要があります。リモート ファイルは変更される可能性があるため、チェックサムを省略するとセキュリティ リスクが生じます。このフィールドを省略すると、ビルドが非ハーメチックになります。開発を容易にするために省略可能ですが、出荷前に設定する必要があります。 |
download_and_extract
struct module_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})
success
を含む構造体を返します。success
は、ダウンロードが正常に完了した場合は true
になるフラグです。ダウンロードが正常に完了した場合は、sha256
フィールドと integrity
フィールドを含むファイルのハッシュも返します。
パラメータ
パラメータ | 説明 |
---|---|
url
|
文字列、または 文字列の Iterable。必須 同じファイルを参照するミラー URL のリスト。 |
output
|
string、Label、path。デフォルトは '' です。リポジトリ ディレクトリに対する相対パスで、アーカイブが解凍されるディレクトリのパス。 |
sha256
|
デフォルトは '' です。ダウンロードしたファイルの想定される SHA-256 ハッシュ。これは、ダウンロードしたファイルの SHA-256 ハッシュと一致する必要があります。リモート ファイルは変更される可能性があるため、SHA-256 を省略するとセキュリティ リスクが生じます。このフィールドを省略すると、ビルドが非ハーメチックになります。開発を容易にするために省略できますが、出荷前に設定する必要があります。指定された場合、リポジトリ キャッシュで指定されたハッシュを持つファイルが最初にチェックされます。ダウンロードが試行されるのは、ファイルがキャッシュで見つからなかった場合のみです。ダウンロードが完了すると、ファイルがキャッシュに追加されます。 |
type
|
デフォルトは '' です。ダウンロードしたファイルのアーカイブ タイプ。デフォルトでは、アーカイブ タイプは URL のファイル拡張子から判断されます。ファイルに拡張子がない場合は、ここで「zip」、「jar」、「war」、「aar」、「tar」、「tar.gz」、「tgz」、「tar.xz」、「txz」、「.tar.zst」、「.tzst」、「tar.bz2」、「.tbz」、「.ar」、「.deb」のいずれかを明示的に指定できます。 |
stripPrefix
|
デフォルトは '' です。解凍されたファイルから削除するディレクトリ接頭辞。多くのアーカイブには、アーカイブ内のすべてのファイルを含む最上位のディレクトリが含まれています。 build_file でこの接頭辞を何度も指定する必要がある代わりに、このフィールドを使用して抽出されたファイルから接頭辞を削除できます。 |
allow_fail
|
デフォルトは False です。 設定されている場合、ダウンロードの失敗に対してエラーを発生させる代わりに、戻り値でエラーを示します。 |
canonical_id
|
デフォルトは '' です。 設定されている場合、キャッシュ ヒットは、同じ正規 ID でファイルがキャッシュに追加されたケースに制限されます。 |
auth
|
デフォルトは {} です。 一部の URL の認証情報を指定する省略可能な辞書。 |
integrity
|
デフォルトは '' です。 ダウンロードしたファイルの想定されるチェックサム(Subresource Integrity 形式)。これは、ダウンロードしたファイルのチェックサムと一致している必要があります。リモート ファイルは変更される可能性があるため、チェックサムを省略するとセキュリティ リスクが生じます。このフィールドを省略すると、ビルドが非ハーメチックになります。開発を容易にするために省略可能ですが、出荷前に設定する必要があります。 |
rename_files
|
デフォルトは {} です。 抽出時に名前を変更するファイルを指定するオプションの辞書。キーと完全に一致する名前のエントリは、ディレクトリ プレフィックスの調整前に値に名前変更されます。これは、Unicode 以外のファイル名を含むアーカイブや、大文字と小文字を区別しないファイル システムで同じパスに抽出されるファイルを含むアーカイブを抽出するために使用できます。 |
execute
exec_result module_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")
timeout
によって制限されます(秒単位、デフォルトは 600 秒)。このメソッドは、コマンドの出力を格納する exec_result
構造体を返します。environment
マップを使用して、プロセスに渡される一部の環境変数をオーバーライドできます。
パラメータ
パラメータ | 説明 |
---|---|
arguments
|
必須 引数のリスト。最初の要素は、実行するプログラムのパスにする必要があります。 |
timeout
|
デフォルトは 600 です。コマンドの最大実行時間(秒単位)。デフォルトは 600 秒です。 |
environment
|
デフォルトは {} です。プロセスに渡されるように、いくつかの環境変数を強制的に設定します。 |
quiet
|
デフォルトは True です。stdout と stderr をターミナルに出力するかどうか。 |
working_directory
|
デフォルトは "" です。コマンド実行の作業ディレクトリ。リポジトリ ルートからの相対パスまたは絶対パスを指定できます。 |
extension_metadata
extension_metadata module_ctx.extension_metadata(root_module_direct_deps=None, root_module_direct_dev_deps=None)
パラメータ
パラメータ | 説明 |
---|---|
root_module_direct_deps
|
文字列のシーケンス、または文字列、または None 。デフォルトは None です。 拡張機能がルート モジュールの直接的な依存関係と見なすリポジトリの名前。ルート モジュールが追加のリポジトリをインポートする場合、または use_repo を介してこれらのリポジトリをすべてインポートしない場合、拡張機能が評価されるときに、Bazel は警告と修正コマンドを出力します。
|
root_module_direct_dev_deps
|
文字列のシーケンス、文字列、または None 。デフォルトは None です。 拡張機能がルート モジュールの直接的な開発依存関係と見なすリポジトリの名前。ルート モジュールが追加のリポジトリをインポートする場合、または use_extension(..., dev_dependency = True) で作成された拡張機能プロキシの use_repo を介してこれらのリポジトリをすべてインポートしない場合、拡張機能が評価されるときに、Bazel は警告と修正コマンドを出力します。
|
ファイル
None
module_ctx.file(path, content='', executable=True, legacy_utf8=True)
パラメータ
パラメータ | 説明 |
---|---|
path
|
文字列、ラベル、パス。必須 リポジトリ ディレクトリを基準とする、作成するファイルのパス。 |
content
|
デフォルトは '' です。作成するファイルの内容。デフォルトは空です。 |
executable
|
デフォルトは True です。作成されたファイルに実行可能フラグを設定します。デフォルトは true です。 |
legacy_utf8
|
デフォルトは True です。ファイル コンテンツを UTF-8 にエンコードします。デフォルトは true です。今後のバージョンでは、デフォルトが変更され、このパラメータは削除されます。 |
is_dev_dependency
bool module_ctx.is_dev_dependency(tag)
devDependency = True
を使用した use_extension 呼び出しの結果で指定されたかどうかを返します。
パラメータ
パラメータ | 説明 |
---|---|
tag
|
bazel_module_tag;
required bazel_module.tags から取得したタグ。 |
modules
list module_ctx.modules
os
repository_os module_ctx.os
パス
path module_ctx.path(path)
パラメータ
パラメータ | 説明 |
---|---|
path
|
string、Label、path。必須 パスの作成元となる文字列、ラベル、パス |
read
string module_ctx.read(path)
パラメータ
パラメータ | 説明 |
---|---|
path
|
文字列、ラベル、パス。必須。 読み取るファイルのパス。 |
report_progress
None
module_ctx.report_progress(status='')
パラメータ
パラメータ | 説明 |
---|---|
status
|
string;
デフォルトは '' フェッチの進行状況の現在のステータスを説明する文字列 |
root_module_has_non_dev_dependency
bool module_ctx.root_module_has_non_dev_dependency
これは
path module_ctx.which(program)
パラメータ
パラメータ | 説明 |
---|---|
program
|
必須 パス内で検索するプログラム。 |
None
を返すことがあります。