utils リポジトリ ルール

問題を報告する ソースを表示 ナイトリー · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

download_remote_files(ctx, auth)

リモート ファイルをダウンロードするためのユーティリティ関数。

このルールは、リポジトリ ルールの実装関数で使用することを目的としています。ctx.attr にパラメータ remote_file_urlsremote_file_integrity が存在することを前提としています。

パラメータ

ctx 必須です。

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

auth 省略可。デフォルトは None です。

一部の URL の認証情報を指定するオプションの辞書。

get_auth

get_auth(ctx, urls)

.netrc ファイルから URL リストの正しい認証ディクショナリを取得するユーティリティ関数。

オプションの netrc 属性と auth_patterns 属性をサポート(利用可能な場合)。

パラメータ

ctx 必須です。

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

urls 必須です。

読み取る URL のリスト

戻り値

repository_ctx.download に渡すことができる認証ディクショナリ

どちらでもない

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 です。

エラー メッセージで使用するファイル名(存在する場合)。

戻り値

マシン名を、それらに関する情報を含む辞書にマッピングする辞書

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 コマンド。1 つずつ bash -c に渡されます。文字列のリスト

patch_cmds_win 省略可。デフォルトは None です。

パッチ適用のために実行する PowerShell コマンド。powershell /c に 1 つずつ渡されます。文字列のリスト。このパラメータのブール値が false の場合、patch_cmds が使用され、このパラメータは無視されます。

patch_tool 省略可。デフォルトは None です。

パッチを適用するために実行するパッチツールのパス。文字列。

patch_args 省略可。デフォルトは None です。

パッチツールに渡す引数。文字列のリスト。

auth 省略可。デフォルトは None です。

一部の URL の認証情報を指定するオプションの辞書。

read_netrc

read_netrc(ctx, filename)

少なくとも基本的な .netrc ファイルを解析するユーティリティ関数。

パラメータ

ctx 必須です。

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

filename 必須です。

読み取る .netrc ファイルの名前

戻り値

マシン名を、それらに関する情報を含む辞書にマッピングする辞書

read_user_netrc

read_user_netrc(ctx)

ユーザーのデフォルトの netrc ファイルを読み取る。

パラメータ

ctx 必須です。

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

戻り値

マシン名を、それらに関する情報を含む辞書にマッピングする辞書。

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 のオプションの辞書

戻り値

ctx.download の auth 引数として適した辞書。より正確には、この辞書は、netrc ファイルがログインとパスワードを提供するすべての URL を、対応するログイン、パスワード、オプションの認可パターンを含む辞書にマッピングします。また、「type」を「basic」または「pattern」にマッピングします。

workspace_and_buildfile

workspace_and_buildfile(ctx)

WORKSPACE と、リクエストに応じて BUILD ファイルを書き込むユーティリティ関数。

このルールは、リポジトリ ルールの実装関数で使用することを目的としています。パラメータ namebuild_filebuild_file_contentworkspace_fileworkspace_file_contentctx.attr に存在することを前提としています。後者の 4 つは値が None の場合もあります。

パラメータ

ctx 必須です。

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