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)

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

このルールは、リポジトリ ルールの実装関数で 使用することを目的としています。ctx.attr にパラメータ remote_file_urlsremote_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 のリスト

戻り値

repository_ctx.download に渡すことができる認証辞書

どちらでもない

load("@bazel//tools/build_defs/repo:utils.bzl", "maybe")

maybe(repo_rule, name, **kwargs)

リポジトリがまだ存在しない場合にのみリポジトリを追加するユーティリティ関数。

これは、 https://bazel.build/rules/deploying#dependencies に記載されている安全な repositories.bzl マクロを実装するためのものです。

パラメータ

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 省略可。 デフォルトは "a .netrc file"

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

戻り値

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

patch

load("@bazel//tools/build_defs/repo:utils.bzl", "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 コマンド。 powershell /c に 1 つずつ渡されます。文字列のリスト。このパラメータの ブール値が false の場合、patch_cmds が 使用され、このパラメータは無視されます。

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

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

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

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

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

一部の URL の認証情報を指定する省略可能な辞書。

戻り値

リモート パッチ URL をダウンロード情報にマッピングする辞書。

read_netrc

load("@bazel//tools/build_defs/repo:utils.bzl", "read_netrc")

read_netrc(ctx, filename)

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

パラメータ

ctx 必須。

このユーティリティ 関数。

filename 必須。

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

戻り値

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

read_user_netrc

load("@bazel//tools/build_defs/repo:utils.bzl", "read_user_netrc")

read_user_netrc(ctx)

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

パラメータ

ctx 必須。

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

戻り値

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

load("@bazel//tools/build_defs/repo:utils.bzl", "symlink_files")

symlink_files(ctx)

ローカル ファイルをシンボリック リンクするためのユーティリティ関数。

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

既存のファイルは上書きされます。

パラメータ

update_attrs

load("@bazel//tools/build_defs/repo:utils.bzl", "update_attrs")

update_attrs(orig, keys, override)

特定の属性を変更して、特定のリポジトリ ルールの呼び出しに追加するユーティリティ関数。

これは、ルールを再現可能にするために使用されます。

パラメータ

orig 必須。

特定のリール呼び出しによって実際に設定された属性の辞書(明示的または暗黙的)

keys 必須。

このルールで定義されている属性の完全なセット

override 必須。

orig をオーバーライドまたは追加する属性の辞書

戻り値

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 から承認パターンへの省略可能な辞書

戻り値

ctx.download の認証引数として適切な辞書。より正確には、辞書 は、netrc ファイルがログインとパスワードを提供するすべての URL を、対応するログイン、パスワード、省略可能な承認パターンを含む 辞書にマッピングし、 "type" を "basic" または "pattern" にマッピングします。

workspace_and_buildfile

load("@bazel//tools/build_defs/repo:utils.bzl", "workspace_and_buildfile")

workspace_and_buildfile(ctx)

BUILD ファイルを書き込むためのユーティリティ関数。

このルールは、リポジトリ ルールの実装関数で使用することを目的としています。`ctx.attr` にパラメータ `name`、`build_file`、`build_file_content` が存在することを前提としています。後者の 2 つは値が None の可能性があります。

パラメータ

ctx 必須。

このユーティリティ 関数。