implementation
関数の引数として repo_LookML オブジェクトを取得します。メンバー
- attr
- delete
- ダウンロード
- download_and_extract
- execute
- extract
- file
- getenv
- name
- os
- patch
- path
- read
- report_progress
- symlink
- template
- watch
- watch_tree
- workspace_root
属性
struct repository_ctx.attr属性の値にアクセスするための構造体。値はユーザーが指定します(ない場合はデフォルト値が使用されます)。
delete
bool repository_ctx.delete(path)ファイルまたはディレクトリを削除します。ファイルまたはディレクトリが、この呼び出しによって実際に削除されたかどうかを示すブール値を返します。
パラメータ
パラメータ | 説明 |
---|---|
path
|
string: path: 必須 削除するファイルのパス(リポジトリ ディレクトリからの相対パス、または絶対パス)。パスまたは文字列を指定できます。 |
ダウンロード
unknown repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', block=True)指定された URL の出力パスにファイルをダウンロードし、
success
を含む構造体を返します。ダウンロードが正常に完了した場合はフラグ true
、成功した場合は sha256
と integrity
のフィールドを含むファイルのハッシュを返します。
パラメータ
パラメータ | 説明 |
---|---|
url
|
文字列、または文字列のイテラブル。
必須 同じファイルを参照するミラー URL のリスト。 |
output
|
string、Label、path。デフォルトは '' です。出力ファイルのパス(リポジトリ ディレクトリを基準とする相対パス)です。 |
sha256
|
デフォルトは '' です。ダウンロードしたファイルの想定される SHA-256 ハッシュです。ダウンロードしたファイルの SHA-256 ハッシュと一致している必要があります。リモート ファイルは変更される可能性があるため、SHA-256 を省略するとセキュリティ リスクが発生します。このフィールドを省略すると、ビルドが非密閉型のものになります。開発を容易にするためのオプションですが、リリース前に設定する必要があります。 |
executable
|
デフォルトは False です。作成されたファイルの実行可能フラグを設定します。デフォルトでは false です。 |
allow_fail
|
デフォルトは False です設定されている場合は、ダウンロードに失敗した場合にエラーを返すのではなく、戻り値でエラーを示します。 |
canonical_id
|
デフォルトは '' です。設定すると、キャッシュ ヒットを、同じ正規 ID でファイルがキャッシュに追加された場合にのみキャッシュ ヒットに制限されます。 |
auth
|
デフォルトは {} です。一部の URL の認証情報を指定するディクショナリ(省略可)。 |
headers
|
デフォルトは {} です。すべての URL の http ヘッダーを指定する辞書(省略可)。 |
integrity
|
デフォルトは '' です。ダウンロードされるファイルの想定されるチェックサム(サブリソースの整合性形式)。ダウンロードしたファイルのチェックサムと一致する必要があります。リモート ファイルが変更される可能性があるため、チェックサムを省略するとセキュリティ上のリスクが発生します。このフィールドを省略すると、ビルドが非密閉型のものになります。開発を容易にするためのオプションですが、リリース前に設定する必要があります。 |
block
|
デフォルトは True です。false に設定すると、呼び出しはすぐに返され、通常の戻り値の代わりに、1 つのメソッド wait() を含むトークンが返されます。このメソッドはダウンロードが完了するまでブロックし、通常の戻り値を返すか、通常どおりスローします。 |
download_and_extract
struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', rename_files={})指定された URL の出力パスにファイルをダウンロードして抽出し、
success
を含む構造体を返します。フラグ(ダウンロードが正常に完了した場合は true
、成功した場合は sha256
と integrity
を含むファイルのハッシュ)が含まれます。
パラメータ
パラメータ | 説明 |
---|---|
url
|
文字列、または文字列のイテラブル。
必須 同じファイルを参照するミラー URL のリスト。 |
output
|
string、Label、path。デフォルトは '' アーカイブを展開するディレクトリへのパス(リポジトリ ディレクトリを基準とする相対パス)です。 |
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 の認証情報を指定するディクショナリ(省略可)。 |
headers
|
デフォルトは {} です。すべての URL の http ヘッダーを指定する辞書(省略可)。 |
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={}, watch_archive='auto')
アーカイブをリポジトリ ディレクトリに抽出します。
パラメータ
パラメータ | 説明 |
---|---|
archive
|
string、Label、または path。必須の 解凍するアーカイブへのパス(リポジトリ ディレクトリを基準とする相対パス)。 |
output
|
string、Label、path。デフォルトは '' アーカイブを展開するディレクトリへのパス(リポジトリ ディレクトリを基準とする相対パス)です。 |
stripPrefix
|
デフォルトは '' です。抽出されたファイルから削除するディレクトリ接頭辞です。多くのアーカイブには、アーカイブ内のすべてのファイルを含む最上位ディレクトリがあります。このフィールドを使用すると、この接頭辞を build_file で何度も指定しなくても、抽出されたファイルから削除できます。 |
rename_files
|
デフォルトは {} です。抽出時に名前を変更するファイルを指定するディクショナリ(省略可)。名前がキーと完全に一致するアーカイブ エントリは、ディレクトリ接頭辞が調整される前に、その値に名前が変更されます。これは、Unicode 以外のファイル名を含むアーカイブや、大文字と小文字を区別しないファイルシステム上の同じパスに抽出されるファイルを含むアーカイブの抽出に使用できます。 |
watch_archive
|
デフォルトは 'auto' です。アーカイブ ファイルを監視するかどうか。文字列「yes」、「no」、「auto」のいずれか。「yes」を渡すと、 watch() メソッドを直ちに呼び出すのと同じ結果になります。「no」を渡すと、ファイルの監視は試行されません。「auto」を渡すと、許可されている場合にのみ、ファイルの監視が試行されます(詳しくは、watch() のドキュメントをご覧ください)。 |
あなた宛てに表示されます。
None
repository_ctx.file(path, content='', executable=True, legacy_utf8=True)
リポジトリ ディレクトリに、指定されたコンテンツを含むファイルを生成します。
パラメータ
パラメータ | 説明 |
---|---|
path
|
string、Label、または path。リポジトリ ディレクトリを基準とする、作成するファイルの パス(必須)。 |
content
|
デフォルトは '' です。作成するファイルの内容。デフォルトでは空です。 |
executable
|
デフォルトは True です。作成されたファイルの実行可能フラグをデフォルトで true に設定します。 |
legacy_utf8
|
デフォルトは True です。ファイルのコンテンツを UTF-8 にエンコードします。デフォルトでは true です。今後のバージョンでデフォルトが変更され、このパラメータは削除されます。 |
getenv
string repository_ctx.getenv(name, default=None)環境変数
name
の値が存在する場合は文字列として返します。存在しない場合は default
を返します。段階的にビルドする場合、name
で指定された変数の値が変更されると、このリポジトリが再取得されます。
パラメータ
パラメータ | 説明 |
---|---|
name
|
string:
必須 目的の環境変数の名前 |
default
|
文字列または None (デフォルトは None )「name」が見つからない場合に返されるデフォルト値 |
None
が返されることがあります。
name
string repository_ctx.nameこのルールによって作成された外部リポジトリの名前。
os
repository_os repository_ctx.osシステムの情報にアクセスするための構造体。
patch
None
repository_ctx.patch(patch_file, strip=0, *, watch_patch='auto')
外部リポジトリのルート ディレクトリにパッチファイルを適用します。パッチファイルは、標準の統合差分形式ファイルである必要があります。Bazel ネイティブのパッチ実装は、パッチ コマンドライン ツールなどのファズマッチとバイナリパッチをサポートしていません。
パラメータ
パラメータ | 説明 |
---|---|
patch_file
|
string、Label、path。必須 適用するパッチファイル。ラベル、相対パス、絶対パスのいずれかです。相対パスの場合は、リポジトリ ディレクトリに解決されます。 |
strip
|
デフォルトは 0 です。指定された数の先行コンポーネントをファイル名から削除します。 |
watch_patch
|
デフォルトは 'auto' です。パッチファイルを監視するかどうか。文字列「yes」、「no」、「auto」のいずれか。「yes」を渡すと、 watch() メソッドを直ちに呼び出すのと同じ結果になります。「no」を渡すと、ファイルの監視は試行されません。「auto」を渡すと、許可されている場合にのみ、ファイルの監視が試行されます(詳しくは、watch() のドキュメントをご覧ください)。 |
パス
path repository_ctx.path(path)文字列、ラベル、またはパスからパスを返します。パスが相対パスの場合は、リポジトリ ディレクトリを基準として解決されます。パスがラベルの場合は、対応するファイルのパスに解決されます。リモート・リポジトリは分析フェーズで実行されるため、ターゲットの結果に依存できません(ラベルは、生成されていないファイルを指している必要があります)。パスにパスを指定した場合は、パスがそのまま返されます。
パラメータ
パラメータ | 説明 |
---|---|
path
|
string、Label、または path。必須 パスの作成元となる文字列、ラベル、またはパス |
read
string repository_ctx.read(path, *, watch='auto')ファイル システム上のファイルのコンテンツを読み取ります。
パラメータ
パラメータ | 説明 |
---|---|
path
|
string、Label、path。読み取り元のファイルの パス(必須)。 |
watch
|
デフォルトは 'auto' です。ファイルを監視するかどうか。文字列「yes」、「no」、「auto」のいずれか。「yes」を渡すと、 watch() メソッドを直ちに呼び出すのと同じ結果になります。「no」を渡すと、ファイルの監視は試行されません。「auto」を渡すと、許可されている場合にのみ、ファイルの監視が試行されます(詳しくは、watch() のドキュメントをご覧ください)。 |
report_progress
None
repository_ctx.report_progress(status='')
このリポジトリまたはモジュール拡張機能の取得の進行状況ステータスを更新します。
パラメータ
パラメータ | 説明 |
---|---|
status
|
string:
デフォルトは '' 取得の進行状況を示す文字列 |
symlink
None
repository_ctx.symlink(target, link_name)
ファイル システムにシンボリック リンクを作成します。
パラメータ
パラメータ | 説明 |
---|---|
target
|
string、Label、path、必須 シンボリック リンクが参照するパス。 |
link_name
|
string、Label、path、必須 作成するシンボリック リンクのパス。 |
テンプレート
None
repository_ctx.template(path, template, substitutions={}, executable=True, *, watch_template='auto')
template
を使用して新しいファイルを生成します。substitutions
のキーが template
で出現するたびに、対応する値に置き換えられます。結果は path
に書き込まれます。オプションの executable
引数(デフォルトは true)を設定して、実行可能ビットをオンまたはオフにすることができます。
パラメータ
パラメータ | 説明 |
---|---|
path
|
string、Label、または path。リポジトリ ディレクトリを基準とする、作成するファイルの パス(必須)。 |
template
|
string、Label、path。テンプレート ファイルへの パス(必須)。 |
substitutions
|
デフォルトは {} です。テンプレートの拡張時に行われる置換があります。 |
executable
|
デフォルトは True です。作成されたファイルの実行可能フラグをデフォルトで true に設定します。 |
watch_template
|
デフォルトは 'auto' です。テンプレート ファイルを watch するかどうかを設定します。文字列「yes」、「no」、「auto」のいずれか。「yes」を渡すと、 watch() メソッドを直ちに呼び出すのと同じ結果になります。「no」を渡すと、ファイルの監視は試行されません。「auto」を渡すと、許可されている場合にのみ、ファイルの監視が試行されます(詳しくは、watch() のドキュメントをご覧ください)。 |
スマートウォッチ
None
repository_ctx.watch(path)
指定したパスの変更の有無、パスがファイルかディレクトリかにかかわらず、変更を監視するよう Bazel に指示します。ファイルまたはディレクトリに変更を加えると、このリポジトリまたはモジュールの拡張が無効になり、次回に再取得または再評価が行われます。「変更」には、ファイルの内容に対する変更(パスがファイルの場合)、パスがファイルであったがディレクトリになった場合、またはその逆の場合、パスが既存の開始または停止した場合が含まれます。特に、パスがディレクトリの場合、ディレクトリ下のファイルに対する変更は含まれません。その場合は、代わりに path.readdir()
を使用します。
現在取得されているリポジトリ内、または現在のモジュール拡張機能の作業ディレクトリ内のパスを監視しようとすると、エラーになります。モジュール拡張機能が現在の Bazel ワークスペース外のパスを監視しようとした場合も、エラーが発生します。
パラメータ
パラメータ | 説明 |
---|---|
path
|
string、Label、path。監視するファイルのパスの 必須パス。 |
watch_tree
None
repository_ctx.watch_tree(path)
指定されたパスの下にあるファイルやディレクトリに対する推移的な変更を監視するよう Bazel に指示します。ファイルの内容、ファイルやディレクトリの存在、ファイル名、ディレクトリ名が変更されると、このリポジトリが再取得されます。現在取得されているリポジトリ内のパスを監視しようとすると、エラーが発生します。
パラメータ
パラメータ | 説明 |
---|---|
path
|
string、Label、path。監視するディレクトリ ツリーの パス(必須)。 |
これは
path repository_ctx.which(program)対応するプログラムのパスを返します。パス内にそのようなプログラムが存在しない場合は None を返します。
パラメータ
パラメータ | 説明 |
---|---|
program
|
required プログラムはパス内で検出します。 |
None
が返されることがあります。
workspace_root
path repository_ctx.workspace_rootbazel 呼び出しのルート ワークスペースへのパス。