次の関数は @bazel_tools//tools/build_defs/repo:utils.bzl
から読み込めます。
取得された外部リポジトリを操作するためのユーティリティ。
設定
これらのユーティリティは、他のリポジトリ ルールで使用することを目的としています。これらは次のように読み込みます。
load(
"@bazel_tools//tools/build_defs/repo:utils.bzl",
"workspace_and_buildfile",
"patch",
"update_attrs",
)
どちらでもない
maybe(repo_rule, name, kwargs)
リポジトリがまだ存在しない場合にのみ追加するユーティリティ関数です。
これは、https://bazel.build/rules/deploying#dependencies に記載されている安全な repositories.bzl マクロを実装するためです。
パラメータ
repo_rule |
必須です。 リポジトリ ルール関数を使用します。 |
name |
必須です。 作成するリポジトリの名前。 |
kwargs |
省略可。
repo_rule 関数に渡す残りの引数を指定します。 |
戻り値
特に何もしません。副作用として必要な場合にリポジトリを定義します。
parse_netrc
parse_netrc(contents, filename)
少なくとも基本的な .netrc ファイルを解析するユーティリティ関数。
パラメータ
contents |
必須です。 パーサーの入力用です。 |
filename |
デフォルトは None です。
エラー メッセージで使用するファイル名(ある場合)。 |
戻り値
マシン名について提供された情報を含む dict にマシン名をマッピングする dict
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 コマンド。一度に 1 つずつ PowerShell /c に渡されます。文字列のリスト。このパラメータのブール値が false の場合、patch_cmds が使用され、このパラメータは無視されます。 |
patch_tool |
デフォルトは None です。
パッチを適用するために実行するパッチツールのパス。文字列。 |
patch_args |
デフォルトは None です。
パッチツールに渡す引数。文字列のリスト。 |
auth |
デフォルトは None です。
一部の URL の認証情報を指定する辞書(省略可)。 |
read_netrc
read_netrc(ctx, filename)
少なくとも基本的な .netrc ファイルを解析するユーティリティ関数。
パラメータ
ctx |
必須です。 このユーティリティ関数を呼び出すリポジトリ ルールのリポジトリ コンテキスト。 |
filename |
必須です。 読み取る .netrc ファイルの名前 |
戻り値
マシン名について提供された情報を含む dict にマシン名をマッピングする dict
read_user_netrc
read_user_netrc(ctx)
ユーザーのデフォルトの netrc ファイルを読み取る。
パラメータ
ctx |
必須です。 このユーティリティ関数を呼び出すリポジトリ ルールのリポジトリ コンテキスト。 |
戻り値
提供された情報を含む dict にマシン名をマッピングする dict。
update_attrs
update_attrs(orig, keys, override)
指定された属性を変更して、特定のリポジトリ ルールの呼び出しに追加するためのユーティリティ関数。
これはルールを再現可能にするために使用します。
パラメータ
orig |
必須です。 特定のルール呼び出しによって実際に属性を(明示的または暗黙的に)設定する辞書 |
keys |
必須です。 このルールで定義されているすべての属性セット |
override |
必須です。 オーバーライドまたはオリジナルに追加する属性の辞書 |
戻り値
オーバーライド挿入/更新されたキーを含む属性の辞書
use_netrc
use_netrc(netrc, urls, patterns)
解析された netrc ファイルと URL のリストから認証辞書を算出する。
パラメータ
netrc |
必須です。 辞書に解析済みの netrc ファイル(read_netrc から取得など) |
urls |
必須です。 URL のリストを指定します。 |
patterns |
必須です。 認可パターンの URL の辞書(省略可) |
戻り値
dict は resourcemanager.download の認証引数として適切です。正確には、dict は、netrc ファイルからログインとパスワードを提供するすべての URL を、対応するログイン、パスワード、オプションの承認パターンと、「type」から「basic」または「pattern」へのマッピングを含む dict にマッピングします。
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 |
必須です。 このユーティリティ関数を呼び出すリポジトリ ルールのリポジトリ コンテキスト。 |