次の関数は @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
load("@bazel//tools/build_defs/repo:local.bzl", "local_repository") local_repository(name, path, repo_mapping)
Bazel ファイルがすでに含まれているローカル ディレクトリをリポジトリとして使用できるようにします。このディレクトリには、すでに Bazel BUILD ファイルとリポジトリ境界ファイルが含まれている必要があります。これらのファイルが含まれていない場合は、代わりに new_local_repository
の使用を検討してください。
属性
name |
名前(必須) このリポジトリの一意の名前。 |
path |
文字列。必須 リポジトリとして使用できるようにするディレクトリのパス。パスは絶対パスにすることも、ワークスペースのルートからの相対パスにすることもできます。 |
repo_mapping |
辞書: String -> String(省略可) 「WORKSPACE」コンテキストの場合のみ: ローカル リポジトリ名からグローバル リポジトリ名への辞書。これにより、このリポジトリの依存関係のワークスペース依存関係解決を制御できます。たとえば、エントリ「"@foo": "@bar"」は、このリポジトリが「@foo」に依存するすべての場合(「@foo//some:target」の依存関係など)に、グローバルに宣言された「@bar」(「@bar//some:target」)内でその依存関係を解決することを宣言します。この属性は、「MODULE.bazel」コンテキスト(モジュール拡張機能の実装関数内でリポジトリ ルールを呼び出す場合)ではサポートされていません。 |
new_local_repository
load("@bazel//tools/build_defs/repo:local.bzl", "new_local_repository") new_local_repository(name, build_file, build_file_content, path, repo_mapping)
Bazel ファイルが含まれていないローカル ディレクトリをリポジトリとして使用できるようにします。このディレクトリに Bazel BUILD ファイルやリポジトリ境界ファイルは含める必要はありません。これらは、このリポジトリ ルールによって作成されます。ディレクトリにすでに Bazel ファイルが含まれている場合は、代わりに local_repository
の使用を検討してください。
属性
name |
名前(必須) このリポジトリの一意の名前。 |
build_file |
ラベル(省略可) このリポジトリの BUILD ファイルとして使用するファイル。「build_file」と「build_file_content」のいずれか 1 つを指定する必要があります。このラベルで参照されるファイルの名前は BUILD にする必要はありませんが、そうすることもできます。実際の BUILD ファイルと区別するために、BUILD.new-repo-name のような名前を付けるとよいでしょう。 |
build_file_content |
文字列(省略可) このリポジトリ用に作成される BUILD ファイルの内容。「build_file」と「build_file_content」のいずれか 1 つを指定する必要があります。 |
path |
文字列。必須 リポジトリとして使用できるようにするディレクトリのパス。パスは絶対パスにすることも、ワークスペースのルートからの相対パスにすることもできます。 |
repo_mapping |
辞書: String -> String(省略可) 「WORKSPACE」コンテキストの場合のみ: ローカル リポジトリ名からグローバル リポジトリ名への辞書。これにより、このリポジトリの依存関係のワークスペース依存関係解決を制御できます。たとえば、エントリ「"@foo": "@bar"」は、このリポジトリが「@foo」に依存するすべての場合(「@foo//some:target」の依存関係など)に、グローバルに宣言された「@bar」(「@bar//some:target」)内でその依存関係を解決することを宣言します。この属性は、「MODULE.bazel」コンテキスト(モジュール拡張機能の実装関数内でリポジトリ ルールを呼び出す場合)ではサポートされていません。 |