次の関数は、
@bazel_tools//tools/build_defs/repo:utils.bzl から読み込むことができます。
フェッチされた外部リポジトリを操作するためのユーティリティ。
設定
これらのユーティリティは、他のリポジトリ ルールで使用することを目的としています。次のように読み込むことができます。
load(
"@bazel_tools//tools/build_defs/repo:utils.bzl",
"workspace_and_buildfile",
"patch",
"update_attrs",
)
download_remote_files
load("@bazel//tools/build_defs/repo:utils.bzl", "download_remote_files")
download_remote_files(ctx, auth)
リモート ファイルをダウンロードするためのユーティリティ関数。
このルールは、リポジトリ ルールの実装関数で
使用することを目的としています。ctx.attr にパラメータ remote_file_urls と
remote_file_integrity が存在することを前提としています。
既存のファイルは上書きされます。
パラメータ
ctx |
必須。
このユーティリティ 関数。 |
auth |
省略可。
デフォルトは None
一部の URL の認証情報を指定する省略可能な辞書。 |
戻り値
ファイルパスをダウンロード情報にマッピングする辞書。
get_auth
load("@bazel//tools/build_defs/repo:utils.bzl", "get_auth")
get_auth(ctx, URLs)
.netrc ファイルから URL のリストの正しい認証辞書を取得するユーティリティ関数。
使用可能な場合は、省略可能な netrc 属性と auth_patterns 属性をサポートします。
パラメータ
ctx |
必須。
このユーティリティ 関数。 |
urls |
必須。
読み取る URL のリスト |
戻り値
repository_ctx.download に渡すことができる認証辞書
どちらでもない
load("@bazel//tools/build_defs/repo:utils.bzl", "maybe")
maybe(repo_rule, name, **kwargs)
リポジトリがまだ存在しない場合にのみリポジトリを追加するユーティリティ関数。
これは、 https://bazel.build/rules/deploying#dependencies に記載されている安全な repositories.bzl マクロを実装するためのものです。
パラメータ
repo_rule |
必須。
リポジトリ ルール関数。 |
name |
必須。
作成するリポジトリの名前。 |
kwargs |
省略可。
repo_rule 関数に渡される残りの引数。 |
戻り値
なし。必要に応じて、副作用としてリポジトリを定義します。
parse_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "parse_netrc")
parse_netrc(contents, filename)
少なくとも基本的な .netrc ファイルを解析するユーティリティ関数。
パラメータ
contents |
必須。
パーサーの入力。 |
filename |
省略可。
デフォルトは "a .netrc file"
エラー メッセージで使用するファイル名(存在する場合)。 |
戻り値
マシン名を、そのマシンに関する情報を含む辞書にマッピングする辞書
patch
load("@bazel//tools/build_defs/repo:utils.bzl", "patch")
patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)
すでに抽出されたリポジトリにパッチを適用する実装。
このルールは、リポジトリ ルールの実装関数で
使用することを目的としています。パラメータ patches、patch_tool、
patch_args、patch_cmds、patch_cmds_win が指定されていない
場合は、ctx.attr から取得されます。
パラメータ
ctx |
必須。
このユーティリティ 関数。 |
patches |
省略可。
デフォルトは None
適用するパッチファイル。文字列、ラベル、パスのリスト。 |
patch_cmds |
省略可。
デフォルトは None
パッチ適用用に実行する Bash コマンド。bash -c に 1 つずつ渡されます。文字列のリスト |
patch_cmds_win |
省略可。
デフォルトは None
パッチ適用用に実行する Powershell コマンド。 powershell /c に 1 つずつ渡されます。文字列のリスト。このパラメータの ブール値が false の場合、patch_cmds が 使用され、このパラメータは無視されます。 |
patch_tool |
省略可。
デフォルトは None
パッチの適用時に実行するパッチツールのパス。文字列。 |
patch_args |
省略可。
デフォルトは None
パッチツールに渡す引数。文字列のリスト。 |
auth |
省略可。
デフォルトは None
一部の URL の認証情報を指定する省略可能な辞書。 |
戻り値
リモート パッチ URL をダウンロード情報にマッピングする辞書。
read_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_netrc")
read_netrc(ctx, filename)
少なくとも基本的な .netrc ファイルを解析するユーティリティ関数。
パラメータ
ctx |
必須。
このユーティリティ 関数。 |
filename |
必須。
読み取る .netrc ファイルの名前 |
戻り値
マシン名を、そのマシンに関する情報を含む辞書にマッピングする辞書
read_user_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_user_netrc")
read_user_netrc(ctx)
ユーザーのデフォルトの netrc ファイルを読み取ります。
パラメータ
ctx |
必須。
このユーティリティ関数を呼び出すリポジトリ ルールのリポジトリ コンテキスト。 |
戻り値
マシン名を、そのマシンに関する情報を含む辞書にマッピングする辞書。
symlink_files
load("@bazel//tools/build_defs/repo:utils.bzl", "symlink_files")
symlink_files(ctx)
ローカル ファイルをシンボリック リンクするためのユーティリティ関数。
これは、リポジトリ ルールの実装関数で使用することを目的としています。ctx.attr にパラメータ files が存在することを前提としています。
既存のファイルは上書きされます。
パラメータ
ctx |
必須。
このユーティリティ 関数。 |
update_attrs
load("@bazel//tools/build_defs/repo:utils.bzl", "update_attrs")
update_attrs(orig, keys, override)
特定の属性を変更して、特定のリポジトリ ルールの呼び出しに追加するユーティリティ関数。
これは、ルールを再現可能にするために使用されます。
パラメータ
orig |
必須。
特定のリール呼び出しによって実際に設定された属性の辞書(明示的または暗黙的) |
keys |
必須。
このルールで定義されている属性の完全なセット |
override |
必須。
orig をオーバーライドまたは追加する属性の辞書 |
戻り値
override のキーが挿入または更新された属性の辞書
use_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "use_netrc")
use_netrc(netrc, URLs, patterns)
解析済みの netrc ファイルと URL のリストから認証辞書を計算します。
パラメータ
netrc |
必須。
すでに辞書に解析されている netrc ファイル( read_netrc から取得したファイルなど) |
URLs |
必須。
URL のリスト。 |
patterns |
必須。
URL から承認パターンへの省略可能な辞書 |
戻り値
ctx.download の認証引数として適切な辞書。より正確には、辞書 は、netrc ファイルがログインとパスワードを提供するすべての URL を、対応するログイン、パスワード、省略可能な承認パターンを含む 辞書にマッピングし、 "type" を "basic" または "pattern" にマッピングします。
workspace_and_buildfile
load("@bazel//tools/build_defs/repo:utils.bzl", "workspace_and_buildfile")
workspace_and_buildfile(ctx)
BUILD ファイルを書き込むためのユーティリティ関数。
このルールは、リポジトリ ルールの実装関数で使用することを目的としています。`ctx.attr` にパラメータ `name`、`build_file`、`build_file_content` が存在することを前提としています。後者の 2 つは値が None の可能性があります。
パラメータ
ctx |
必須。
このユーティリティ 関数。 |