implementation
関数の引数として module_resourcemanager オブジェクトを取得します。
メンバー
- ダウンロード
- download_and_extract
- execute
- extension_metadata
- file
- getenv
- is_dev_dependency
- modules
- os
- path
- read
- report_progress
- root_module_has_non_dev_dependency
- ウォッチ
- どの値
ダウンロード
unknown module_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', block=True)指定された URL の出力パスにファイルをダウンロードし、
success
を含む構造体を返します。これは、ダウンロードが正常に完了した場合は true
のフラグであり、成功した場合はフィールド sha256
と integrity
を持つファイルのハッシュを返します。
パラメータ
パラメータ | 説明 |
---|---|
url
|
string; または string のイテラブル。必須 同じファイルを参照するミラー URL のリスト。 |
output
|
string、Label、path のいずれか。デフォルトは '' 出力ファイルへのリポジトリ ディレクトリからの相対パス。 |
sha256
|
デフォルトは '' です。ダウンロードされるファイルの SHA-256 ハッシュです。ダウンロードしたファイルの SHA-256 ハッシュと一致する必要があります。リモート ファイルは変更される可能性があるため、SHA-256 を省略することはセキュリティ上のリスクとなります。このフィールドを省略すると、ビルドが非密閉になります。開発を容易にするために省略することもできますが、配布前に設定する必要があります。 |
executable
|
デフォルトは False です。作成されたファイルに実行可能フラグを設定します(デフォルトは false)。 |
allow_fail
|
デフォルトは False です。設定すると、ダウンロード失敗時にエラーを発生させる代わりに、戻り値にエラーを示します。 |
canonical_id
|
デフォルトは '' です。設定すると、同じ正規 ID でファイルがキャッシュに追加されたケースにキャッシュ ヒットを制限します。 |
auth
|
デフォルトは {} です。一部の URL の認証情報を指定するオプションの辞書。 |
headers
|
デフォルトは {} です。すべての URL に http ヘッダーを指定するオプションの辞書。 |
integrity
|
デフォルトは '' です。ダウンロードされたファイルの予想されるチェックサム(サブリソースの整合性形式)。これは、ダウンロードしたファイルのチェックサムと一致する必要があります。リモート ファイルが変更される可能性があるため、チェックサムを省略することはセキュリティ上のリスクになります。このフィールドを省略すると、ビルドが非密閉になります。開発を容易にするために省略することもできますが、配布前に設定する必要があります。 |
block
|
デフォルトは True です。false に設定すると、呼び出しはすぐに返され、通常の戻り値の代わりに、1 つのメソッド wait() を持つトークンが返されます。このメソッドは、ダウンロードが完了するまでブロックし、通常の戻り値を返すか、通常どおりスローします。 |
download_and_extract
struct module_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', rename_files={})指定された URL の出力パスにファイルをダウンロードして抽出し、
success
を含む構造体を返します。このフラグは、ダウンロードが正常に完了した場合は true
であり、成功した場合はフィールド sha256
と integrity
を持つファイルのハッシュを返します。
パラメータ
パラメータ | 説明 |
---|---|
url
|
string; または string のイテラブル。必須 同じファイルを参照するミラー 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"、" . |
stripPrefix
|
デフォルトは '' です。抽出されたファイルから削除するディレクトリ接頭辞。多くのアーカイブには、アーカイブ内のすべてのファイルを含む最上位ディレクトリがあります。抽出されたファイルからこの接頭辞を削除するために、 build_file でこの接頭辞を何度も指定する必要はありません。 |
allow_fail
|
デフォルトは False です。設定すると、ダウンロード失敗時にエラーを発生させる代わりに、戻り値にエラーを示します。 |
canonical_id
|
デフォルトは '' です。設定すると、同じ正規 ID でファイルがキャッシュに追加されたケースにキャッシュ ヒットを制限します。 |
auth
|
デフォルトは {} です。一部の URL の認証情報を指定するオプションの辞書。 |
headers
|
デフォルトは {} です。すべての URL に http ヘッダーを指定するオプションの辞書。 |
integrity
|
デフォルトは '' です。ダウンロードされたファイルの予想されるチェックサム(サブリソースの整合性形式)。これは、ダウンロードしたファイルのチェックサムと一致する必要があります。リモート ファイルが変更される可能性があるため、チェックサムを省略することはセキュリティ上のリスクになります。このフィールドを省略すると、ビルドが非密閉になります。開発を容易にするために省略することもできますが、配布前に設定する必要があります。 |
rename_files
|
デフォルトは {} です。抽出中に名前を変更するファイルを指定するオプションの辞書。名前と完全に一致する名前のアーカイブ エントリは、ディレクトリ接頭辞を調整する前に、値に変更されます。これを使用して、Unicode ではないファイル名を含むアーカイブや、大文字と小文字を区別しないファイルシステム上の同じパスに抽出するファイルを含むアーカイブを抽出できます。 |
execute
exec_result module_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")引数のリストで指定されたコマンドを実行します。コマンドの実行時間は
timeout
に制限されています(秒単位、デフォルトは 600 秒)。このメソッドは、コマンドの出力を含む exec_result
構造体を返します。environment
マップを使用すると、プロセスに渡す一部の環境変数をオーバーライドできます。
パラメータ
パラメータ | 説明 |
---|---|
arguments
|
required 引数のリスト。最初の要素は、実行するプログラムのパスにする必要があります。 |
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, reproducible=False)モジュール拡張機能の実装関数から返すことができる不透明オブジェクトを構築します。これにより、拡張機能によって生成されたリポジトリに関するメタデータを Bazel に提供します。
パラメータ
パラメータ | 説明 |
---|---|
root_module_direct_deps
|
文字列、文字列、または None のシーケンス。デフォルトは None 。拡張機能がルート モジュールの直接的な依存関係と見なすリポジトリの名前。ルート モジュールが追加のリポジトリをインポートする場合、または use_repo を介してこれらのリポジトリのすべてをインポートしない場合、Bazel は拡張機能の評価時に警告を表示し、bazel mod tidy を実行して use_repo 呼び出しを自動的に修正するようにユーザーに指示します。
|
root_module_direct_dev_deps
|
文字列、文字列、または None のシーケンス。デフォルトは None 。拡張機能がルート モジュールの直接開発依存関係とみなすリポジトリの名前。ルート モジュールが追加のリポジトリをインポートする場合、または use_extension(..., dev_dependency = True) で作成された拡張機能プロキシで use_repo を介してこれらのリポジトリの一部をインポートしていない場合、Bazel は拡張機能の評価時に警告を表示し、bazel mod tidy を実行して use_repo 呼び出しを自動的に修正するようにユーザーに指示します。
|
reproducible
|
bool;
デフォルトは False このモジュール拡張機能により完全な再現性が保証されるため、ロックファイルに保存しないことを示します。 |
あなた宛てに表示されます。
None
module_ctx.file(path, content='', executable=True, legacy_utf8=True)
指定されたコンテンツを含むファイルをリポジトリ ディレクトリに生成します。
パラメータ
パラメータ | 説明 |
---|---|
path
|
文字列、ラベル、パス。
必須 作成するファイルのパス(リポジトリ ディレクトリからの相対パス)。 |
content
|
デフォルトは '' です。作成するファイルのコンテンツ。デフォルトでは空です。 |
executable
|
デフォルトは True です。作成されたファイルに実行可能フラグを設定します(デフォルトは true)。 |
legacy_utf8
|
デフォルトは True です。デフォルトでは、ファイルの内容を UTF-8 にエンコードします。今後のバージョンではデフォルトが変更され、このパラメータは削除されます。 |
getenv
string module_ctx.getenv(name, default=None)環境変数
name
の値が存在する場合は文字列として、存在しない場合は default
を返します。増分ビルドを行う場合、name
で指定された変数の値が変更されると、このリポジトリが再取得されます。
パラメータ
パラメータ | 説明 |
---|---|
name
|
文字列;
必須 目的の環境変数の名前 |
default
|
string; または None 。デフォルトは None 「name」が見つからない場合に返されるデフォルト値です。 |
None
を返す場合があります。is_dev_dependency
bool module_ctx.is_dev_dependency(tag)
devDependency = True
による use_extension 呼び出しの結果に、指定したタグが指定されたかどうかを返します。
パラメータ
パラメータ | 説明 |
---|---|
tag
|
bazel_module_tag;
required bazel_module.tags から取得したタグ。 |
モジュール
list module_ctx.modulesこのモジュール拡張機能を使用する外部依存関係グラフ内のすべての Bazel モジュールのリスト。各モジュールは、この拡張機能に指定されたすべてのタグを公開する bazel_module オブジェクトです。この辞書の反復順序は、ルート モジュールから始まる幅優先検索と同じであることが保証されます。
os
repository_os module_ctx.osシステムの情報にアクセスするための構造体。
パス
path module_ctx.path(path)文字列、ラベル、またはパスからパスを返します。パスが相対パスの場合は、リポジトリ ディレクトリを基準とする相対パスで解決されます。パスがラベルの場合は、対応するファイルのパスに解決されます。リモート リポジトリは分析フェーズで実行されるため、ターゲットの結果に依存することはできません(ラベルは生成されていないファイルを指している必要があります)。path がパスの場合は、そのパスをそのまま返します。
パラメータ
パラメータ | 説明 |
---|---|
path
|
文字列、ラベル、パス。
必須 パスの作成元の文字列、ラベル、またはパス |
read
string module_ctx.read(path, *, watch='auto')ファイル システム上のファイルの内容を読み取ります。
パラメータ
パラメータ | 説明 |
---|---|
path
|
文字列、ラベル、パス。
必須 読み取り元のファイルのパス。 |
watch
|
デフォルトは 'auto' です。ファイルを監視するかどうか。文字列「yes」、「no」、「auto」のいずれかを指定できます。「yes」を渡すと、 watch() メソッドをすぐに呼び出すのと同じ結果になります。「no」を渡してもファイルの監視は試行されません。「auto」を渡すと、正当な権限がある場合にのみファイルの監視が試行されます(詳しくは watch() のドキュメントをご覧ください)。 |
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ルート モジュールがこの拡張機能を非開発依存関係として使用するかどうか。
スマートウォッチ
None
module_ctx.watch(path)
指定されたパスが存在するかどうか、ファイルであるかディレクトリであるかにかかわらず、そのパスに対する変更を監視するよう Bazel に指示します。ファイルまたはディレクトリに変更を加えると、このリポジトリまたはモジュールの拡張機能は無効になり、次回は再取得または再評価が行われます。「変更」には、ファイルの内容に対する変更(パスがファイルの場合)、パスがファイルだったのに現在はディレクトリになっている場合、その逆、パスが既存の開始または停止を行った場合が含まれます。特に、パスがディレクトリの場合、そのディレクトリ下のファイルに対する変更は含まれません。その場合は、代わりに path.readdir()
を使用してください。
現在取得されているリポジトリ内のパス、または現在のモジュール拡張機能の作業ディレクトリ内のパスを監視しようとすると、エラーが発生します。モジュール拡張機能が現在の Bazel ワークスペース外のパスを監視しようとした場合も、エラーが発生します。
パラメータ
パラメータ | 説明 |
---|---|
path
|
文字列、ラベル、パス。
必須 監視するファイルのパス。 |
これは
path module_ctx.which(program)対応するプログラムのパスを返します。パス内にプログラムが存在しない場合は None を返します。
パラメータ
パラメータ | 説明 |
---|---|
program
|
required パス内で検索するプログラム。 |
None
を返す場合があります。