repository_ctx

問題を報告 ソースを表示

ヘルパー関数と属性に関する情報を含むリポジトリ ルールのコンテキスト。リポジトリ ルールを作成するときに、implementation 関数の引数として repo_LookML オブジェクトを取得します。

メンバー

属性

struct repository_ctx.attr

属性の値にアクセスするための構造体。値はユーザーが指定します(ない場合はデフォルト値が使用されます)。

delete

bool repository_ctx.delete(path)

ファイルまたはディレクトリを削除します。ファイルまたはディレクトリが、この呼び出しによって実際に削除されたかどうかを示すブール値を返します。

パラメータ

パラメータ 説明
path string: path: 必須
削除するファイルのパス(リポジトリ ディレクトリからの相対パス、または絶対パス)。パスまたは文字列を指定できます。

ダウンロード

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

指定された URL の出力パスにファイルをダウンロードし、success を含む構造体を返します。ダウンロードが正常に完了した場合はフラグ true、成功した場合は sha256integrity のフィールドを含むファイルのハッシュを返します。

パラメータ

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

download_and_extract

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

指定された URL の出力パスにファイルをダウンロードして抽出し、success を含む構造体を返します。フラグ(ダウンロードが正常に完了した場合は true、成功した場合は sha256integrity を含むファイルのハッシュ)が含まれます。

パラメータ

パラメータ 説明
url 文字列、または文字列のイテラブル。 必須
同じファイルを参照するミラー URL のリスト。
output stringLabelpath。デフォルトは ''
アーカイブを展開するディレクトリへのパス(リポジトリ ディレクトリを基準とする相対パス)です。
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、.t.deb のいずれかを明示的に指定できます。
stripPrefix デフォルトは '' です。
抽出されたファイルから削除するディレクトリ接頭辞です。多くのアーカイブには、アーカイブ内のすべてのファイルを含む最上位ディレクトリがあります。このフィールドを使用すると、この接頭辞を build_file で何度も指定しなくても、抽出されたファイルから削除できます。
allow_fail デフォルトは False です
設定されている場合は、ダウンロードに失敗した場合にエラーを返すのではなく、戻り値でエラーを示します。
canonical_id デフォルトは '' です。
設定すると、キャッシュ ヒットを、同じ正規 ID でファイルがキャッシュに追加された場合にのみキャッシュ ヒットに制限されます。
auth デフォルトは {} です。
一部の URL の認証情報を指定するディクショナリ(省略可)。
integrity デフォルトは '' です。
ダウンロードされるファイルの想定されるチェックサム(サブリソースの整合性形式)。ダウンロードしたファイルのチェックサムと一致する必要があります。リモート ファイルが変更される可能性があるため、チェックサムを省略するとセキュリティ上のリスクが発生します。このフィールドを省略すると、ビルドが非密閉型のものになります。開発を容易にするためのオプションですが、リリース前に設定する必要があります。
rename_files デフォルトは {} です。
抽出時に名前を変更するファイルを指定するディクショナリ(省略可)。名前がキーと完全に一致するアーカイブ エントリは、ディレクトリ接頭辞が調整される前に、その値に名前が変更されます。これは、Unicode 以外のファイル名を含むアーカイブや、大文字と小文字を区別しないファイルシステム上の同じパスに抽出されるファイルを含むアーカイブの抽出に使用できます。

execute

exec_result repository_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 デフォルトは "" です。
コマンド実行用の作業ディレクトリ。リポジトリ ルートからの相対パスまたは絶対パスを指定できます。

extract

None repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={})

アーカイブをリポジトリ ディレクトリに抽出します。

パラメータ

