次の関数は @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)
リモートファイルをダウンロードするためのユーティリティ関数。
このルールは、リポジトリルールの実装関数で使用することを目的としています。パラメータ remote_file_urls と remote_file_integrity が ctx.attr に存在することを前提としています。
パラメータ
| 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 | 省略可。デフォルトは Noneです。エラー メッセージで使用するファイル名(ある場合)。 | 
戻り値
マシン名を、そのマシンに関する情報を含む dict にマッピングする dict
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 の認証情報を指定する省略可能な辞書。 | 
read_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_netrc")
read_netrc(ctx, filename)
少なくとも基本的な .netrc ファイルを解析するユーティリティ関数。
パラメータ
| ctx | 必須です。 このユーティリティ関数を呼び出すリポジトリルールのリポジトリ コンテキスト。 | 
| filename | 必須です。 読み取る .netrc ファイルの名前 | 
戻り値
マシン名を、そのマシンに関する情報を含む dict にマッピングする dict
read_user_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_user_netrc")
read_user_netrc(ctx)
ユーザーのデフォルトの netrc ファイルを読み取ります。
パラメータ
| ctx | 必須です。 このユーティリティ関数を呼び出すリポジトリルールのリポジトリ コンテキスト。 | 
戻り値
マシン名を、そのマシンに関する情報を含む dict にマッピングする dict。
update_attrs
load("@bazel//tools/build_defs/repo:utils.bzl", "update_attrs")
update_attrs(orig, keys, override)
特定のリポジトリ ルール呼び出しで指定された属性を変更または追加するためのユーティリティ関数。
これは、ルールを再現可能にするために使用されます。
パラメータ
| orig | 必須です。 特定のルール呼び出しによって実際に設定された属性の辞書(明示的または暗黙的) | 
| keys | 必須です。 このルールで定義された属性の完全なセット | 
| override | 必須です。 orig をオーバーライドまたは追加する属性の dict | 
戻り値
オーバーライドのキーが挿入または更新された属性の辞書
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)
WORKSPACE ファイルと、リクエストされた場合は BUILD ファイルを書き込むためのユーティリティ関数。
このルールは、リポジトリルールの実装関数で使用することを目的としています。パラメータ name、build_file、build_file_content、workspace_file、workspace_file_content が ctx.attr に存在することを前提としています。後者の 4 つは値が None の可能性があります。
パラメータ
| ctx | 必須です。 このユーティリティ関数を呼び出すリポジトリルールのリポジトリ コンテキスト。 |