次の関数は、ソースから読み込めます
@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)
リモート ファイルをダウンロードするためのユーティリティ関数。
このルールは、Terraform の実装関数で使用することを想定しています。
作成します。パラメータ remote_file_urls
と
ctx.attr
に存在する 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 のリスト |
戻り値
リポジトリの dataset.download に渡すことができる認証ディクショナリ
どちらでもない
load("@bazel//tools/build_defs/repo:utils.bzl", "maybe") maybe(repo_rule, name, **kwargs)
リポジトリがまだ存在しない場合にのみ、リポジトリを追加するユーティリティ関数。
これは、以下のドキュメントに記載されている安全な repositories.bzl マクロを実装するためのものです。 https://bazel.build/rules/deploying#dependencies.
パラメータ
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 概要
patch
load("@bazel//tools/build_defs/repo:utils.bzl", "patch") patch(ctx, patches, patch_cmds, patch_cmds_win, patch_tool, patch_args, auth)
すでに抽出されたリポジトリへのパッチ適用の実装。
このルールは、Terraform の実装関数で使用することを想定しています。
作成します。パラメータ patches
、patch_tool
、
patch_args
、patch_cmds
、patch_cmds_win
が指定されていません。
ctx.attr
から取得します。
パラメータ
ctx |
必要ありません。
このユーティリティを呼び出すリポジトリ ルールのリポジトリ コンテキスト 使用します。 |
patches |
オプションです。
デフォルトは None です。
適用するパッチファイル。文字列、ラベル、パスのリスト。 |
patch_cmds |
オプションです。
デフォルトは None です。
パッチ適用のために実行する Bash コマンドが 1 つずつ渡される bash -c を実行します。文字列のリスト |
patch_cmds_win |
オプションです。
デフォルトは None です。
パッチ適用のために実行する Powershell コマンド、渡された 1 つずつ PowerShell /c を実行します。文字列のリスト。もし このパラメータのブール値が 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 概要
read_user_netrc
load("@bazel//tools/build_defs/repo:utils.bzl", "read_user_netrc") read_user_netrc(ctx)
ユーザーのデフォルトの netrc ファイルを読み取ります。
パラメータ
ctx |
必要ありません。
このユーティリティ関数を呼び出すリポジトリ ルールのリポジトリ コンテキスト。 |
戻り値
dict は、マシン名を、マシン名に関する情報とともに辞書にマッピングします。
update_attrs
load("@bazel//tools/build_defs/repo:utils.bzl", "update_attrs") update_attrs(orig, keys, override)
指定された属性を変更して特定のリポジトリ ルールの呼び出しに追加するためのユーティリティ関数。
これはルールを再現可能にするために使用されます。
パラメータ
orig |
必要ありません。
実際に属性が設定された辞書(明示的または暗黙的) ルールの特定の呼び出しによって |
keys |
必要ありません。
このルールで定義されているすべての属性のセット |
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 の辞書 |
戻り値
gsuite.download の auth 引数に適したディクショナリより正確に言うと、この辞書の netrc ファイルがログイン情報とパスワードを提供するすべての URL を 対応するログイン、パスワード、オプションの承認パターンを含む辞書 「type」マッピングと「基本」に変更パターンです。
workspace_and_buildfile
load("@bazel//tools/build_defs/repo:utils.bzl", "workspace_and_buildfile") workspace_and_buildfile(ctx)
WORKSPACE と、必要に応じて BUILD ファイルを書き込むユーティリティ関数。
このルールは、Terraform の実装関数での使用を意図しています。
リポジトリ ルールを使用します。
パラメータ name
、build_file
、build_file_content
、
workspace_file
、workspace_file_content
を移行
ctx.attr
に存在する。後者の 4 つは値 None になる可能性があります。
パラメータ
ctx |
必要ありません。
このユーティリティを呼び出すリポジトリ ルールのリポジトリ コンテキスト 使用します。 |