도우미 함수와 속성 정보가 포함된 저장소 규칙의 컨텍스트입니다. 저장소 규칙을 만들 때 repository_ctx 객체가 implementation
함수의 인수로 제공됩니다.
회원
- attr
- 삭제
- download
- download_and_extract
- 실행
- extract
- 파일
- name
- os
- patch
- 경로
- 읽기
- report_progress
- symlink
- 템플릿
- 이는
- workspace_root
attr
struct repository_ctx.attr
delete
bool repository_ctx.delete(path)
매개변수
매개변수 | 설명 |
---|---|
path
|
문자열 또는 경로;
필수 삭제할 파일의 경로(저장소 디렉터리에 상대적 또는 절대)입니다. 경로 또는 문자열일 수 있습니다. |
download
struct repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')
success
, 다운로드가 완료된 경우 true
인 플래그, 다운로드가 완료된 경우 sha256
및 integrity
필드가 포함된 파일의 해시가 포함된 구조체를 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
url
|
string 또는 string의 반복 가능한 객체입니다.
필수 동일한 파일을 참조하는 미러 URL 목록입니다. |
output
|
string, 라벨 또는 경로입니다. 기본값은 '' 입니다.저장소 디렉터리를 기준으로 한 출력 파일의 경로입니다. |
sha256
|
기본값은 '' 다운로드된 파일의 예상 SHA-256 해시입니다. 이는 다운로드한 파일의 SHA-256 해시와 일치해야 합니다. 원격 파일이 변경될 수 있으므로 SHA-256을 생략하면 보안 위험이 있습니다. 이 필드를 생략하면 기껏해야 빌드가 비밀번호로 보호되지 않게 됩니다. 개발을 더 쉽게 하기 위한 선택사항이지만 출시 전에 설정해야 합니다. |
executable
|
기본값은 False 입니다. 생성된 파일에 실행 파일 플래그를 설정합니다. 기본값은 false입니다. |
allow_fail
|
기본값은 False 입니다. 설정하면 다운로드 실패에 대한 오류를 발생시키지 않고 반환 값에 오류를 표시합니다. |
canonical_id
|
기본값은 '' 입니다. 설정하면 캐시 히트를 파일이 동일한 표준 ID로 캐시에 추가된 경우에만 제한합니다. |
auth
|
기본값은 {} 일부 URL의 인증 정보를 지정하는 선택적 사전입니다. |
integrity
|
기본값은 '' 입니다.다운로드된 파일의 예상 체크섬으로, 하위 요소 무결성 형식입니다. 이는 다운로드한 파일의 체크섬과 일치해야 합니다. 원격 파일이 변경될 수 있으므로 체크섬을 생략하면 보안 위험이 있습니다. 이 필드를 생략하면 기껏해야 빌드가 비밀번호로 보호되지 않게 됩니다. 개발을 더 쉽게 하기 위한 선택사항이지만 출시 전에 설정해야 합니다. |
download_and_extract
struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})
success
, 다운로드가 완료된 경우 true
인 플래그, 다운로드가 완료된 경우 sha256
및 integrity
필드가 포함된 파일의 해시가 포함된 구조체를 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
url
|
string 또는 string의 반복 가능한 객체입니다.
필수 동일한 파일을 참조하는 미러 URL 목록입니다. |
output
|
string, 라벨 또는 경로: 기본값은 '' 입니다.보관 파일이 압축 해제될 디렉터리의 경로(저장소 디렉터리를 기준으로 함)입니다. |
sha256
|
기본값은 '' 다운로드된 파일의 예상 SHA-256 해시입니다. 이는 다운로드한 파일의 SHA-256 해시와 일치해야 합니다. 원격 파일이 변경될 수 있으므로 SHA-256을 생략하면 보안 위험이 있습니다. 이 필드를 생략하면 기껏해야 빌드가 비밀번호로 보호되지 않게 됩니다. 개발을 더 쉽게 하기 위한 선택사항이지만 출시 전에 설정해야 합니다. 제공된 경우 먼저 저장소 캐시에서 지정된 해시가 있는 파일이 있는지 확인합니다. 캐시에서 파일을 찾을 수 없는 경우에만 다운로드가 시도됩니다. 다운로드가 완료되면 파일이 캐시에 추가됩니다. |
type
|
기본값은 '' 다운로드한 파일의 보관 파일 유형입니다. 기본적으로 보관 파일 유형은 URL의 파일 확장자에 따라 결정됩니다. 파일에 확장자가 없는 경우 여기에서 'zip', 'jar', 'war', 'aar', 'tar', 'tar.gz', 'tgz', 'tar.xz', 'txz', '.tar.zst', '.tzst', 'tar.bz2', '.tbz', '.ar' 또는 '.deb'를 명시적으로 지정할 수 있습니다. |
stripPrefix
|
기본값은 '' 입니다.추출된 파일에서 제거할 디렉터리 접두사입니다. 많은 보관 파일에는 보관 파일의 모든 파일이 포함된 최상위 디렉터리가 포함되어 있습니다. build_file 에서 이 접두사를 반복해서 지정하는 대신 이 필드를 사용하여 추출된 파일에서 접두사를 삭제할 수 있습니다.
|
allow_fail
|
기본값은 False 입니다. 설정하면 다운로드 실패에 대한 오류를 발생시키지 않고 반환 값에 오류를 표시합니다. |
canonical_id
|
기본값은 '' 입니다. 설정하면 캐시 히트를 파일이 동일한 표준 ID로 캐시에 추가된 경우에만 제한합니다. |
auth
|
기본값은 {} 일부 URL의 인증 정보를 지정하는 선택적 사전입니다. |
integrity
|
기본값은 '' 입니다.다운로드된 파일의 예상 체크섬으로, 하위 요소 무결성 형식입니다. 이는 다운로드한 파일의 체크섬과 일치해야 합니다. 원격 파일이 변경될 수 있으므로 체크섬을 생략하면 보안 위험이 있습니다. 이 필드를 생략하면 기껏해야 빌드가 비밀번호로 보호되지 않게 됩니다. 개발을 더 쉽게 하기 위한 선택사항이지만 출시 전에 설정해야 합니다. |
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
|
기본값은 {} 입니다.일부 환경 변수를 프로세스에 전달되도록 설정합니다. |
quiet
|
기본값은 True 입니다. stdout 및 stderr을 터미널에 출력해야 하는 경우입니다. |
working_directory
|
기본값은 "" 입니다.명령어 실행을 위한 작업 디렉터리입니다. 저장소 루트에 상대적이거나 절대적일 수 있습니다. |
추출
None
repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={})
매개변수
매개변수 | 설명 |
---|---|
archive
|
string, Label 또는 path: 설치 해제할 보관 파일의 경로(저장소 디렉터리를 기준으로 함) |
output
|
string, 라벨 또는 경로: 기본값은 '' 입니다.보관 파일이 압축 해제될 디렉터리의 경로(저장소 디렉터리를 기준으로 함)입니다. |
stripPrefix
|
기본값은 '' 입니다.추출된 파일에서 제거할 디렉터리 접두사입니다. 많은 보관 파일에는 보관 파일의 모든 파일이 포함된 최상위 디렉터리가 포함되어 있습니다. build_file 에서 이 접두사를 반복해서 지정하는 대신 이 필드를 사용하여 추출된 파일에서 접두사를 삭제할 수 있습니다.
|
rename_files
|
기본값은 {} 입니다.추출 중에 이름을 바꿀 파일을 지정하는 선택적 사전입니다. 키와 정확히 일치하는 이름의 보관 파일 항목은 디렉터리 접두사 조정 전에 값으로 이름이 바뀝니다. 이 옵션은 유니코드가 아닌 파일 이름이 포함되어 있거나 대소문자를 구분하지 않는 파일 시스템에서 동일한 경로로 추출되는 파일이 포함된 보관 파일을 추출하는 데 사용할 수 있습니다. |
파일
None
repository_ctx.file(path, content='', executable=True, legacy_utf8=True)
매개변수
매개변수 | 설명 |
---|---|
path
|
string, Label 또는 path: 필수 저장소 디렉터리를 기준으로 생성할 파일의 경로입니다. |
content
|
기본값은 '' 입니다.만들 파일의 콘텐츠로 기본적으로 비어 있습니다. |
executable
|
기본값은 True 입니다.생성된 파일에 실행 파일 플래그를 설정합니다. 기본값은 true입니다. |
legacy_utf8
|
기본값은 True 파일 콘텐츠를 UTF-8로 인코딩합니다. 기본값은 true입니다. 향후 버전에서는 기본값이 변경되고 이 매개변수가 삭제됩니다. |
이름
string repository_ctx.name
os
repository_os repository_ctx.os
patch
None
repository_ctx.patch(patch_file, strip=0)
매개변수
매개변수 | 설명 |
---|---|
patch_file
|
string, 라벨 또는 경로;
필수 적용할 패치 파일입니다. 라벨, 상대 경로 또는 절대 경로일 수 있습니다. 상대 경로인 경우 저장소 디렉터리로 확인됩니다. |
strip
|
기본값은 0 입니다.파일 이름에서 지정된 개수의 선행 구성요소를 삭제합니다. |
경로
path repository_ctx.path(path)
매개변수
매개변수 | 설명 |
---|---|
path
|
string, Label 또는 path;
필수 경로를 만들 문자열, 라벨 또는 경로 |
read
string repository_ctx.read(path)
매개변수
매개변수 | 설명 |
---|---|
path
|
문자열, 라벨 또는 경로;
필수 읽을 파일의 경로입니다. |
report_progress
None
repository_ctx.report_progress(status='')
매개변수
매개변수 | 설명 |
---|---|
status
|
string; 기본값은 '' 입니다.가져오기 진행 상황의 현재 상태를 설명하는 문자열입니다. |
심볼릭 링크
None
repository_ctx.symlink(target, link_name)
매개변수
매개변수 | 설명 |
---|---|
target
|
문자열, 라벨 또는 경로;
필수 심볼릭 링크가 가리켜야 하는 경로입니다. |
link_name
|
string, 라벨 또는 경로;
필수 저장소 디렉터리 기준의 상대 경로로, 생성할 심볼릭 링크의 경로입니다. |
템플릿
None
repository_ctx.template(path, template, substitutions={}, executable=True)
template
를 사용하여 새 파일을 생성합니다. template
에서 substitutions
키가 발생할 때마다 해당 값으로 대체됩니다. 결과는 path
에 기록됩니다. 선택적executable
인수 (기본값: true)를 설정하여 실행 파일 비트를 사용 설정하거나 중지할 수 있습니다.
매개변수
매개변수 | 설명 |
---|---|
path
|
string, Label 또는 path: 필수 저장소 디렉터리를 기준으로 생성할 파일의 경로입니다. |
template
|
문자열, 라벨 또는 경로: 필수 템플릿 파일의 경로입니다. |
substitutions
|
기본값은 {} 템플릿을 펼칠 때 적용할 대체입니다. |
executable
|
기본값은 True 입니다.생성된 파일에 실행 파일 플래그를 설정합니다. 기본값은 true입니다. |
어떤
path repository_ctx.which(program)
매개변수
매개변수 | 설명 |
---|---|
program
|
required 경로에서 찾을 프로그램입니다. |
None
을 반환할 수 있습니다.
workspace_root
path repository_ctx.workspace_root