repository_ctx

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。
ヘルパー関数と属性に関する情報を含むリポジトリ ルールのコンテキスト。リポジトリ ルールを作成するときに、implementation 関数の引数として repository_ctx オブジェクトを取得します。

メンバー

属性

struct repository_ctx.attr

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

delete

bool repository_ctx.delete(path)

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

パラメータ

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

download

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

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

パラメータ

パラメータ 説明
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 repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})

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

パラメータ

パラメータ 説明
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 のファイル拡張子から決定されます。ない場合は、
stripPrefix default = ''
抽出されるファイルから削除するディレクトリ接頭辞。多くのアーカイブには、アーカイブ内のすべてのファイルを含む最上位ディレクトリがあります。このフィールドを使用すると、build_file でこの接頭辞を繰り返し指定する必要がなくなり、抽出されたファイルから接頭辞を除去できます。
allow_fail default = False
設定した場合、ダウンロードが失敗した場合にエラーを発生させるのではなく、戻り値にエラーが示されます。
canonical_id default = ''
設定した場合、ファイルが同じ正規 ID のキャッシュに追加された場合のみ、キャッシュ ヒットを制限します。
auth default = {}
一部の URL の認証情報を指定する辞書(省略可)。
integrity default = ''
予想されるダウンロードされたファイルのチェックサム(サブリソースの完全性の形式)。これは、ダウンロードしたファイルのチェックサムと一致する必要があります。リモート ファイルが変更される可能性があるため、チェックサムを省略することはセキュリティ上のリスクです。このフィールドを省略すると、ビルドが密閉化されなくなります。開発は省略可能ですが、リリース前に設定する必要があります。
rename_files default = {}
抽出中に名前を変更するファイルを指定するオプションの辞書。名前がキーに完全に一致するアーカイブ エントリは、ディレクトリのプレフィックス調整の前に値に変更されます。これを使用すると、Unicode 以外のファイル名を含むアーカイブや、大文字と小文字を区別しないファイルシステムで同じパスに抽出されるファイルが含まれるアーカイブを抽出することができます。

execute

exec_result repository_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")

引数のリストで指定されたコマンドを実行します。コマンドの実行時間は timeout によって制限されます(秒単位、デフォルトは 600 秒)。このメソッドは、コマンドの出力を含む exec_result 構造を返します。environment マップを使用すると、プロセスに渡す一部の環境変数をオーバーライドできます。

パラメータ

パラメータ 説明
arguments 必須
引数のリスト。最初の要素は、実行するプログラムへのパスにする必要があります。
timeout default = 600
コマンドの最大時間(秒単位)(デフォルトは 600 秒)。
environment default = {}
一部の環境変数を強制的にプロセスに渡すよう設定する。
quiet default = True
stdout と stderr をターミナルに出力する必要があるかどうか。
working_directory default = ""
コマンド実行用の作業ディレクトリ。リポジトリのルートからの相対パスまたは絶対パスを指定できます。

extract

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

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

パラメータ

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

ファイル

None repository_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)。今後のバージョンではデフォルトが変更され、このパラメータは削除されます。

name

string repository_ctx.name

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

os

repository_os repository_ctx.os

システムから情報にアクセスする構造体。

patch

None repository_ctx.patch(patch_file, strip=0)

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

パラメータ

パラメータ 説明
patch_file string; or Label; or path(必須)
適用するパッチファイル。ラベル、相対パス、または絶対パスを指定できます。相対パスの場合、リポジトリ ディレクトリに解決されます。
strip default = 0
ファイル名から指定した数の主要なコンポーネントを削除します。

パス

path repository_ctx.path(path)

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

パラメータ

パラメータ 説明
path string; or Label; or path(必須)
パスの作成元の文字列、ラベル、またはパス

読み取り

string repository_ctx.read(path)

ファイル システム上のファイルの内容を読み取ります。

パラメータ

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

レポートの進行状況

None repository_ctx.report_progress(status='')

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

パラメータ

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

None repository_ctx.symlink(target, link_name)

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

パラメータ

パラメータ 説明
target string; or Label; or path(必須)シンボリック リンクが指すパス。
string; or Label; or path(必須)
作成するシンボリック リンクの相対パス(リポジトリ ディレクトリへの相対パス)。

テンプレート

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

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

パラメータ

パラメータ 説明
path string; or Label; or path; 必須
。リポジトリ ディレクトリを基準として作成するファイルへのパス。
template string; or Label; or path;
必須(テンプレート ファイルへのパス)。
substitutions default = テンプレートを展開するときに行う
置換。
executable default = True
作成したファイルで実行可能フラグを設定します。デフォルトでは true になります。

どの

path repository_ctx.which(program)

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

パラメータ

パラメータ 説明
program 必須
パス内で検出するプログラム。
None を返す場合があります。

ワークスペースのルート

path repository_ctx.workspace_root

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