저장소_관련

문제 신고 소스 보기

도우미 함수와 속성에 관한 정보가 포함된 저장소 규칙의 컨텍스트입니다. 저장소 규칙을 만들 때 storage_ctx 객체를 implementation 함수의 인수로 받습니다.

구성원

속성

struct repository_ctx.attr

속성의 값에 액세스하는 구조체 값은 사용자가 제공합니다. 그렇지 않은 경우 기본값이 사용됩니다.

delete

bool repository_ctx.delete(path)

파일 또는 디렉터리를 삭제합니다. 이 호출이 파일 또는 디렉터리가 실제로 삭제되었는지 여부를 나타내는 부울을 반환합니다.

매개변수

매개변수 설명
path string; or path, 필수
삭제할 파일의 경로(저장소 디렉터리 또는 절대 경로)입니다. 경로 또는 문자열일 수 있습니다.

download

struct repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')

제공된 URL의 출력 경로로 파일을 다운로드하고, success가 포함된 구조체(다운로드가 성공적으로 완료된 경우 true)를 반환하고 성공하는 경우 sha256integrity 필드가 있는 파일의 해시를 반환합니다.

매개변수

매개변수 설명
url string; or Iterable of strings; 필수
같은 파일을 참조하는 미러 URL 목록입니다.
output string; or Label; or path; default = ''
출력 파일의 경로입니다(저장소 디렉터리 기준).
sha256 default = ''
다운로드한 파일의 예상 SHA-256 해시입니다. 다운로드한 파일의 SHA-256 해시와 일치해야 합니다. 원격 파일이 변경될 수 있으므로 SHA-256을 생략하면 보안상 위험합니다. 이 필드를 생략하면 빌드가 기본 제공되지 않게 됩니다. 더 쉽게 개발할 수 있도록 선택하는 것은 선택사항이지만 배송 전에 설정해야 합니다.
executable default = False
생성된 파일의 실행 가능한 플래그를 설정하며, 기본값은 false입니다.
allow_fail 기본값 = False
설정하는 경우 다운로드 실패 시 오류를 일으키는 대신 반환 값에 오류를 표시하세요.
canonical_id default = ''
'로 설정하면 파일이 동일한 표준 ID로 캐시에 추가된 경우에만 캐시 적중이 제한됩니다.
auth default = {}
일부 URL에 대한 인증 정보를 지정하는 선택적 사전입니다.
integrity default = ''
다운로드된 파일의 예상 체크섬, 하위 리소스 무결성 형식 이 항목은 다운로드된 파일의 체크섬과 일치해야 합니다. 원격 파일이 변경될 수 있으므로 체크섬을 생략하는 것은 보안상 위험합니다. 이 필드를 생략하면 빌드가 기본 제공되지 않게 됩니다. 더 쉽게 개발할 수 있도록 선택하는 것은 선택사항이지만 배송 전에 설정해야 합니다.

다운로드_추출

struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})

제공된 URL의 출력 경로로 파일을 다운로드하고, 추출한 다음, success가 포함된 구조체(다운로드가 성공적으로 완료된 경우 true, 성공 시에는 sha256integrity이 포함된 파일 해시)를 반환합니다.

매개변수

