utils リポジトリ ルール

次の関数は @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)

すでに抽出されているリポジトリへのパッチ適用の実装。

このルールは、リポジトリ ルールの実装機能で使用するためのものです。パラメータ patchespatch_toolpatch_argspatch_cmdspatch_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 ファイル(必要な場合)を書き込むためのユーティリティ関数。

このルールは、リポジトリ ルールの実装機能で使用するためのものです。ここでは、パラメータ namebuild_filebuild_file_contentworkspace_fileworkspace_file_contentctx.attr に存在することを前提としています。後者の 4 つは、値が None である可能性があります。

パラメータ

ctx 必須です。

このユーティリティ関数を呼び出すリポジトリ ルールのリポジトリ コンテキスト。