ヘルパー関数と属性に関する情報を含むリポジトリ ルールのコンテキスト。リポジトリ ルールを作成するときに、implementation
関数の引数として repository_ctx オブジェクトを取得します。
メンバー
- attr
- delete
- ダウンロード
- download_and_extract
- 実行
- 抽出
- ファイル
- name
- os
- patch
- path
- read
- report_progress
- symlink
- テンプレート
- workspace_root
attr
struct repository_ctx.attr
delete
bool repository_ctx.delete(path)
パラメータ
パラメータ | 説明 |
---|---|
path
|
文字列、またはパス。必須 削除するファイルのパス(リポジトリ ディレクトリを基準とする相対パスまたは絶対パス)。パスまたは文字列にできます。 |
ダウンロード
struct repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')
success
を含む構造体、ダウンロードが正常に完了した場合は true
のフラグ、正常に完了した場合は sha256
フィールドと integrity
フィールドを含むファイルのハッシュを返します。
パラメータ
パラメータ | 説明 |
---|---|
url
|
文字列、または文字列の iterable。必須 同じファイルを参照するミラー URL のリスト。 |
output
|
文字列、ラベル、パス。デフォルトは '' 。リポジトリ ディレクトリを基準とする出力ファイルのパス。 |
sha256
|
デフォルトは '' で、ダウンロードされたファイルの想定される SHA-256 ハッシュです。これは、ダウンロードしたファイルの SHA-256 ハッシュと一致する必要があります。リモート ファイルは変更される可能性があるため、SHA-256 を省略するとセキュリティ リスクが生じます。このフィールドを省略すると、ビルドが非ヘルメティックになります。開発を容易にするために設定できますが、出荷前に設定する必要があります。 |
executable
|
デフォルトは False 作成されたファイルに実行可能フラグを設定します。デフォルトは false です。 |
allow_fail
|
デフォルトは False です。設定すると、ダウンロードに失敗したときにエラーをスローするのではなく、戻り値でエラーを示します。 |
canonical_id
|
デフォルトは '' です。設定すると、キャッシュ ヒットを、同じ正規 ID でキャッシュに追加されたファイルに限定します。 |
auth
|
デフォルトは {} URL の認証情報を指定するオプションの辞書。 |
integrity
|
デフォルトは '' ダウンロードされたファイルの想定チェックサム(Subresource Integrity 形式)。これは、ダウンロードしたファイルのチェックサムと一致している必要があります。リモート ファイルは変更される可能性があるため、チェックサムを省略するとセキュリティ リスクが発生します。このフィールドを省略すると、ビルドが非ヘルメティックになります。開発を容易にするために設定できますが、出荷前に設定する必要があります。 |
download_and_extract
struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})
success
を含む構造体、ダウンロードが正常に完了した場合は true
のフラグ、正常に完了した場合は sha256
フィールドと integrity
フィールドを含むファイルのハッシュを返します。
パラメータ
パラメータ | 説明 |
---|---|
url
|
文字列、または文字列の iterable。必須 同じファイルを参照するミラー URL のリスト。 |
output
|
文字列、ラベル、パス。デフォルトは '' 。アーカイブを展開するディレクトリのパス(リポジトリ ディレクトリからの相対パス)。 |
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」、「.tbz」、「.ar」、「.deb」のいずれかを明示的に指定できます。 |
stripPrefix
|
デフォルトは '' です。解凍されたファイルから削除するディレクトリ接頭辞です。多くのアーカイブには、アーカイブ内のすべてのファイルを含む最上位ディレクトリが含まれています。この接頭辞を build_file で何度も指定する代わりに、このフィールドを使用して、抽出されたファイルから接頭辞を削除できます。 |
allow_fail
|
デフォルトは False です。設定すると、ダウンロードに失敗したときにエラーをスローするのではなく、戻り値でエラーを示します。 |
canonical_id
|
デフォルトは '' です。設定すると、キャッシュ ヒットを、同じ正規 ID でキャッシュに追加されたファイルに限定します。 |
auth
|
デフォルトは {} URL の認証情報を指定するオプションの辞書。 |
integrity
|
デフォルトは '' ダウンロードされたファイルの想定チェックサム(Subresource Integrity 形式)。これは、ダウンロードしたファイルのチェックサムと一致している必要があります。リモート ファイルは変更される可能性があるため、チェックサムを省略するとセキュリティ リスクが発生します。このフィールドを省略すると、ビルドが非ヘルメティックになります。開発を容易にするために設定できますが、出荷前に設定する必要があります。 |
rename_files
|
デフォルトは {} 抽出時に名前を変更するファイルを指定するオプションの辞書。名前がキーと完全に一致するアーカイブ エントリは、ディレクトリ接頭辞の調整の前に、値に名前が変更されます。これは、Unicode 以外のファイル名を含むアーカイブや、大文字と小文字を区別しないファイル システムで同じパスに抽出されるファイルを抽出する場合に使用できます。 |
execute
exec_result repository_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")
timeout
によって制限されます(秒単位、デフォルトは 600 秒)。このメソッドは、コマンドの出力を含む exec_result
構造体を返します。environment
マップを使用すると、プロセスに渡される一部の環境変数をオーバーライドできます。
パラメータ
パラメータ | 説明 |
---|---|
arguments
|
必須 引数のリスト。最初の要素は、実行するプログラムのパスにする必要があります。 |
timeout
|
デフォルトは 600 です。コマンドの最大実行時間(デフォルトは 600 秒)。 |
environment
|
デフォルトは {} です。一部の環境変数を強制的に設定してプロセスに渡します。 |
quiet
|
デフォルトは True です。stdout と stderr をターミナルに出力するかどうか。 |
working_directory
|
デフォルトは "" コマンド実行の作業ディレクトリ。リポジトリのルート相対または絶対にできます。 |
extract
None
repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={})
パラメータ
パラメータ | 説明 |
---|---|
archive
|
文字列、ラベル、パス。必須 展開するアーカイブのパス(リポジトリ ディレクトリからの相対パス)。 |
output
|
文字列、ラベル、パス。デフォルトは '' 。アーカイブを展開するディレクトリのパス(リポジトリ ディレクトリからの相対パス)。 |
stripPrefix
|
デフォルトは '' です。解凍されたファイルから削除するディレクトリ接頭辞です。多くのアーカイブには、アーカイブ内のすべてのファイルを含む最上位ディレクトリが含まれています。この接頭辞を build_file で何度も指定する代わりに、このフィールドを使用して、抽出されたファイルから接頭辞を削除できます。 |
rename_files
|
デフォルトは {} 抽出時に名前を変更するファイルを指定するオプションの辞書。名前がキーと完全に一致するアーカイブ エントリは、ディレクトリ接頭辞の調整の前に、値に名前が変更されます。これは、Unicode 以外のファイル名を含むアーカイブや、大文字と小文字を区別しないファイル システムで同じパスに抽出されるファイルを抽出する場合に使用できます。 |
ファイル
None
repository_ctx.file(path, content='', executable=True, legacy_utf8=True)
パラメータ
パラメータ | 説明 |
---|---|
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)
パラメータ
パラメータ | 説明 |
---|---|
patch_file
|
文字列、ラベル、パス。必須 適用するパッチファイル。ラベル、相対パス、絶対パスのいずれか。相対パスの場合は、リポジトリ ディレクトリに解決されます。 |
strip
|
デフォルトは 0 ファイル名の先頭のコンポーネントを指定された数だけ削除します。 |
パス
path repository_ctx.path(path)
パラメータ
パラメータ | 説明 |
---|---|
path
|
文字列、ラベル、パス。必須 パスを作成する文字列、ラベル、パス。 |
read
string repository_ctx.read(path)
パラメータ
パラメータ | 説明 |
---|---|
path
|
文字列、ラベル、パス。必須 読み取り元のファイルのパス。 |
report_progress
None
repository_ctx.report_progress(status='')
パラメータ
パラメータ | 説明 |
---|---|
status
|
文字列。デフォルトは '' 。取得の進行状況の現在のステータスを示す文字列。 |
symlink
None
repository_ctx.symlink(target, link_name)
パラメータ
パラメータ | 説明 |
---|---|
target
|
string、Label、path(必須) シンボリック リンクが参照するパス。 |
link_name
|
文字列、ラベル、パス。必須 リポジトリ ディレクトリを基準とする、作成するシンボリック リンクのパス。 |
テンプレート
None
repository_ctx.template(path, template, substitutions={}, executable=True)
template
を使用して新しいファイルを生成します。template
内の substitutions
のキーはすべて、対応する値に置き換えられます。結果は path
に書き込まれます。オプションの executable
引数(デフォルトは true)を設定すると、実行可能ビットをオンまたはオフにできます。
パラメータ
パラメータ | 説明 |
---|---|
path
|
文字列、ラベル、パス。必須 リポジトリ ディレクトリを基準とする、作成するファイルのパス。 |
template
|
文字列、ラベル、パス。必須 テンプレート ファイルのパス。 |
substitutions
|
デフォルトは {} です。テンプレートを展開するときに行う置換です。 |
executable
|
デフォルトは True 作成されたファイルに実行可能フラグを設定します。デフォルトは true です。 |
これは
path repository_ctx.which(program)
パラメータ
パラメータ | 説明 |
---|---|
program
|
必須 パス内で検索するプログラム。 |
None
を返す場合があります。workspace_root
path repository_ctx.workspace_root