다음 함수가
@bazel_tools//tools/build_defs/repo:git.bzl
외부 Git 저장소를 클론하기 위한 규칙입니다.
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, repo_mapping, shallow_since, strip_prefix, tag, verbose, workspace_file, workspace_file_content)
외부 Git 저장소를 클론합니다.
Git 저장소를 복제하거나, 지정된 태그를 체크아웃하거나, 커밋합니다. 대상을 바인딩에 사용할 수 있게 합니다. 또한 실제로 체크아웃된 날짜 및 날짜를 커밋하고, 매개변수가 있는 dict를 반환합니다. 이 규칙의 재현 가능한 버전을 제공하는 입니다.
Bazel은 먼저 지정된 커밋만 얕은 가져오기를 수행하려고 시도합니다. 서버 지원 누락으로 인해 실패할 경우 전체 가져오기입니다.
git_repository
보다 http_archive
를 선호합니다.
이유는 다음과 같습니다.
- Git 저장소 규칙은 시스템
git(1)
에 종속되지만 HTTP 다운로더는 빌드됩니다. Bazel에 연결할 수 있으며 시스템 종속 항목이 없습니다. http_archive
는urls
목록을 미러로 지원하고git_repository
는 다음만 지원합니다. 단일remote
입니다.http_archive
는 저장소 캐시와 호환되지만 작동하지 않습니다.git_repository
입니다. 자세한 내용은 #5116을 참조하세요.
속성
name |
이름 필수
이 저장소의 고유한 이름입니다. |
branch |
String; 선택사항
확인할 수 있습니다 브랜치, 태그 또는 커밋 중 하나를 정확히 지정해야 합니다. |
build_file |
라벨 선택사항
이 저장소의 BUILD 파일로 사용할 파일입니다.이 속성은 절대 라벨입니다 (기본 저장소에 '@//' 사용). 파일의 이름을 BUILD로 지정할 필요는 없지만 그렇게 해도 됩니다 (BUILD.new-repo-name과 같은 것이 저장소의 실제 BUILD 파일과 구분되는 데 적합할 수 있음). |
build_file_content |
String; 선택사항
이 저장소에 대한 BUILD 파일의 콘텐츠. |
commit |
String; 선택사항
확인할 수 있습니다 브랜치, 태그 또는 커밋 중 하나를 정확히 지정해야 합니다. |
init_submodules |
부울; 선택사항
저장소의 하위 모듈을 클론할지 여부입니다. |
patch_args |
문자열 목록 선택사항
패치 도구에 지정된 인수입니다. 기본값은 -p0이지만 git에서 생성된 패치에는 일반적으로 -p1이 필요합니다. -p 인수가 여러 개 지정되면 마지막 인수가 적용됩니다. -p 이외의 인수가 지정된 경우 Bazel은 Bazel 네이티브 패치 구현 대신 패치 명령줄 도구를 사용하도록 대체합니다. 패치 명령줄 도구로 대체하고 patch_tool 속성이 지정되지 않으면 `patch` 가 사용됩니다. |
patch_cmds |
문자열 목록 선택사항
패치가 적용된 후 Linux/Macos에서 적용될 Bash 명령어 시퀀스 |
patch_cmds_win |
문자열 목록 선택사항
패치가 적용된 후 Windows에 적용될 Powershell 명령어 시퀀스 이 속성을 설정하지 않으면 Windows에서 patch_cmds가 실행되므로 Bash 바이너리가 있어야 합니다. |
patch_tool |
String; 선택사항
사용할 패치(1) 유틸리티입니다. 이를 지정하면 Bazel은 Bazel 네이티브 패치 구현 대신 지정된 패치 도구를 사용합니다. |
patches |
라벨 목록 선택사항
보관 파일을 추출한 후 패치로 적용할 파일의 목록입니다. 기본적으로 퍼즈 일치 및 바이너리 패치를 지원하지 않는 Bazel 네이티브 패치 구현을 사용하지만 `patch_tool` 속성이 지정되거나 `patch_args` 속성에 `-p` 이외의 인수가 있는 경우 Bazel은 패치 명령줄 도구를 다시 사용합니다. |
recursive_init_submodules |
부울; 선택사항
저장소에서 하위 모듈을 재귀적으로 클론할지 지정합니다. |
remote |
String; 필수
원격 Git 저장소의 URI |
repo_mapping |
사전: 문자열 -> String; 필수
로컬 저장소 이름에서 전역 저장소 이름으로의 사전입니다. 이렇게 하면 이 저장소의 종속 항목에 대한 작업공간 종속 항목 해결을 제어할 수 있습니다. 예를 들어 항목 "@foo": "@bar"`는 이 저장소가 항상 `@foo`에 종속될 때마다 (예: `@foo//some:target`의 종속 항목) 전역적으로 선언된 `@bar` (`@bar//some:target`) 내에서 이 종속 항목을 실제로 해결해야 한다고 선언합니다. |
shallow_since |
String; 선택사항
지정된 커밋 이후가 아닌 선택적 날짜입니다. 태그 또는 브랜치가 지정된 경우 인수는 허용되지 않습니다 (항상 --depth=1로 클론 가능). 이러한 날짜를 지정된 커밋과 가깝게 설정하면 서버가 임의 커밋의 얕은 가져오기를 지원하지 않더라도 저장소의 얕은 클론이 허용될 수 있습니다. git의 --shallow-since 구현의 버그로 인해 이 속성을 사용하면 가져오기 실패가 발생할 수 있으므로 사용하지 않는 것이 좋습니다. |
strip_prefix |
String; 선택사항
추출된 파일에서 삭제할 디렉터리 프리픽스입니다. |
tag |
String; 선택사항
확인할 수 있습니다. 브랜치, 태그 또는 커밋 중 하나를 정확히 지정해야 합니다. |
verbose |
부울; 선택사항 |
workspace_file |
라벨 선택사항
이 저장소의 `WORKSPACE` 파일로 사용할 파일입니다. `workspace_file` 또는 `workspace_file_content` 중 하나를 지정하거나 둘 다 지정할 수 있지만 둘 다 지정할 수는 없습니다. |
workspace_file_content |
String; 선택사항
이 저장소에 대한 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, repo_mapping, shallow_since, strip_prefix, tag, verbose, workspace_file, workspace_file_content)
외부 Git 저장소를 클론합니다.
Git 저장소를 복제하거나, 지정된 태그를 체크아웃하거나, 커밋합니다. 대상을 바인딩에 사용할 수 있게 합니다. 또한 실제로 체크아웃된 날짜 및 날짜를 커밋하고, 매개변수가 있는 dict를 반환합니다. 이 규칙의 재현 가능한 버전을 제공하는 입니다.
Bazel은 먼저 지정된 커밋만 얕은 가져오기를 수행하려고 시도합니다. 서버 지원 누락으로 인해 실패할 경우 전체 가져오기입니다.
git_repository
보다 http_archive
를 선호합니다.
이유는 다음과 같습니다.
- Git 저장소 규칙은 시스템
git(1)
에 종속되지만 HTTP 다운로더는 빌드됩니다. Bazel에 연결할 수 있으며 시스템 종속 항목이 없습니다. http_archive
는urls
목록을 미러로 지원하고git_repository
는 다음만 지원합니다. 단일remote
입니다.http_archive
는 저장소 캐시와 호환되지만 작동하지 않습니다.git_repository
입니다. 자세한 내용은 #5116을 참조하세요.
속성
name |
이름 필수
이 저장소의 고유한 이름입니다. |
branch |
String; 선택사항
확인할 수 있습니다 브랜치, 태그 또는 커밋 중 하나를 정확히 지정해야 합니다. |
build_file |
라벨 선택사항
이 저장소의 BUILD 파일로 사용할 파일입니다.이 속성은 절대 라벨입니다 (기본 저장소에 '@//' 사용). 파일의 이름을 BUILD로 지정할 필요는 없지만 그렇게 해도 됩니다 (BUILD.new-repo-name과 같은 것이 저장소의 실제 BUILD 파일과 구분되는 데 적합할 수 있음). |
build_file_content |
String; 선택사항
이 저장소에 대한 BUILD 파일의 콘텐츠. |
commit |
String; 선택사항
확인할 수 있습니다 브랜치, 태그 또는 커밋 중 하나를 정확히 지정해야 합니다. |
init_submodules |
부울; 선택사항
저장소의 하위 모듈을 클론할지 여부입니다. |
patch_args |
문자열 목록 선택사항
패치 도구에 지정된 인수입니다. 기본값은 -p0이지만 git에서 생성된 패치에는 일반적으로 -p1이 필요합니다. -p 인수가 여러 개 지정되면 마지막 인수가 적용됩니다. -p 이외의 인수가 지정된 경우 Bazel은 Bazel 네이티브 패치 구현 대신 패치 명령줄 도구를 사용하도록 대체합니다. 패치 명령줄 도구로 대체하고 patch_tool 속성이 지정되지 않으면 `patch` 가 사용됩니다. |
patch_cmds |
문자열 목록 선택사항
패치가 적용된 후 Linux/Macos에서 적용될 Bash 명령어 시퀀스 |
patch_cmds_win |
문자열 목록 선택사항
패치가 적용된 후 Windows에 적용될 Powershell 명령어 시퀀스 이 속성을 설정하지 않으면 Windows에서 patch_cmds가 실행되므로 Bash 바이너리가 있어야 합니다. |
patch_tool |
String; 선택사항
사용할 패치(1) 유틸리티입니다. 이를 지정하면 Bazel은 Bazel 네이티브 패치 구현 대신 지정된 패치 도구를 사용합니다. |
patches |
라벨 목록 선택사항
보관 파일을 추출한 후 패치로 적용할 파일의 목록입니다. 기본적으로 퍼즈 일치 및 바이너리 패치를 지원하지 않는 Bazel 네이티브 패치 구현을 사용하지만 `patch_tool` 속성이 지정되거나 `patch_args` 속성에 `-p` 이외의 인수가 있는 경우 Bazel은 패치 명령줄 도구를 다시 사용합니다. |
recursive_init_submodules |
부울; 선택사항
저장소에서 하위 모듈을 재귀적으로 클론할지 지정합니다. |
remote |
String; 필수
원격 Git 저장소의 URI |
repo_mapping |
사전: 문자열 -> String; 필수
로컬 저장소 이름에서 전역 저장소 이름으로의 사전입니다. 이렇게 하면 이 저장소의 종속 항목에 대한 작업공간 종속 항목 해결을 제어할 수 있습니다. 예를 들어 항목 "@foo": "@bar"`는 이 저장소가 항상 `@foo`에 종속될 때마다 (예: `@foo//some:target`의 종속 항목) 전역적으로 선언된 `@bar` (`@bar//some:target`) 내에서 이 종속 항목을 실제로 해결해야 한다고 선언합니다. |
shallow_since |
String; 선택사항
지정된 커밋 이후가 아닌 선택적 날짜입니다. 태그 또는 브랜치가 지정된 경우 인수는 허용되지 않습니다 (항상 --depth=1로 클론 가능). 이러한 날짜를 지정된 커밋과 가깝게 설정하면 서버가 임의 커밋의 얕은 가져오기를 지원하지 않더라도 저장소의 얕은 클론이 허용될 수 있습니다. git의 --shallow-since 구현의 버그로 인해 이 속성을 사용하면 가져오기 실패가 발생할 수 있으므로 사용하지 않는 것이 좋습니다. |
strip_prefix |
String; 선택사항
추출된 파일에서 삭제할 디렉터리 프리픽스입니다. |
tag |
String; 선택사항
확인할 수 있습니다. 브랜치, 태그 또는 커밋 중 하나를 정확히 지정해야 합니다. |
verbose |
부울; 선택사항 |
workspace_file |
라벨 선택사항
이 저장소의 `WORKSPACE` 파일로 사용할 파일입니다. `workspace_file` 또는 `workspace_file_content` 중 하나를 지정하거나 둘 다 지정할 수 있지만 둘 다 지정할 수는 없습니다. |
workspace_file_content |
String; 선택사항
이 저장소에 대한 WORKSPACE 파일의 콘텐츠입니다. `workspace_file` 또는 `workspace_file_content` 중 하나를 지정하거나 둘 다 지정할 수 있지만 둘 다 지정할 수는 없습니다. |