Git 저장소 규칙

다음 함수는 @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 저장소를 클론하고 지정된 태그 또는 커밋을 체크아웃하며 바인딩에 사용할 수 있는 타겟을 만듭니다. 또한 실제로 체크아웃된 커밋의 ID와 날짜를 확인하고 이 규칙의 재현 가능한 버전을 제공하는 매개변수가 포함된 dict를 반환합니다 (태그가 반드시 그런 것은 아님).

속성

name 이름, 필수

이 저장소의 고유한 이름입니다.

branch 문자열, 선택사항

체크아웃할 원격 저장소의 브랜치입니다. 브랜치, 태그 또는 커밋 중 정확히 하나를 지정해야 합니다.

build_file 라벨, 선택사항

이 저장소의 BUILD 파일로 사용할 파일입니다.이 속성은 절대 라벨입니다 (기본 저장소의 경우 '@//' 사용). 파일 이름을 BUILD로 지정할 필요는 없지만 지정할 수 있습니다 (BUILD.new-repo-name과 같은 이름이 저장소의 실제 BUILD 파일과 구분하는 데 유용할 수 있음). build_file 또는 build_file_content를 지정해야 합니다.

build_file_content 문자열, 선택사항

이 저장소의 BUILD 파일 콘텐츠입니다. build_file 또는 build_file_content를 지정해야 합니다.

commit 문자열, 선택사항

체크아웃할 특정 커밋입니다. 브랜치, 태그 또는 커밋 중 정확히 하나를 지정해야 합니다.

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 문자열, 선택사항

사용할 patch(1) 유틸리티입니다. 이 속성이 지정되면 Bazel은 Bazel 기본 패치 구현 대신 지정된 패치 도구를 사용합니다.

patches 라벨 목록, 선택사항

보관 파일 추출 후 패치로 적용할 파일 목록입니다. 기본적으로 퍼지 일치 및 바이너리 패치를 지원하지 않는 Bazel 기본 패치 구현을 사용하지만 `patch_tool` 속성이 지정되거나 `patch_args` 속성에 `-p` 이외의 인수가 있는 경우 Bazel은 패치 명령줄 도구를 사용합니다.

recursive_init_submodules 불리언, 선택사항

저장소에서 하위 모듈을 재귀적으로 클론할지 여부입니다.

remote 문자열, 필수

원격 Git 저장소의 URI입니다.

shallow_since 문자열, 선택사항

지정된 커밋 이후가 아닌 선택적 날짜입니다. 태그가 지정된 경우 (깊이 1로 클론할 수 있음) 인수가 허용되지 않습니다. 지정된 커밋에 가까운 날짜를 설정하면 저장소를 더 얕게 클론하여 대역폭과 실제 시간을 절약할 수 있습니다.

strip_prefix 문자열, 선택사항

추출된 파일에서 삭제할 디렉터리 프리픽스입니다.

tag 문자열, 선택사항

체크아웃할 원격 저장소의 태그입니다. 브랜치, 태그 또는 커밋 중 정확히 하나를 지정해야 합니다.

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 저장소를 클론하고 지정된 태그 또는 커밋을 체크아웃하며 바인딩에 사용할 수 있는 타겟을 만듭니다. 또한 실제로 체크아웃된 커밋의 ID와 날짜를 확인하고 이 규칙의 재현 가능한 버전을 제공하는 매개변수가 포함된 dict를 반환합니다 (태그가 반드시 그런 것은 아님).

속성

name 이름, 필수

이 저장소의 고유한 이름입니다.

branch 문자열, 선택사항

체크아웃할 원격 저장소의 브랜치입니다. 브랜치, 태그 또는 커밋 중 정확히 하나를 지정해야 합니다.

build_file 라벨, 선택사항

이 저장소의 BUILD 파일로 사용할 파일입니다.이 속성은 절대 라벨입니다 (기본 저장소의 경우 '@//' 사용). 파일 이름을 BUILD로 지정할 필요는 없지만 지정할 수 있습니다 (BUILD.new-repo-name과 같은 이름이 저장소의 실제 BUILD 파일과 구분하는 데 유용할 수 있음). build_file 또는 build_file_content를 지정해야 합니다.

build_file_content 문자열, 선택사항

이 저장소의 BUILD 파일 콘텐츠입니다. build_file 또는 build_file_content를 지정해야 합니다.

commit 문자열, 선택사항

체크아웃할 특정 커밋입니다. 브랜치, 태그 또는 커밋 중 정확히 하나를 지정해야 합니다.

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 문자열, 선택사항

사용할 patch(1) 유틸리티입니다. 이 속성이 지정되면 Bazel은 Bazel 기본 패치 구현 대신 지정된 패치 도구를 사용합니다.

patches 라벨 목록, 선택사항

보관 파일 추출 후 패치로 적용할 파일 목록입니다. 기본적으로 퍼지 일치 및 바이너리 패치를 지원하지 않는 Bazel 기본 패치 구현을 사용하지만 `patch_tool` 속성이 지정되거나 `patch_args` 속성에 `-p` 이외의 인수가 있는 경우 Bazel은 패치 명령줄 도구를 사용합니다.

recursive_init_submodules 불리언, 선택사항

저장소에서 하위 모듈을 재귀적으로 클론할지 여부입니다.

remote 문자열, 필수

원격 Git 저장소의 URI입니다.

shallow_since 문자열, 선택사항

지정된 커밋 이후가 아닌 선택적 날짜입니다. 태그가 지정된 경우 (깊이 1로 클론할 수 있음) 인수가 허용되지 않습니다. 지정된 커밋에 가까운 날짜를 설정하면 저장소를 더 얕게 클론하여 대역폭과 실제 시간을 절약할 수 있습니다.

strip_prefix 문자열, 선택사항

추출된 파일에서 삭제할 디렉터리 프리픽스입니다.

tag 문자열, 선택사항

체크아웃할 원격 저장소의 태그입니다. 브랜치, 태그 또는 커밋 중 정확히 하나를 지정해야 합니다.

verbose 불리언, 선택사항
workspace_file 라벨, 선택사항

이 저장소의 `WORKSPACE` 파일로 사용할 파일입니다. `workspace_file` 또는 `workspace_file_content` 를 지정하거나 둘 다 지정하지 않을 수 있지만 둘 다 지정할 수는 없습니다.

workspace_file_content 문자열, 선택사항

이 저장소의 WORKSPACE 파일 콘텐츠입니다. `workspace_file` 또는 `workspace_file_content` 를 지정하거나 둘 다 지정하지 않을 수 있지만 둘 다 지정할 수는 없습니다.