ローカル リポジトリ ルール

問題を報告 ソースを表示 Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

次の関数は @bazel_tools//tools/build_defs/repo:local.bzl から読み込むことができます。

ローカル ファイル システム内のディレクトリをリポジトリとして使用できるようにするルール。

セットアップ

これらのルールをモジュール拡張機能で使用するには、.bzl ファイルに読み込み、拡張機能の実装関数から呼び出します。たとえば、local_repository を使用するには、次のようにします。

load("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")

def _my_extension_impl(mctx):
  local_repository(name = "foo", path = "foo")

my_extension = module_extension(implementation = _my_extension_impl)

あるいは、MODULE.bazel ファイル内で use_repo_rule を使用して、これらのリポジトリ ルールを直接呼び出すこともできます。

local_repository = use_repo_rule("@bazel_tools//tools/build_defs/repo:local.bzl", "local_repository")
local_repository(name = "foo", path = "foo")

local_repository

local_repository(name, path, repo_mapping)

Bazel ファイルがすでに含まれているローカル ディレクトリをリポジトリとして利用できるようにします。このディレクトリには、すでに Bazel BUILD ファイルとリポジトリ境界ファイルが含まれている必要があります。これらのファイルが含まれていない場合は、代わりに <a href="#new_local_repository"><code>new_local_repository</code></a> の使用を検討してください。

属性

name 名前(必須)

このリポジトリの一意の名前。

path 文字列(必須)

リポジトリとして使用できるようにするディレクトリのパス。

パスは絶対パスにすることも、ワークスペースのルートからの相対パスにすることもできます。

repo_mapping ディクショナリ: String -> String(必須)

ローカル リポジトリ名からグローバル リポジトリ名への辞書。これにより、このリポジトリの依存関係について、ワークスペースの依存関係の解決を制御できます。

たとえば、エントリ「"@foo": "@bar"」は、このリポジトリが「@foo」に依存するすべての場合(「@foo//some:target」への依存関係など)に、グローバルに宣言された「@bar」(「@bar//some:target」)内でその依存関係を解決することを宣言します。

new_local_repository

new_local_repository(name, build_file, build_file_content, path, repo_mapping)

Bazel ファイルが含まれていないローカル ディレクトリをリポジトリとして使用できるようにします。このディレクトリに Bazel BUILD ファイルやリポジトリ境界ファイルは含める必要はありません。これらは、このリポジトリ ルールによって作成されます。このディレクトリにすでに Bazel ファイルが含まれている場合は、代わりに <a href="#local_repository"><code>local_repository</code></a> を使用することを検討してください。

属性

name 名前(必須)

このリポジトリの一意の名前。

build_file ラベル(省略可)

このリポジトリの BUILD ファイルとして使用するファイル。

build_filebuild_file_content のいずれか 1 つを指定する必要があります。

このラベルで指定されるファイルの名前は BUILD にする必要はありませんが、BUILD にできます。BUILD.new-repo-name などを使用すると、実際の BUILD ファイルと区別しやすくなります。

build_file_content 文字列(省略可)

このリポジトリ用に作成される BUILD ファイルの内容。

build_file または build_file_content のいずれか 1 つのみを指定する必要があります。

path 文字列、必須

リポジトリとして使用できるようにするディレクトリのパス。

パスは、絶対パスまたはワークスペースのルートからの相対パスにすることができます。

repo_mapping 辞書: String -> String。必須

ローカル リポジトリ名からグローバル リポジトリ名への辞書。これにより、このリポジトリの依存関係のワークスペース依存関係解決を制御できます。

たとえば、エントリ「"@foo": "@bar"」は、このリポジトリが「@foo」に依存するすべての場合(「@foo//some:target」への依存関係など)に、グローバルに宣言された「@bar」(「@bar//some:target」)内でその依存関係を解決することを宣言します。