implementation
함수의 인수로 store_ctx 객체를 가져옵니다.
구성원
- attr
- 삭제
- 다운로드
- download_and_extract
- execute
- 추출
- 파일
- getenv
- name
- os
- patch
- 경로
- 읽기
- report_progress
- 심볼릭 링크
- 템플릿
- 손목시계
- watch_tree
- 어떤
- workspace_root
Attr
struct repository_ctx.attr속성 값에 액세스하기 위한 구조체 값은 사용자가 제공합니다. 제공되지 않으면 기본값이 사용됩니다.
delete
bool repository_ctx.delete(path)파일 또는 디렉터리를 삭제합니다. 이 호출에 의해 파일이나 디렉터리가 실제로 삭제되었는지 여부를 나타내는 부울을 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
path
|
string 또는 path;
required 삭제할 파일의 경로(저장소 디렉터리를 기준으로 한 상대 경로 또는 절대값)입니다. 경로 또는 문자열일 수 있습니다. |
download
unknown repository_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', block=True)제공된 URL의 출력 경로로 파일을 다운로드하고, 다운로드가 완료되면
true
플래그인 success
를 포함하는 구조체를 반환하고, 성공할 경우 필드 sha256
와 integrity
를 포함하는 파일의 해시를 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
url
|
string 또는 string의 Iterable. 필수 동일한 파일을 참조하는 미러 URL 목록입니다. |
output
|
string, Label, path. 기본값은 저장소 디렉터리를 기준으로 한 출력 파일의 '' 경로입니다. |
sha256
|
기본값은 '' 입니다.다운로드된 파일의 예상 SHA-256 해시입니다. 이 값은 다운로드한 파일의 SHA-256 해시와 일치해야 합니다. 원격 파일이 변경될 수 있으므로 SHA-256을 생략하면 보안 위험이 있습니다. 이 필드를 생략하는 것이 좋다면 빌드가 밀폐되지 않습니다. 보다 쉽게 개발하기 위한 선택사항이지만 출시 전에 설정해야 합니다. |
executable
|
기본값은 False 입니다.생성된 파일에 실행 가능 플래그를 기본적으로 false로 설정합니다. |
allow_fail
|
기본값은 False 입니다.설정된 경우 다운로드 실패 시 오류를 발생시키는 대신 반환 값에 오류를 표시합니다. |
canonical_id
|
기본값은 '' 입니다.이 옵션을 설정하면 파일이 동일한 표준 ID로 캐시에 추가된 사례로 캐시 적중을 제한합니다. |
auth
|
기본값은 {} 입니다.일부 URL에 대한 인증 정보를 지정하는 선택적 사전입니다. |
headers
|
기본값은 {} 입니다.모든 URL의 http 헤더를 지정하는 선택적 사전입니다. |
integrity
|
기본값은 '' 입니다.하위 리소스 무결성 형식으로 다운로드된 파일의 예상 체크섬입니다. 이 값은 다운로드한 파일의 체크섬과 일치해야 합니다. 원격 파일이 변경될 수 있으므로 체크섬을 생략하면 보안 위험이 있습니다. 이 필드를 생략하는 것이 좋다면 빌드가 밀폐되지 않습니다. 보다 쉽게 개발하기 위한 선택사항이지만 출시 전에 설정해야 합니다. |
block
|
기본값은 True 입니다.false로 설정된 경우 호출은 즉시 반환되며 일반 반환 값 대신 단일 메서드인 wait()이 포함된 토큰을 반환합니다. 이 메서드는 다운로드가 완료될 때까지 차단하고 일반적인 반환 값을 반환하거나 평소와 같이 발생합니다. |
download_and_extract
struct repository_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', rename_files={})제공된 URL의 출력 경로로 파일을 다운로드하고, 추출한 후
success
가 포함된 구조체를 반환합니다. 플래그는 다운로드가 성공적으로 완료되면 true
인 플래그, 성공하면 sha256
및 integrity
필드가 있는 파일의 해시를 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
url
|
string 또는 string의 Iterable. 필수 동일한 파일을 참조하는 미러 URL 목록입니다. |
output
|
string, Label, path,
기본값은 '' 저장소 디렉터리를 기준으로 보관 파일을 압축해제할 디렉터리의 경로입니다. |
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', '.tbarz' 또는 '.tbarz'를 지정할 수 있습니다. |
stripPrefix
|
기본값은 '' 입니다.추출된 파일에서 삭제할 디렉터리 접두사입니다. 대부분의 보관 파일에는 보관 파일의 모든 파일이 포함된 최상위 디렉터리가 포함되어 있습니다. build_file 에서 이 접두사를 여러 번 지정할 필요 없이 이 필드를 사용하여 추출된 파일에서 접두사를 삭제할 수 있습니다.
|
allow_fail
|
기본값은 False 입니다.설정된 경우 다운로드 실패 시 오류를 발생시키는 대신 반환 값에 오류를 표시합니다. |
canonical_id
|
기본값은 '' 입니다.이 옵션을 설정하면 파일이 동일한 표준 ID로 캐시에 추가된 사례로 캐시 적중을 제한합니다. |
auth
|
기본값은 {} 입니다.일부 URL에 대한 인증 정보를 지정하는 선택적 사전입니다. |
headers
|
기본값은 {} 입니다.모든 URL의 http 헤더를 지정하는 선택적 사전입니다. |
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
|
기본값은 "" 입니다.명령어 실행을 위한 작업 디렉터리입니다. 저장소 루트 또는 절대값을 기준으로 할 수 있습니다. |
extract
None
repository_ctx.extract(archive, output='', stripPrefix='', *, rename_files={}, watch_archive='auto')
저장소 디렉터리에 보관 파일 압축을 풉니다.
매개변수
매개변수 | 설명 |
---|---|
archive
|
string, Label, path,
필수 저장소 디렉터리를 기준으로 압축해제될 보관 파일의 경로입니다. |
output
|
string, Label, path,
기본값은 '' 저장소 디렉터리를 기준으로 보관 파일을 압축해제할 디렉터리의 경로입니다. |
stripPrefix
|
기본값은 '' 입니다.추출된 파일에서 삭제할 디렉터리 접두사입니다. 대부분의 보관 파일에는 보관 파일의 모든 파일이 포함된 최상위 디렉터리가 포함되어 있습니다. build_file 에서 이 접두사를 여러 번 지정할 필요 없이 이 필드를 사용하여 추출된 파일에서 접두사를 삭제할 수 있습니다.
|
rename_files
|
기본값은 {} 입니다.추출 중에 이름을 바꿀 파일을 지정하는 선택적 사전입니다. 키와 정확히 일치하는 이름의 보관 항목은 디렉터리 접두어 조정 전에 해당 값으로 이름이 변경됩니다. 이는 유니코드가 아닌 파일 이름을 포함하거나 대소문자를 구분하지 않는 파일 시스템에서 동일한 경로로 추출되는 파일이 있는 아카이브를 추출하는 데 사용할 수 있습니다. |
watch_archive
|
기본값은 보관 파일 'auto' 감상 여부입니다. 문자열 'yes', 'no' 또는 'auto'가 될 수 있습니다. 'yes'를 전달하는 것은 watch() 메서드를 즉시 호출하는 것과 같습니다. 'no'를 전달하면 파일을 보려고 시도하지 않습니다. 'auto'를 전달하면 합법적인 경우에만 파일을 보려고 시도합니다. 자세한 내용은 watch() 문서를 참고하세요.
|
파일
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입니다. 향후 버전에서는 기본값이 변경되고 이 매개변수가 삭제됩니다. |
getenv
string repository_ctx.getenv(name, default=None)환경 변수
name
의 값이 있으면 문자열로 반환되고, 없으면 default
을 반환합니다.증분식으로 빌드할 때 name
로 이름이 지정된 변수 값을 변경하면 이 저장소를 다시 가져옵니다.
매개변수
매개변수 | 설명 |
---|---|
name
|
문자열;
필수 원하는 환경 변수의 이름 |
default
|
string 또는 None . 기본값은 None 입니다.'name'을 찾을 수 없는 경우 반환되는 기본값 |
None
를 반환할 수 있습니다.
이름
string repository_ctx.name이 규칙으로 만든 외부 저장소의 이름입니다.
os
repository_os repository_ctx.os시스템의 정보에 액세스하기 위한 구조체
patch
None
repository_ctx.patch(patch_file, strip=0, *, watch_patch='auto')
외부 저장소의 루트 디렉터리에 패치 파일을 적용합니다. 패치 파일은 표준 통합 diff 형식 파일이어야 합니다. Bazel 네이티브 패치 구현은 패치 명령줄 도구와 같은 퍼즈 일치 및 바이너리 패치를 지원하지 않습니다.
매개변수
매개변수 | 설명 |
---|---|
patch_file
|
string, Label, path,
필수 적용할 패치 파일로, 라벨, 상대 경로 또는 절대 경로일 수 있습니다. 상대 경로인 경우 저장소 디렉터리로 확인됩니다. |
strip
|
기본값은 0 입니다.파일 이름에서 지정된 수의 선행 구성요소를 제거합니다. |
watch_patch
|
기본값은 패치 파일을 'auto' 볼 여부입니다. 문자열 'yes', 'no' 또는 'auto'가 될 수 있습니다. 'yes'를 전달하는 것은 watch() 메서드를 즉시 호출하는 것과 같습니다. 'no'를 전달하면 파일을 보려고 시도하지 않습니다. 'auto'를 전달하면 합법적인 경우에만 파일을 보려고 시도합니다. 자세한 내용은 watch() 문서를 참고하세요.
|
경로
path repository_ctx.path(path)문자열, 라벨 또는 경로의 경로를 반환합니다. 경로가 상대 경로이면 저장소 디렉터리를 기준으로 확인됩니다. 경로가 라벨인 경우에는 해당 파일의 경로로 확인됩니다. 원격 저장소는 분석 단계에서 실행되므로 대상 결과에 의존할 수 없습니다 (라벨은 생성되지 않은 파일을 가리켜야 함). 경로가 경로인 경우 해당 경로를 있는 그대로 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
path
|
string, Label, path,
필수 경로를 만들 문자열, 라벨 또는 경로 |
read
string repository_ctx.read(path, *, watch='auto')파일 시스템에서 파일의 내용을 읽습니다.
매개변수
매개변수 | 설명 |
---|---|
path
|
string, Label, path,
필수 읽을 파일의 경로입니다. |
watch
|
기본값은 'auto' 입니다.파일을 감상할지 여부입니다. 문자열 'yes', 'no' 또는 'auto'가 될 수 있습니다. 'yes'를 전달하는 것은 watch() 메서드를 즉시 호출하는 것과 같습니다. 'no'를 전달하면 파일을 보려고 시도하지 않습니다. 'auto'를 전달하면 합법적인 경우에만 파일을 보려고 시도합니다. 자세한 내용은 watch() 문서를 참고하세요.
|
report_progress
None
repository_ctx.report_progress(status='')
이 저장소 또는 모듈 확장 프로그램을 가져오는 진행 상태를 업데이트합니다.
매개변수
매개변수 | 설명 |
---|---|
status
|
문자열. 기본값은 '' 가져오기 진행률의 현재 상태를 설명하는 문자열입니다. |
symlink
None
repository_ctx.symlink(target, link_name)
파일 시스템에 심볼릭 링크를 만듭니다.
매개변수
매개변수 | 설명 |
---|---|
target
|
string, Label, path,
필수 심볼릭 링크가 가리켜야 하는 경로입니다. |
link_name
|
string, Label, path,
필수 생성할 심볼릭 링크 경로입니다. |
템플릿
None
repository_ctx.template(path, template, substitutions={}, executable=True, *, watch_template='auto')
template
를 사용하여 새 파일을 생성합니다. substitutions
키의 template
에서 일치하는 모든 항목이 상응하는 값으로 대체됩니다. 결과는 path
로 작성됩니다. 실행 가능 비트를 켜거나 끄도록 선택적으로 executable
인수 (기본값: true)를 설정할 수 있습니다.
매개변수
매개변수 | 설명 |
---|---|
path
|
string, Label, path,
필수 저장소 디렉터리를 기준으로 한 생성 파일의 경로입니다. |
template
|
string, Label, path,
필수 템플릿 파일의 경로입니다. |
substitutions
|
기본값은 템플릿을 확장할 때 사용할 {} 대체 항목입니다. |
executable
|
기본값은 True 입니다.생성된 파일에 실행 가능 플래그를 설정합니다. 기본값은 true입니다. |
watch_template
|
기본값은 'auto' 입니다.템플릿 파일을 감상할지 여부입니다. 문자열 'yes', 'no' 또는 'auto'가 될 수 있습니다. 'yes'를 전달하는 것은 watch() 메서드를 즉시 호출하는 것과 같습니다. 'no'를 전달하면 파일을 보려고 시도하지 않습니다. 'auto'를 전달하면 합법적인 경우에만 파일을 보려고 시도합니다. 자세한 내용은 watch() 문서를 참고하세요.
|
시계
None
repository_ctx.watch(path)
Bazel에게 주어진 경로의 존재 여부, 또는 파일인지 디렉터리인지에 대한 변경사항을 감시하도록 지시합니다. 파일이나 디렉터리를 변경하면 이 저장소 또는 모듈 확장자가 무효화되고 다음번에 다시 가져오거나 다시 평가됩니다.'변경사항'에는 파일의 콘텐츠 변경사항 (경로가 파일인 경우), 경로가 파일이지만 디렉터리인 경우 또는 그 반대의 경우, 경로가 시작되거나 중지되는지가 포함됩니다. 특히 경로가 디렉터리인 경우 디렉터리 아래의 파일에 대한 변경사항은 포함되지 않습니다. 그렇게 하려면 대신 path.readdir()
를 사용하세요.
현재 가져오는 저장소 또는 현재 모듈 확장 프로그램의 작업 디렉터리 내부에서 경로를 감시하려고 하면 오류가 발생합니다. 모듈 확장 프로그램이 현재 Bazel 작업공간 외부의 경로를 감시하려고 시도하는 경우에도 오류가 발생합니다.
매개변수
매개변수 | 설명 |
---|---|
path
|
string, Label, path,
필수 감시할 파일 경로. |
watch_tree
None
repository_ctx.watch_tree(path)
Bazel에게 주어진 경로 아래에서 타동적으로 파일이나 디렉토리의 변경사항을 감시하도록 지시합니다. 파일 내용을 변경하거나, 파일이나 디렉토리의 존재, 파일 이름 또는 디렉토리 이름을 변경하면 이 저장소를 다시 가져옵니다.현재 가져오는 저장소 내의 경로를 감시하려고 하면 오류가 발생합니다.
매개변수
매개변수 | 설명 |
---|---|
path
|
string, Label, path,
필수 감시할 디렉터리 트리 경로입니다. |
어떤
path repository_ctx.which(program)해당 프로그램의 경로를 반환하거나 경로에 이러한 프로그램이 없는 경우 None을 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
program
|
필수 경로에서 찾을 프로그램입니다. |
None
를 반환할 수 있습니다.
workspace_root
path repository_ctx.workspace_rootbazel 호출의 루트 작업공간 경로입니다.