매개변수 설명
url string; or Iterable of strings; 필수
같은 파일을 참조하는 미러 URL 목록입니다.
output string; or Label; or path; default = ''
에 대한 보관 파일이 압축 해제될 디렉터리의 경로입니다(저장소 디렉터리 기준).
sha256 default = ''
다운로드한 파일의 예상 SHA-256 해시입니다. 다운로드한 파일의 SHA-256 해시와 일치해야 합니다. 원격 파일이 변경될 수 있으므로 SHA-256을 생략하면 보안상 위험합니다. 이 필드를 생략하면 빌드가 기본 제공되지 않게 됩니다. 더 쉽게 개발할 수 있도록 선택하는 것은 선택사항이지만 배송 전에 설정해야 합니다. 제공되면 저장소 캐시가 먼저 지정된 해시가 있는 파일을 확인합니다. 파일이 캐시에서 발견되지 않은 경우에만 다운로드 시도를 시도합니다. 다운로드가 완료되면 파일이 캐시에 추가됩니다.
type default = ''
다운로드한 파일의 보관 파일 형식 기본적으로 보관 파일 유형은 URL의 파일 확장자에 따라 결정됩니다. 파일에 확장자가 없는 경우 'zip', 'jar', 'war', 'aar', 'tar', 'tar.gz', 'ttar', 'tar.xz', 'txz', '.tar.zst', '.tzst', 'tar.bz2', '.tbz'를 명시적으로 지정할 수 있습니다.
stripPrefix default = ''
추출된 파일에서 제거할 디렉터리 접두사 대부분의 아카이브에는 아카이브의 모든 파일이 포함된 최상위 디렉토리가 있습니다. 이 접두사를 build_file에서 반복해서 지정할 필요 없이 추출된 파일에서 이 접두사를 제거할 수 있습니다.
allow_fail 기본값 = False
설정하는 경우 다운로드 실패 시 오류를 일으키는 대신 반환 값에 오류를 표시하세요.
canonical_id default = ''
'로 설정하면 파일이 동일한 표준 ID로 캐시에 추가된 경우에만 캐시 적중이 제한됩니다.
auth default = {}
일부 URL에 대한 인증 정보를 지정하는 선택적 사전입니다.
integrity default = ''
다운로드된 파일의 예상 체크섬, 하위 리소스 무결성 형식 이 항목은 다운로드된 파일의 체크섬과 일치해야 합니다. 원격 파일이 변경될 수 있으므로 체크섬을 생략하는 것은 보안상 위험합니다. 이 필드를 생략하면 빌드가 기본 제공되지 않게 됩니다. 더 쉽게 개발할 수 있도록 선택하는 것은 선택사항이지만 배송 전에 설정해야 합니다.
rename_files 기본값 = {}
추출 중에 이름을 바꿀 파일을 지정하는 사전(선택사항)입니다. 이름이 키와 정확히 일치하는 보관 항목의 이름은 디렉터리 접두어를 조정하기 전에 값으로 변경됩니다. 이는 유니코드 비파일 이름이 포함된 파일 또는 대소문자를 구분하지 않는 파일 시스템에서 동일한 경로로 추출할 파일이 있는 보관 파일을 추출하는 데 사용할 수 있습니다.

execute

exec_result repository_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")

인수 목록에서 지정된 명령어를 실행합니다. 명령어 실행 시간은 timeout로 제한됩니다 (초 단위, 기본값은 600초). 이 메서드는 명령어 결과를 포함하는 exec_result 구조를 반환합니다. environment 맵은 프로세스에 전달할 일부 환경 변수를 재정의하는 데 사용할 수 있습니다.

매개변수

매개변수 설명
arguments 필수
인수 목록인 경우 첫 번째 요소는 실행할 프로그램 경로여야 합니다.
timeout 기본값 = 600
초 단위의 명령어 최대 기간 (기본값: 600초)
environment default = {}
일부 환경 변수가 프로세스에 전달되도록 강제 설정합니다.
quiet default = True
stdout 및 stderr을 터미널에 출력해야 하는 경우
working_directory default = ""
명령어 실행을 위한 작업 디렉터리입니다. 저장소 루트 또는 절대 상대 기준일 수 있습니다.

추출

None repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={})

저장소 디렉터리에 압축을 풉니다.

매개변수

매개변수 설명
archive string; or Label; or path, 저장소 디렉터리를 기준으로 압축해제될 보관 파일의
경로입니다.
output string; or Label; or path; default = ''
에 대한 보관 파일이 압축 해제될 디렉터리의 경로입니다(저장소 디렉터리 기준).
stripPrefix default = ''
추출된 파일에서 제거할 디렉터리 접두사 대부분의 아카이브에는 아카이브의 모든 파일이 포함된 최상위 디렉토리가 있습니다. 이 접두사를 build_file에서 반복해서 지정할 필요 없이 추출된 파일에서 이 접두사를 제거할 수 있습니다.
rename_files 기본값 = {}
추출 중에 이름을 바꿀 파일을 지정하는 사전(선택사항)입니다. 이름이 키와 정확히 일치하는 보관 항목의 이름은 디렉터리 접두어를 조정하기 전에 값으로 변경됩니다. 이는 유니코드 비파일 이름이 포함된 파일 또는 대소문자를 구분하지 않는 파일 시스템에서 동일한 경로로 추출할 파일이 있는 보관 파일을 추출하는 데 사용할 수 있습니다.

