次の関数は @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 |
Name(必須) このリポジトリの一意の名前。 |
branch |
文字列。省略可 チェックアウトします。branch、tag、commit のいずれか 1 つのみを指定する必要があります。 |
build_file |
ラベル(省略可) このリポジトリのビルド ファイルとして使用するファイル。この属性は絶対ラベルです(メイン リポジトリの場合は「@//」を使用します)。ファイル名は 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_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-ince 実装以降のバグのため、フェッチが失敗する可能性があるため、この属性の使用はおすすめしません。 |
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 |
Name(必須) このリポジトリの一意の名前。 |
branch |
文字列。省略可 チェックアウトします。branch、tag、commit のいずれか 1 つのみを指定する必要があります。 |
build_file |
ラベル(省略可) このリポジトリのビルド ファイルとして使用するファイル。この属性は絶対ラベルです(メイン リポジトリの場合は「@//」を使用します)。ファイル名は 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_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-ince 実装以降のバグのため、フェッチが失敗する可能性があるため、この属性の使用はおすすめしません。 |
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」のどちらか一方を指定するか、どちらも指定できません。両方を指定することはできません。 |