Git リポジトリのルール

7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

git_repository

git_repository(name, branch, build_file, build_file_content, commit, init_submodules, patch_args,
               patch_cmds, patch_cmds_win, patch_tool, patches, recursive_init_submodules, remote,
               shallow_since, strip_prefix, tag, verbose, workspace_file, workspace_file_content)

外部 Git リポジトリのクローンを作成します。

Git リポジトリのクローンを作成し、指定されたタグまたは commit をチェックアウトして、そのターゲットをバインディングに使用できるようにします。また、実際にチェックアウトされた commit の ID と日付を特定し、このルールの再現可能なバージョンを提供するパラメータを含む辞書を返します(タグは必ずしもそうではありません)。

Bazel は、まず指定された commit のみの浅いフェッチを試みます。これが失敗した場合(通常はサーバー サポートが不足しているため)、リポジトリの完全な取得にフォールバックします。

属性

name 名前(必須)

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

branch 文字列。省略可

ブランチをチェックアウトします。branch、tag、commit のいずれかを 1 つだけ指定する必要があります。

build_file ラベル(省略可)

このリポジトリの BUILD ファイルとして使用するファイル。この属性は絶対ラベルです(メイン リポジトリの場合は「@//」を使用します)。ファイル名は BUILD にする必要はありませんが、BUILD にすることもできます(リポジトリの実際の BUILD ファイルと区別するために、BUILD.new-repo-name などの名前を付けるとよいでしょう。build_file または build_file_content のいずれかを指定する必要があります。

build_file_content 文字列(省略可)

このリポジトリの BUILD ファイルの内容。build_file または build_file_content を指定する必要があります。

commit 文字列(省略可)

チェックアウトする特定の commit を指定します。branch、tag、commit のいずれか 1 つのみを指定する必要があります。

init_submodules ブール値(省略可)

リポジトリ内のサブモジュールのクローンを作成するかどうか。

patch_args 文字列のリスト(省略可)

パッチツールに渡される引数。デフォルトは -p0 ですが、通常、git によって生成されたパッチには -p1 が必要です。-p 引数が複数指定されている場合は、最後の引数が有効になります。-p 以外の引数が指定されている場合、Bazel は Bazel ネイティブのパッチ実装ではなく、patch コマンドライン ツールを使用します。パッチ コマンドライン ツールにフォールバックし、patch_tool 属性が指定されていない場合は、「patch」が使用されます。

patch_cmds 文字列のリスト(省略可)

パッチ適用後に Linux / macOS で適用される Bash コマンドのシーケンス。

patch_cmds_win 文字列のリスト(省略可)

パッチ適用後に Windows に適用される Powershell コマンドの順序。この属性が設定されていない場合、patch_cmds は Windows で実行されます。この場合、Bash バイナリが存在している必要があります。

patch_tool 文字列(省略可)

使用する patch(1) ユーティリティ。これを指定すると、Bazel ネイティブのパッチ実装ではなく、指定されたパッチツールが使用されます。

patches ラベルのリスト(省略可)

アーカイブの抽出後にパッチとして適用するファイルのリスト。デフォルトでは、Bazel ネイティブのパッチ実装が使用されますが、これはファズ マッチとバイナリ パッチをサポートしていません。ただし、patch_tool 属性が指定されている場合、または patch_args 属性に「-p」以外の引数がある場合は、Bazel はパッチ コマンドライン ツールを使用します。

recursive_init_submodules ブール値(省略可)

リポジトリ内でサブモジュールを再帰的にクローンを作成するかどうか。

remote 文字列(必須)

リモート Git リポジトリの URI

shallow_since 文字列(省略可)

指定した commit より前ではない日付(省略可)。タグまたはブランチが指定されている場合、この引数は使用できません(--depth=1 で常にクローンを作成できます)。指定した commit に近い日付を設定すると、サーバーが任意の commit の浅いフェッチをサポートしていない場合でも、リポジトリの浅いクローンを作成できる場合があります。git の --shallow-since の実装にバグがあるため、この属性を使用すると取得に失敗する可能性があるため、使用はおすすめしません。

strip_prefix 文字列。省略可

抽出されたファイルから削除するディレクトリ接頭辞。

tag 文字列(省略可)

タグがチェックアウトされたリモート リポジトリに存在します。branch、tag、commit のいずれか 1 つのみを指定する必要があります。

verbose ブール値、省略可
workspace_file ラベル(省略可)

このリポジトリの WORKSPACE ファイルとして使用するファイル。「workspace_file」または「workspace_file_content」のいずれかを指定するか、どちらも指定しないことができます。両方を指定することはできません。

workspace_file_content 文字列(省略可)

このリポジトリの WORKSPACE ファイルの内容。「workspace_file」または「workspace_file_content」のいずれかを指定するか、どちらも指定しないことができます。両方を指定することはできません。

new_git_repository

new_git_repository(name, branch, build_file, build_file_content, commit, init_submodules,
                   patch_args, patch_cmds, patch_cmds_win, patch_tool, patches,
                   recursive_init_submodules, remote, shallow_since, strip_prefix, tag, verbose,
                   workspace_file, workspace_file_content)

外部 Git リポジトリのクローンを作成します。

Git リポジトリのクローンを作成し、指定されたタグまたは commit をチェックアウトして、そのターゲットをバインディングに使用できるようにします。また、実際にチェックアウトされた commit の ID と日付を特定し、このルールの再現可能なバージョンを提供するパラメータを含む辞書を返します(タグは必ずしもそうではありません)。

Bazel は、まず指定された commit のみの浅いフェッチを試みます。これが失敗した場合(通常はサーバー サポートが不足しているため)、リポジトリの完全な取得にフォールバックします。

属性

name 名前(必須)

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

branch 文字列。省略可

ブランチをチェックアウトします。branch、tag、commit のいずれかを 1 つだけ指定する必要があります。

build_file ラベル(省略可)

このリポジトリの BUILD ファイルとして使用するファイル。この属性は絶対ラベルです(メイン リポジトリの場合は「@//」を使用します)。ファイル名は BUILD にする必要はありませんが、BUILD.new-repo-name などにすると、リポジトリの実際の BUILD ファイルと区別しやすくなります。build_file または build_file_content を指定する必要があります。

build_file_content 文字列(省略可)

このリポジトリの BUILD ファイルの内容。build_file または build_file_content を指定する必要があります。

commit 文字列(省略可)

チェックアウトする特定の commit を指定します。branch、tag、commit のいずれか 1 つのみを指定する必要があります。

init_submodules ブール値(省略可)

リポジトリ内のサブモジュールのクローンを作成するかどうか。

patch_args 文字列のリスト(省略可)

パッチツールに渡される引数。デフォルトは -p0 ですが、通常、git によって生成されたパッチには -p1 が必要です。-p 引数が複数指定されている場合は、最後の引数が有効になります。-p 以外の引数が指定されている場合、Bazel は Bazel ネイティブのパッチ実装ではなく、patch コマンドライン ツールを使用します。パッチ コマンドライン ツールにフォールバックし、patch_tool 属性が指定されていない場合は、「patch」が使用されます。

patch_cmds 文字列のリスト(省略可)

パッチ適用後に Linux / macOS で適用される Bash コマンドのシーケンス。

patch_cmds_win 文字列のリスト(省略可)

パッチ適用後に Windows に適用される Powershell コマンドの順序。この属性が設定されていない場合、patch_cmds は Windows で実行されます。この場合、Bash バイナリが存在している必要があります。

patch_tool 文字列(省略可)

使用する patch(1) ユーティリティ。これが指定されている場合、Bazel は Bazel ネイティブのパッチ実装ではなく、指定されたパッチツールを使用します。

patches ラベルのリスト(省略可)

アーカイブの抽出後にパッチとして適用するファイルのリスト。デフォルトでは、Bazel ネイティブのパッチ実装が使用されますが、これはファズ マッチとバイナリ パッチをサポートしていません。ただし、patch_tool 属性が指定されている場合、または patch_args 属性に「-p」以外の引数がある場合は、Bazel はパッチ コマンドライン ツールを使用します。

recursive_init_submodules ブール値(省略可)

リポジトリ内でサブモジュールを再帰的にクローンを作成するかどうか。

remote 文字列(必須)

リモート Git リポジトリの URI

shallow_since 文字列(省略可)

指定した commit より前ではない日付(省略可)。タグまたはブランチが指定されている場合、この引数は使用できません(--depth=1 で常にクローンを作成できます)。指定した commit に近い日付を設定すると、サーバーが任意の commit の浅いフェッチをサポートしていない場合でも、リポジトリの浅いクローンを作成できる場合があります。git の --shallow-since の実装にバグがあるため、この属性を使用すると取得に失敗する可能性があるため、使用はおすすめしません。

strip_prefix 文字列。省略可

抽出されたファイルから削除するディレクトリ接頭辞。

tag 文字列(省略可)

タグがチェックアウトされたリモート リポジトリに存在します。branch、tag、commit のいずれか 1 つのみを指定する必要があります。

verbose ブール値(省略可)
workspace_file ラベル(省略可)

このリポジトリの WORKSPACE ファイルとして使用するファイル。「workspace_file」または「workspace_file_content」のいずれか一方を指定するか、どちらも指定できません。両方を指定することはできません。

workspace_file_content 文字列(省略可)

このリポジトリの WORKSPACE ファイルのコンテンツ。「workspace_file」または「workspace_file_content」のいずれか一方を指定するか、どちらも指定できません。両方を指定することはできません。