파일

None repository_ctx.file(path, content='', executable=True, legacy_utf8=True)

제공된 콘텐츠가 있는 저장소 디렉터리에 파일을 생성합니다.

매개변수

매개변수 설명
path string; or Label; or path, 저장소 파일의 상대
경로(필수)입니다.
content default = ''
생성할 파일의 콘텐츠이며 기본적으로 비어 있습니다.
executable default = True
생성된 파일에 실행 가능한 플래그를 설정하며, 기본값은 true입니다.
legacy_utf8 default = True
파일 콘텐츠를 기본적으로 UTF-8로 인코딩합니다. 향후 버전에서는 기본값을 변경하고 이 매개변수를 삭제할 예정입니다.

이름

string repository_ctx.name

이 규칙으로 만든 외부 저장소의 이름입니다.

os

repository_os repository_ctx.os

시스템의 정보에 액세스하는 구조체

patch

None repository_ctx.patch(patch_file, strip=0)

외부 저장소의 루트 디렉터리에 패치 파일을 적용합니다. 패치 파일은 표준 통합 diff 형식 파일이어야 합니다. Bazel 기반 패치 구현은 패치 명령줄 도구와 같은 퍼즈 일치 및 바이너리 패치를 지원하지 않습니다.

매개변수

매개변수 설명
patch_file string; or Label; or path, 필수
적용할 패치 파일로 라벨, 상대 경로 또는 절대 경로일 수 있습니다. 상대 경로인 경우 저장소 디렉터리로 결정됩니다.
strip default = 0
파일 이름에서 선행 구성요소를 지정된 개수만큼 제거합니다.

경로

path repository_ctx.path(path)

문자열, 라벨 또는 경로에서 경로를 반환합니다. 상대 경로이면 저장소 디렉터리를 기준으로 결정됩니다. 경로가 라벨인 경우 해당 파일의 경로로 결정됩니다. 원격 저장소는 분석 단계 중에 실행되므로 대상 결과에 종속될 수 없습니다 (라벨이 생성되지 않은 파일을 가리켜야 함). 경로가 경로인 경우 해당 경로를 그대로 반환합니다.

매개변수

매개변수 설명
path string; or Label; or path, 경로를 만드는 데 사용할 문자열, 라벨, 경로

read

string repository_ctx.read(path)

파일 시스템에서 파일의 콘텐츠를 읽습니다.

매개변수

매개변수 설명
path string; or Label; or path, 읽어들일 파일의
경로.

report_progress

None repository_ctx.report_progress(status='')

이 저장소 또는 모듈 확장 프로그램의 가져오기 진행 상태를 업데이트합니다.

매개변수

매개변수 설명
status string; 기본값 = ''
' 가져오기 진행 상황의 현재 상태를 설명하는 문자열

None repository_ctx.symlink(target, link_name)

파일 시스템에 심볼릭 링크를 만듭니다.

매개변수

매개변수 설명
target string; or Label; or path, 필수
심볼릭 링크가 가리켜야 하는 경로입니다.
string; or Label; or path, 필수
생성할 심볼릭 링크의 경로입니다(저장소 디렉터리 기준).

템플릿

None repository_ctx.template(path, template, substitutions={}, executable=True)

template를 사용하여 새 파일을 생성합니다. substitutions의 키에서 template가 발생할 때마다 해당하는 값으로 바뀝니다. 결과는 path로 작성됩니다. 실행 가능한 비트를 켜거나 끄도록 선택사항인 executable 인수 (기본값: true)를 설정할 수 있습니다.

매개변수

매개변수 설명
path string; or Label; or path, 저장소 파일의 상대
경로(필수)입니다.
template string; or Label; or path; 템플릿 파일의
필수 경로입니다.
substitutions default = {}
대체를 통해 템플릿을 펼칠 때 적용합니다.
executable default = True
생성된 파일에 실행 가능한 플래그를 설정하며, 기본값은 true입니다.

어떤

path repository_ctx.which(program)

해당 프로그램의 경로를 반환하거나 경로에 해당 프로그램이 없는 경우 None을 반환합니다.

매개변수

매개변수 설명
program 필수
경로에서 찾을 프로그램
None가 반환될 수 있습니다.

작업공간_루트

path repository_ctx.workspace_root

bazel 호출의 루트 작업공간 경로입니다.