implementation
関数の引数として repository_ctx オブジェクトを取得します。メンバー
- attr
- delete
- ダウンロード
- download_and_extract
- execute
- extract
- file
- name
- os
- patch
- path
- 読み取り
- report_progress
- symlink
- テンプレート
- どの
- workspace_root
属性
struct repository_ctx.attr属性の値にアクセスするための構造体。値はユーザーが指定します(使用しない場合はデフォルト値が使用されます)。
delete
bool repository_ctx.delete(path)ファイルまたはディレクトリを削除します。ファイルやディレクトリがこの呼び出しによって実際に削除されたかどうかを示すブール値を返します。
パラメータ
パラメータ | 説明 |
---|---|
path
|
string; or path (必須)削除するファイルのパス、リポジトリ ディレクトリからの相対パス、または絶対パス。パスまたは文字列を指定します。 |
ダウンロード
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 のファイル拡張子によって決まります。ファイルに拡張子がない場合、"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 repository_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 = " コマンド実行用の作業ディレクトリ。 リポジトリのルートからの相対パス、または絶対パスを指定できます。 |
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)。今後のバージョンでは、このパラメータが変更されてこのパラメータは削除されます。 |
表示されます。
string repository_ctx.nameこのルールによって作成された外部リポジトリの名前。
os
repository_os repository_ctx.osシステムから情報にアクセスするための構造体。
patch
None repository_ctx.patch(patch_file, strip=0)外部リポジトリのルート ディレクトリにパッチファイルを適用します。パッチファイルは標準の Unify diff 形式ファイルにしてください。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 = ''取得の進行状況の現在の状態を示す文字列 |
symlink
None repository_ctx.symlink(target, link_name)ファイル システムにシンボリック リンクを作成します。
パラメータ
パラメータ | 説明 |
---|---|
target
|
string; or Label; or path (必須)シンボリック リンクが指すパス。 |
link_name
|
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
を返すことがあります。#workspace_root
path repository_ctx.workspace_rootbazel 呼び出しのルート ワークスペースのパス。