utils リポジトリ ルール

次の関数は、ソースから読み込めます @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_urlsctx.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 の実装関数で使用することを想定しています。 作成します。パラメータ patchespatch_toolpatch_argspatch_cmdspatch_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 の実装関数での使用を意図しています。 リポジトリ ルールを使用します。 パラメータ namebuild_filebuild_file_contentworkspace_fileworkspace_file_content を移行 ctx.attr に存在する。後者の 4 つは値 None になる可能性があります。

パラメータ

ctx 必要ありません。

このユーティリティを呼び出すリポジトリ ルールのリポジトリ コンテキスト 使用します。