도우미 함수와 종속 항목 그래프 전반의 관련 태그에 관한 정보를 포함하는 모듈 확장 프로그램의 컨텍스트입니다. 모듈 확장 프로그램을 만들 때 module_ctx 객체가 implementation
함수의 인수로 제공됩니다.
회원
- 다운로드
- download_and_extract
- 실행
- extension_metadata
- extract
- 파일
- getenv
- is_dev_dependency
- modules
- os
- 경로
- 읽기
- report_progress
- root_module_has_non_dev_dependency
- 시청
- 이는
download
unknown module_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', block=True)
success
, 다운로드가 완료된 경우 true
인 플래그, 다운로드가 완료된 경우 sha256
및 integrity
필드가 포함된 파일의 해시가 포함된 구조체를 반환합니다. sha256
또는 integrity
가 사용자가 지정한 경우 명시적 canonical_id
를 설정하는 것이 좋습니다. 예: get_default_canonical_id
매개변수
매개변수 | 설명 |
---|---|
url
|
string 또는 string의 반복 가능한 객체입니다.
필수 동일한 파일을 참조하는 미러 URL 목록입니다. |
output
|
string, 라벨 또는 경로. 기본값은 '' 입니다.저장소 디렉터리를 기준으로 한 출력 파일의 경로입니다. |
sha256
|
string, 기본값은 '' 입니다.다운로드한 파일의 예상 SHA-256 해시입니다. 이는 다운로드한 파일의 SHA-256 해시와 일치해야 합니다. 원격 파일이 변경될 수 있으므로 SHA-256을 생략하면 보안 위험이 있습니다. 이 필드를 생략하면 기껏해야 빌드가 비밀번호로 보호되지 않게 됩니다. 개발을 더 쉽게 하기 위한 선택사항이지만 출시 전에 설정해야 합니다. 제공되는 경우 먼저 저장소 캐시에서 지정된 해시가 있는 파일을 확인합니다. 캐시에서 파일을 찾을 수 없는 경우에만 다운로드가 시도됩니다. 다운로드가 완료되면 파일이 캐시에 추가됩니다. |
executable
|
bool;
기본값은 False 생성된 파일에 실행 파일 플래그를 설정합니다. 기본값은 false입니다. |
allow_fail
|
bool;
기본값은 False 입니다.설정하면 다운로드 실패에 대한 오류를 발생시키지 않고 반환 값에 오류를 표시합니다. |
canonical_id
|
string, 기본값은 '' 입니다.설정하면 캐시 적중을 파일이 동일한 표준 ID로 캐시에 추가된 경우로 제한합니다. 기본적으로 캐싱은 체크섬 ( sha256 또는 integrity )을 사용합니다.
|
auth
|
dict; 기본값은 {} 입니다.일부 URL의 인증 정보를 지정하는 선택적 사전입니다. |
headers
|
dict: 기본값은 {} 입니다.모든 URL의 HTTP 헤더를 지정하는 선택적 사전입니다. |
integrity
|
string;
기본값은 '' 입니다.다운로드된 파일의 예상 체크섬으로, 하위 요소 무결성 형식입니다. 이는 다운로드한 파일의 체크섬과 일치해야 합니다. 원격 파일이 변경될 수 있으므로 체크섬을 생략하면 보안 위험이 있습니다. 이 필드를 생략하면 기껏해야 빌드가 비밀번호로 보호되지 않게 됩니다. 개발을 더 쉽게 하기 위한 선택사항이지만 출시 전에 설정해야 합니다. 제공된 경우 먼저 저장소 캐시에서 지정된 체크섬이 있는 파일이 있는지 확인합니다. 캐시에서 파일을 찾을 수 없는 경우에만 다운로드가 시도됩니다. 다운로드가 완료되면 파일이 캐시에 추가됩니다. |
block
|
bool. 기본값은 True 입니다.false로 설정하면 호출이 즉시 반환되며 일반 반환 값 대신 단일 메서드 wait()가 포함된 토큰을 반환합니다. 이 메서드는 다운로드가 완료될 때까지 차단하고 일반 반환 값을 반환하거나 평소와 같이 반환합니다. |
download_and_extract
struct module_ctx.download_and_extract(url, output='', sha256='', type='', strip_prefix='', allow_fail=False, canonical_id='', auth={}, headers={}, *, integrity='', rename_files={})
success
(다운로드가 성공적으로 완료되면 true
) 플래그를 포함하고 성공한 경우 sha256
및 integrity
필드가 있는 파일의 해시를 포함하는 구조체를 반환합니다. sha256
또는 integrity
가 사용자가 지정한 경우 명시적 canonical_id
를 설정하는 것이 좋습니다. 예: get_default_canonical_id
매개변수
매개변수 | 설명 |
---|---|
url
|
string 또는 string의 반복 가능한 객체입니다.
필수 동일한 파일을 참조하는 미러 URL 목록입니다. |
output
|
string, 라벨 또는 경로: 기본값은 '' 입니다.저장소 디렉터리를 기준으로 보관 파일이 압축 해제될 디렉터리의 경로입니다. |
sha256
|
string;
기본값은 '' 입니다.다운로드한 파일의 예상 SHA-256 해시입니다. 이는 다운로드한 파일의 SHA-256 해시와 일치해야 합니다. 원격 파일이 변경될 수 있으므로 SHA-256을 생략하면 보안 위험이 있습니다. 기껏해야 이 필드를 생략하면 빌드가 밀폐되지 않게 됩니다. 개발을 더 쉽게 하기 위한 선택사항이지만 출시 전에 설정해야 합니다. 제공되는 경우 먼저 저장소 캐시에서 지정된 해시가 있는 파일을 확인합니다. 캐시에서 파일을 찾을 수 없는 경우에만 다운로드가 시도됩니다. 다운로드가 완료되면 파일이 캐시에 추가됩니다. |
type
|
string; 기본값은 '' 입니다.다운로드한 파일의 보관 파일 유형입니다. 기본적으로 보관 파일 유형은 URL의 파일 확장자에 따라 결정됩니다. 파일에 확장자가 없는 경우 'zip', 'jar', 'war', 'aar', 'nupkg', 'tar', 'tar.gz', 'tgz', 'tar.xz', 'txz', '.tar.zst', '.tzst', 'tar.bz', 'tar.bz', 'tar.bz'를 명시적으로 지정할 수 있습니다. |
strip_prefix
|
string, 기본값은 '' 입니다.추출된 파일에서 삭제할 디렉터리 프리픽스입니다. 많은 보관 파일에는 보관 파일의 모든 파일이 포함된 최상위 디렉터리가 포함되어 있습니다. build_file 에서 이 접두사를 반복해서 지정하는 대신 이 필드를 사용하여 추출된 파일에서 접두사를 삭제할 수 있습니다.
호환성을 위해 이 매개변수는 지원 중단된 이름인 |
allow_fail
|
bool;
기본값은 False 입니다.설정하면 다운로드 실패에 대한 오류를 발생시키지 않고 반환 값에 오류를 표시합니다. |
canonical_id
|
string;
기본값은 '' 입니다.설정하면 파일이 동일한 정규 ID로 캐시에 추가된 경우에만 캐시 히트를 제한합니다. 기본적으로 캐싱은 체크섬( sha256 또는 integrity )을 사용합니다.
|
auth
|
dict; 기본값은 {} 입니다.일부 URL의 인증 정보를 지정하는 선택적 사전입니다. |
headers
|
dict: 기본값은 {} 입니다.모든 URL의 HTTP 헤더를 지정하는 선택적 사전입니다. |
integrity
|
string;
기본값은 '' 입니다.다운로드된 파일의 예상 체크섬으로, 하위 요소 무결성 형식입니다. 이는 다운로드한 파일의 체크섬과 일치해야 합니다. 원격 파일이 변경될 수 있으므로 체크섬을 생략하면 보안 위험이 있습니다. 이 필드를 생략하면 기껏해야 빌드가 비밀번호로 보호되지 않게 됩니다. 개발을 간소화하기 위한 선택사항이지만 출시 전에 설정해야 합니다. 제공된 경우 먼저 저장소 캐시에서 지정된 체크섬이 있는 파일이 있는지 확인합니다. 캐시에서 파일을 찾을 수 없는 경우에만 다운로드가 시도됩니다. 다운로드가 완료되면 파일이 캐시에 추가됩니다. |
rename_files
|
dict; 기본값은 {} 입니다.추출 중에 이름을 바꿀 파일을 지정하는 선택적 사전입니다. 키와 정확히 일치하는 이름의 보관 파일 항목은 디렉터리 접두사 조정 전에 값으로 이름이 바뀝니다. 이 옵션은 유니코드가 아닌 파일 이름이 포함되어 있거나 대소문자를 구분하지 않는 파일 시스템에서 동일한 경로로 추출되는 파일이 포함된 보관 파일을 추출하는 데 사용할 수 있습니다. |
execute
exec_result module_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")
timeout
로 제한됩니다 (단위: 초, 기본값: 600초). 이 메서드는 명령어의 출력이 포함된 exec_result
구조를 반환합니다. environment
매핑은 프로세스에 전달할 일부 환경 변수를 재정의하는 데 사용할 수 있습니다.
매개변수
매개변수 | 설명 |
---|---|
arguments
|
sequence;
required 인수 목록입니다. 첫 번째 요소는 실행할 프로그램의 경로여야 합니다. |
timeout
|
int, 기본값은 600 입니다.명령어의 최대 지속 시간(초)입니다(기본값은 600초). |
environment
|
dict. 기본값은 {} 입니다.일부 환경 변수가 프로세스에 전달되도록 강제 설정합니다. 값을 None 로 설정하면 환경 변수가 삭제됩니다.
|
quiet
|
bool;
기본값은 True stdout 및 stderr을 터미널에 출력해야 하는지 여부입니다. |
working_directory
|
string;
기본값은 "" 명령어 실행을 위한 작업 디렉터리입니다. 저장소 루트에 상대적이거나 절대적일 수 있습니다. 기본값은 저장소 루트입니다. |
extension_metadata
extension_metadata module_ctx.extension_metadata(root_module_direct_deps=None, root_module_direct_dev_deps=None, reproducible=False)
매개변수
매개변수 | 설명 |
---|---|
root_module_direct_deps
|
문자열의 시퀀스 또는 문자열 또는 None 입니다. 기본값은 None 입니다.확장 프로그램에서 루트 모듈의 직접 종속 항목으로 간주하는 저장소의 이름입니다. 루트 모듈이 추가 저장소를 가져오거나 use_repo 를 통해 이러한 저장소를 모두 가져오지 않는 경우 Bazel은 확장 프로그램이 평가될 때 경고를 출력하여 사용자에게 bazel mod tidy 를 실행하여 use_repo 호출을 자동으로 수정하도록 지시합니다.
|
root_module_direct_dev_deps
|
문자열의 시퀀스 또는 문자열 또는 None 입니다. 기본값은 None 입니다.확장 프로그램에서 루트 모듈의 직접적인 개발자 종속 항목으로 간주하는 저장소의 이름입니다. 루트 모듈이 추가 저장소를 가져오거나 use_extension(..., dev_dependency = True) 로 만든 확장 프로그램 프록시에서 use_repo 를 통해 이러한 저장소를 모두 가져오지 않으면 Bazel은 확장 프로그램이 평가될 때 경고를 출력하여 사용자에게 bazel mod tidy 를 실행하여 use_repo 호출을 자동으로 수정하라고 안내합니다.
|
reproducible
|
bool;
기본값은 False 이 모듈 확장 프로그램이 완전한 재현성을 보장하므로 잠금 파일에 저장해서는 안 된다고 나타냅니다. |
추출
None
module_ctx.extract(archive, output='', strip_prefix='', *, rename_files={}, watch_archive='auto')
매개변수
매개변수 | 설명 |
---|---|
archive
|
string, Label 또는 path: 설치 해제할 보관 파일의 경로(저장소 디렉터리를 기준으로 한 상대 경로)입니다. |
output
|
string, 라벨 또는 경로: 기본값은 '' 입니다.보관 파일이 압축 해제될 디렉터리의 경로(저장소 디렉터리를 기준으로 함)입니다. |
strip_prefix
|
string. 기본값은 '' 입니다. 추출된 파일에서 삭제할 디렉터리 프리픽스입니다. 많은 보관 파일에는 보관 파일의 모든 파일을 포함하는 최상위 디렉터리가 있습니다. build_file 에서 이 접두사를 반복해서 지정하는 대신 이 필드를 사용하여 추출된 파일에서 접두사를 삭제할 수 있습니다.
호환성을 위해 이 매개변수는 지원 중단된 이름인 |
rename_files
|
dict; 기본값은 {} 입니다.추출 중에 이름을 바꿀 파일을 지정하는 선택적 사전입니다. 키와 정확히 일치하는 이름의 보관 파일 항목은 디렉터리 접두사 조정 전에 값으로 이름이 바뀝니다. 이 옵션은 유니코드가 아닌 파일 이름이 포함되어 있거나 대소문자를 구분하지 않는 파일 시스템에서 동일한 경로로 추출되는 파일이 포함된 보관 파일을 추출하는 데 사용할 수 있습니다. |
watch_archive
|
string; 기본값은 'auto' 입니다.보관 파일을 감시할지 여부입니다. 'yes', 'no', 'auto' 문자열일 수 있습니다. 'yes'를 전달하면 watch() 메서드를 즉시 호출하는 것과 같습니다. 'no'를 전달하면 파일을 감시하지 않습니다. 'auto'를 전달하면 합법적인 경우에만 파일을 감시하려고 시도합니다. 자세한 내용은 watch() 문서를 참고하세요.
|
파일
None
module_ctx.file(path, content='', executable=True, legacy_utf8=True)
매개변수
매개변수 | 설명 |
---|---|
path
|
string, Label 또는 path, 필수 저장소 디렉터리를 기준으로 만들 파일의 경로입니다. |
content
|
string;
기본값은 '' 만들 파일의 콘텐츠입니다. 기본적으로 비어 있습니다. |
executable
|
bool;
기본값은 True 생성된 파일에 실행 파일 플래그를 설정합니다. 기본값은 true입니다. |
legacy_utf8
|
bool;
기본값은 True 파일 콘텐츠를 UTF-8로 인코딩합니다. 기본값은 true입니다. 향후 버전에서는 기본값이 변경되고 이 매개변수가 삭제됩니다. |
getenv
string module_ctx.getenv(name, default=None)
name
의 값이 있는 경우 문자열로 반환하고, 없는 경우 default
를 반환합니다. 점진적으로 빌드할 때 name
로 이름이 지정된 변수의 값을 변경하면 이 저장소가 다시 가져옵니다.
매개변수
매개변수 | 설명 |
---|---|
name
|
string;
required 원하는 환경 변수의 이름입니다. |
default
|
string 또는 None (기본값: None )name 를 찾을 수 없는 경우 반환할 기본값입니다.
|
None
을 반환할 수 있습니다.
is_dev_dependency
bool module_ctx.is_dev_dependency(tag)
devDependency = True
를 사용한 use_extension 호출의 결과에 지정되었는지 여부를 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
tag
|
bazel_module_tag;
required bazel_module.tags에서 가져온 태그입니다. |
modules
list module_ctx.modules
os
repository_os module_ctx.os
경로
path module_ctx.path(path)
매개변수
매개변수 | 설명 |
---|---|
path
|
string, Label 또는 path(필수)string , Label 또는 path : 경로를 만들 위치입니다.
|
read
string module_ctx.read(path, *, watch='auto')
매개변수
매개변수 | 설명 |
---|---|
path
|
string, Label 또는 path(필수) 읽을 파일의 경로입니다. |
watch
|
string;
기본값은 'auto' 파일을 감시할지 여부입니다. 'yes', 'no', 'auto' 문자열일 수 있습니다. 'yes'를 전달하면 watch() 메서드를 즉시 호출하는 것과 같습니다. 'no'를 전달하면 파일을 감시하지 않습니다. 'auto'를 전달하면 합법적인 경우에만 파일을 감시하려고 시도합니다. 자세한 내용은 watch() 문서를 참고하세요.
|
report_progress
None
module_ctx.report_progress(status='')
매개변수
매개변수 | 설명 |
---|---|
status
|
string; 기본값은 '' 입니다.string 가져오기 진행 상황의 현재 상태를 설명합니다.
|
root_module_has_non_dev_dependency
bool module_ctx.root_module_has_non_dev_dependency
시계
None
module_ctx.watch(path)
'변경사항'에는 파일의 콘텐츠 변경사항 (경로가 파일인 경우), 경로가 파일이었으나 이제 디렉터리인 경우 또는 그 반대의 경우, 경로가 존재하기 시작하거나 중지된 경우 등이 포함됩니다. 특히 경로가 디렉터리인 경우 디렉터리 아래의 파일 변경사항은 포함되지 않습니다. 대신 path.readdir()
를 사용하세요.
현재 가져오는 저장소 내부 또는 현재 모듈 확장 프로그램의 작업 디렉터리 내부에서 경로를 감시하려고 하면 오류가 발생합니다. 현재 Bazel 작업공간 외부의 경로를 감시하려는 모듈 확장 프로그램도 오류를 일으킵니다.
매개변수
매개변수 | 설명 |
---|---|
path
|
string, Label 또는 path(필수) 시청할 파일의 경로입니다. |
어떤
path module_ctx.which(program)
path
를 반환하거나 경로에 해당 프로그램이 없는 경우 None
을 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
program
|
string;
required 경로에서 찾을 프로그램입니다. |
None
을 반환할 수 있습니다.