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