パラメータ 説明
archive stringLabel、または path。必須の
解凍するアーカイブへのパス(リポジトリ ディレクトリを基準とする相対パス)。
output stringLabelpath。デフォルトは ''
アーカイブを展開するディレクトリへのパス(リポジトリ ディレクトリを基準とする相対パス)です。
stripPrefix デフォルトは '' です。
抽出されたファイルから削除するディレクトリ接頭辞です。多くのアーカイブには、アーカイブ内のすべてのファイルを含む最上位ディレクトリがあります。このフィールドを使用すると、この接頭辞を build_file で何度も指定しなくても、抽出されたファイルから削除できます。
rename_files デフォルトは {} です。
抽出時に名前を変更するファイルを指定するディクショナリ(省略可)。名前がキーと完全に一致するアーカイブ エントリは、ディレクトリ接頭辞が調整される前に、その値に名前が変更されます。これは、Unicode 以外のファイル名を含むアーカイブや、大文字と小文字を区別しないファイルシステム上の同じパスに抽出されるファイルを含むアーカイブの抽出に使用できます。

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

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

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

パラメータ

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

name

string repository_ctx.name

このルールによって作成された外部リポジトリの名前。

os

repository_os repository_ctx.os

システムの情報にアクセスするための構造体。

patch

None repository_ctx.patch(patch_file, strip=0)

外部リポジトリのルート ディレクトリにパッチファイルを適用します。パッチファイルは、標準の統合差分形式ファイルである必要があります。Bazel ネイティブのパッチ実装は、パッチ コマンドライン ツールなどのファズマッチとバイナリパッチをサポートしていません。

パラメータ

パラメータ 説明
patch_file stringLabelpath。必須
適用するパッチファイル。ラベル、相対パス、絶対パスのいずれかです。相対パスの場合は、リポジトリ ディレクトリに解決されます。
strip デフォルトは 0 です。
指定された数の先行コンポーネントをファイル名から削除します。

パス

path repository_ctx.path(path)

文字列、ラベル、またはパスからパスを返します。パスが相対パスの場合は、リポジトリ ディレクトリを基準として解決されます。パスがラベルの場合は、対応するファイルのパスに解決されます。リモート・リポジトリは分析フェーズで実行されるため、ターゲットの結果に依存できません(ラベルは、生成されていないファイルを指している必要があります)。パスにパスを指定した場合は、パスがそのまま返されます。

パラメータ

パラメータ 説明
path stringLabel、または path。必須
パスの作成元となる文字列、ラベル、またはパス

read

string repository_ctx.read(path)

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

パラメータ

パラメータ 説明
path stringLabelpath。読み取り元のファイルの
パス(必須)。

report_progress

None repository_ctx.report_progress(status='')

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

パラメータ

パラメータ 説明
status string: デフォルトは ''
取得の進行状況を示す文字列

None repository_ctx.symlink(target, link_name)

ファイル システムにシンボリック リンクを作成します。

パラメータ

パラメータ 説明
target stringLabelpath、必須
シンボリック リンクが参照するパス。
stringLabel、または path: 必須
作成するシンボリック リンクの、リポジトリ ディレクトリからの相対パス。

テンプレート

None repository_ctx.template(path, template, substitutions={}, executable=True)

template を使用して新しいファイルを生成します。substitutions のキーが template で出現するたびに、対応する値に置き換えられます。結果は path に書き込まれます。オプションの executable 引数(デフォルトは true)を設定して、実行可能ビットをオンまたはオフにすることができます。

パラメータ

パラメータ 説明
path stringLabel、または path。リポジトリ ディレクトリを基準とする、作成するファイルの
パス(必須)。
template stringLabelpath。テンプレート ファイルへの
パス(必須)。
substitutions デフォルトは {} です。テンプレートの拡張時に行われる
置換があります。
executable デフォルトは True です。
作成されたファイルの実行可能フラグをデフォルトで true に設定します。

これは

path repository_ctx.which(program)

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

パラメータ

パラメータ 説明
program required
プログラムはパス内で検出します。
None が返されることがあります。

workspace_root

path repository_ctx.workspace_root

bazel 呼び出しのルート ワークスペースへのパス。