module_ctx

問題を報告 ソースを表示

依存関係のヘルパー関数と、関連するタグに関する情報を含むモジュール拡張機能のコンテキスト。モジュール拡張機能を作成する際に、implementation 関数の引数としてモジュール_オブジェクトを取得します。

メンバー

ダウンロード

struct module_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')

指定された URL の出力パスにファイルをダウンロードし、success という構造体を返します。ダウンロードが正常に完了すると true になり、成功すると sha256integrity のフィールドを持つファイルのハッシュが返されます。

パラメータ

パラメータ 説明
url string; or Iterable of strings(必須)
同じファイルを参照するミラー URL のリスト。
output string; or Label; or path; default = ''
出力ファイルのパス(リポジトリ ディレクトリを基準とする相対パス)。
sha256 default = '
ダウンロードされるファイルの、期待される SHA-256 ハッシュ。これは、ダウンロードされたファイルの SHA-256 ハッシュと一致する必要があります。リモート ファイルは変更される可能性があるため、SHA-256 を省略することはセキュリティ上のリスクとなります。このフィールドを省略すると、ビルドは非密閉になります。開発を容易にすることがオプションですが、リリース前に設定する必要があります。
executable default = False
作成されたファイルで実行可能フラグを設定します。デフォルトでは false です。
allow_fail default = False
設定すると、失敗したダウンロードのエラーではなく、戻り値の誤差が示されます。
canonical_id default = ''
設定した場合、同じ正規 ID のファイルがキャッシュに追加された場合に、ヒットをヒットします。
auth default = {}
一部の URL の認証情報を指定するオプションの辞書。
integrity default = ''
ダウンロードされるファイルのチェックサムが期待されます(サブリソース整合性形式)。これは、ダウンロードしたファイルのチェックサムと一致する必要があります。リモート ファイルは変更される可能性があるため、チェックサムを省略することはセキュリティ上のリスクです。このフィールドを省略すると、ビルドは非密閉になります。開発を容易にすることがオプションですが、リリース前に設定する必要があります。

download_and_extract

struct module_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})

指定された URL の出力パスにファイルをダウンロードして抽出し、success という構造体を返します。ダウンロードが正常に完了すると true となり、成功すると sha256integrity のフィールドを持つファイルのハッシュが返されます。

パラメータ

パラメータ 説明
url string; or Iterable of strings(必須)
同じファイルを参照するミラー URL のリスト。
output string; or Label; or path; default = ''
アーカイブが解凍されるディレクトリのリポジトリ ディレクトリへの相対パス。
sha256 default = '
ダウンロードされるファイルの、期待される SHA-256 ハッシュ。これは、ダウンロードされたファイルの SHA-256 ハッシュと一致する必要があります。リモート ファイルは変更される可能性があるため、SHA-256 を省略することはセキュリティ上のリスクとなります。このフィールドを省略すると、ビルドは非密閉になります。開発を容易にすることがオプションですが、リリース前に設定する必要があります。指定された場合、まずリポジトリ キャッシュは指定されたハッシュを持つファイルがあるかどうかチェックされます。ダウンロードが試行されるのは、ファイルがキャッシュで見つからない場合のみです。ダウンロードが正常に完了すると、ファイルがキャッシュに追加されます。
type default = ''
ダウンロードしたファイルのアーカイブ タイプ。デフォルトでは、アーカイブ タイプは URL のファイル拡張子によって決まります。ファイルに拡張子がない場合、"zip"、"jar"、"war"、"aar"、"tar"、"tar.gz"、"tgz"、"tar.xz"、"txz"、".tar.zst"、".tzst"、"tar.bz2"、".tbz"、".tbz"、".tbz"、".tbz"、".tbz"、".tbz"、".tbz"、と明示的に指定できます。
stripPrefix default = ''
抽出されたファイルから削除するディレクトリ プレフィックス。多くのアーカイブには、アーカイブ内のすべてのファイルを含む最上位ディレクトリが含まれています。このフィールドを使用すると、build_file でこの接頭辞を何度も指定する必要がなくなります。このフィールドは、抽出されたファイルから除去できます。
allow_fail default = False
設定すると、失敗したダウンロードのエラーではなく、戻り値の誤差が示されます。
canonical_id default = ''
設定した場合、同じ正規 ID のファイルがキャッシュに追加された場合に、ヒットをヒットします。
auth default = {}
一部の URL の認証情報を指定するオプションの辞書。
integrity default = ''
ダウンロードされるファイルのチェックサムが期待されます(サブリソース整合性形式)。これは、ダウンロードしたファイルのチェックサムと一致する必要があります。リモート ファイルは変更される可能性があるため、チェックサムを省略することはセキュリティ上のリスクです。このフィールドを省略すると、ビルドは非密閉になります。開発を容易にすることがオプションですが、リリース前に設定する必要があります。
rename_files default = {}
抽出中に名前を変更するファイルを指定するオプションの辞書。アーカイブ エントリとキーが完全に一致する場合、ディレクトリ プレフィックスの調整の前に、値の名前が変更されます。これは、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 default = {}
いくつかの環境変数をプロセスに渡すよう強制します。
quiet default = True
stdout と stderr をターミナルに出力するかどうか
working_directory default = "
コマンド実行用の作業ディレクトリ。 リポジトリのルートからの相対パス、または絶対パスを指定できます。

あなた宛てに表示されます。

None module_ctx.file(path, content='', executable=True, legacy_utf8=True)

指定されたコンテンツを含むリポジトリ ディレクトリにファイルを生成します。

パラメータ

パラメータ 説明
path string; or Label; or path(必須): リポジトリ ディレクトリを基準とする、相対パスで作成するファイルのパス。
content default = ''
作成するファイルの内容。デフォルトでは空です。
executable default = True
作成されたファイルで実行可能フラグを設定します(デフォルトは true)。
legacy_utf8 default = True
ファイルのコンテンツを UTF-8 にエンコードします(デフォルトは true)。今後のバージョンでは、このパラメータが変更されてこのパラメータは削除されます。

is_dev_dependency

bool module_ctx.is_dev_dependency(tag)

devDependency = Trueuse_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 string; or Label; or path(必須)
パスの作成元となる文字列、ラベル、パス

読み取り

string module_ctx.read(path)

ファイル システム上のファイルのコンテンツを読み取ります。

パラメータ

パラメータ 説明
path string; or Label; or path: 読み取り元となるファイルの
パス。必須。

レポートの進行状況

None module_ctx.report_progress(status='')

このリポジトリまたはモジュール拡張機能の取得の進行状況を更新します

パラメータ

パラメータ 説明
status string; default = ''
取得の進行状況の現在の状態を示す文字列

どの

path module_ctx.which(program)

対応するプログラムのパスを返します。パスにそのようなプログラムがない場合は None を返します。

パラメータ

パラメータ 説明
program 必須
パスで見つけるためのプログラム。
None を返すことができます。