module_ctx

도우미 함수 및 종속 항목 그래프의 관련 태그 정보가 포함된 모듈 확장 프로그램의 컨텍스트입니다. 모듈 확장 프로그램을 만들 때 module_ctx 객체를 implementation 함수의 인수로 가져옵니다.

구성원

download

struct module_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 default = False
설정되면 실패한 다운로드에 관한 오류를 표시하는 대신 반환 값에 오류를 표시합니다.
canonical_id default = ''
이 값을 설정하면 파일이 동일한 표준 ID로 캐시에 추가된 사례로 캐시 적중을 제한합니다.
auth default = {}
일부 URL에 대한 인증 정보를 지정하는 선택적 사전입니다.
integrity default = ''
다운로드한 파일의 예상 체크섬으로, 하위 리소스 무결성 형식입니다. 이 값은 다운로드한 파일의 체크섬과 일치해야 합니다. 원격 파일이 변경될 수 있으므로 체크섬을 생략하면 보안 위험이 발생합니다. 기껏해야 이 필드를 생략하면 빌드가 밀폐되지 않습니다. 더 쉽게 개발할 수 있도록 하기 위한 선택사항이지만 출시 전에 설정해야 합니다.

download_and_extract

struct module_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', 'tgz', 'tar.xz', 'txz', '.debtar.zst', '.tzst', 'tar.bz2', '.ar' 중 하나를 명시적으로 지정할 수 있습니다.
stripPrefix default = ''
추출된 파일에서 삭제할 디렉터리 접두어입니다. 대부분의 보관 파일에는 보관 파일의 모든 파일이 포함된 최상위 디렉터리가 포함되어 있습니다. build_file에서 이 접두사를 여러 번 지정할 필요 없이 이 필드를 사용하여 추출된 파일에서 접두사를 삭제할 수 있습니다.
allow_fail default = False
설정되면 실패한 다운로드에 관한 오류를 표시하는 대신 반환 값에 오류를 표시합니다.
canonical_id default = ''
이 값을 설정하면 파일이 동일한 표준 ID로 캐시에 추가된 사례로 캐시 적중을 제한합니다.
auth default = {}
일부 URL에 대한 인증 정보를 지정하는 선택적 사전입니다.
integrity default = ''
다운로드한 파일의 예상 체크섬으로, 하위 리소스 무결성 형식입니다. 이 값은 다운로드한 파일의 체크섬과 일치해야 합니다. 원격 파일이 변경될 수 있으므로 체크섬을 생략하면 보안 위험이 발생합니다. 기껏해야 이 필드를 생략하면 빌드가 밀폐되지 않습니다. 더 쉽게 개발할 수 있도록 하기 위한 선택사항이지만 출시 전에 설정해야 합니다.
rename_files default = {}
추출 중에 이름을 바꿀 파일을 지정하는 선택적 사전입니다. 이름이 키와 정확하게 일치하는 보관 파일 항목의 이름이 디렉터리 접두어 조정 전에 변경된 값으로 변경됩니다. 이는 유니코드가 아닌 파일 이름을 포함하거나 대소문자를 구분하지 않는 파일 시스템에서 동일한 경로로 추출되는 파일이 있는 아카이브를 추출하는 데 사용할 수 있습니다.

execute

exec_result module_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 module_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로 인코딩합니다(기본적으로 true). 향후 버전에서는 기본값이 변경되고 이 매개변수가 삭제됩니다.

modules

list module_ctx.modules

외부 종속 항목 그래프의 모든 Bazel 모듈 목록. 각각은 이 모듈 확장 프로그램에 지정된 모든 태그를 노출하는 bazel_module 객체입니다. 이 사전의 반복 순서는 루트 모듈에서 시작하는 범위 우선 검색과 동일합니다.

os

repository_os module_ctx.os

시스템의 정보에 액세스하기 위한 구조체.

경로

path module_ctx.path(path)

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

매개변수

매개변수 설명
path string; or Label; or path, 필수
경로를 만들 문자열, 라벨 또는 경로

read

string module_ctx.read(path)

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

매개변수

매개변수 설명
path string; or Label; or path. 필수
읽을 파일의 경로입니다.

report_progress

None module_ctx.report_progress(status='')

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

매개변수

매개변수 설명
status string. 기본값은 ''
가져오기 진행률의 현재 상태를 설명하는 문자열입니다.

어떤

path module_ctx.which(program)

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

매개변수

매개변수 설명
program 필수
경로에서 찾을 수 있습니다.
None를 반환할 수 있습니다.