MODULE.bazel 파일

문제 신고

이 페이지에는 MODULE.bazel 파일에서 사용할 수 있는 전역 메서드가 포함되어 있습니다.

구성원

보관처리_우선 적용

None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)

이 종속 항목이 레지스트리가 아닌 특정 위치의 보관 파일 (zip, gzip 등)에서 가져와야 함을 지정합니다. 이 지시어는 루트 모듈에서만 사용할 수 있습니다. 즉, 모듈에서 재정의를 지정한 경우 다른 모듈에서 종속 항목으로 사용할 수 없습니다.

매개변수

매개변수 설명
module_name 필수
이 재정의를 적용할 Bazel 모듈 종속 항목의 이름입니다.
urls string; or Iterable of strings; 필수
보관 파일의 URL입니다. http(s):// 또는 file:// URL일 수 있습니다.
integrity default = ''
하위 리소스 무결성 형식의 보관 파일 예상 체크섬입니다.
strip_prefix default = ''
추출된 파일에서 제거할 디렉터리 접두어입니다.
patches Iterable of strings; default = []
이 모듈에 적용할 패치 파일을 가리키는 라벨 목록입니다. 패치 파일은 최상위 프로젝트의 소스 트리에 있어야 합니다. 목록 순서로 적용됩니다.
patch_cmds Iterable of strings; default = []
패치가 적용된 후 Linux/Macos에서 적용할 Bash 명령어 시퀀스
patch_strip default = 0
Unix 패치의 --strip 인수와 같습니다.

Bazel_dep

None bazel_dep(name, version='', repo_name='', dev_dependency=False)

다른 Bazel 모듈에 대한 직접 종속 항목을 선언합니다.

매개변수

매개변수 설명
name 필수
직접 종속 항목으로 추가할 모듈의 이름입니다.
version default = ''
직접 종속 항목으로 추가할 모듈의 버전입니다.
repo_name default = ''
이 종속 항목을 나타내는 외부 저장소의 이름입니다. 기본적으로 모듈의 이름입니다.
dev_dependency default = False
true인 경우 현재 모듈이 루트 모듈이 아니거나 `--ignore_dev_dependency` 를 사용 설정한 경우 이 종속 항목은 무시됩니다.

git_override

None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)

종속 항목을 Git 저장소의 특정 커밋에서 가져와야 함을 지정합니다. 이 지시어는 루트 모듈에서만 사용할 수 있습니다. 즉, 모듈에서 재정의를 지정한 경우 다른 모듈에서 종속 항목으로 사용할 수 없습니다.

매개변수

매개변수 설명
module_name 필수
이 재정의를 적용할 Bazel 모듈 종속 항목의 이름입니다.
remote 필수
원격 Git 저장소의 URL입니다.
commit default = ''
체크아웃해야 하는 커밋입니다.
patches Iterable of strings; default = []
이 모듈에 적용할 패치 파일을 가리키는 라벨 목록입니다. 패치 파일은 최상위 프로젝트의 소스 트리에 있어야 합니다. 목록 순서로 적용됩니다.
patch_cmds Iterable of strings; default = []
패치가 적용된 후 Linux/Macos에서 적용할 Bash 명령어 시퀀스
patch_strip default = 0
Unix 패치의 --strip 인수와 같습니다.

local_path_override

None local_path_override(module_name, path)

종속 항목이 로컬 디스크의 특정 디렉터리에서 가져와야 함을 지정합니다. 이 지시어는 루트 모듈에서만 사용할 수 있습니다. 즉, 모듈에서 재정의를 지정한 경우 다른 모듈에서 종속 항목으로 사용할 수 없습니다.

매개변수

매개변수 설명
module_name 필수
이 재정의를 적용할 Bazel 모듈 종속 항목의 이름입니다.
path 필수
이 모듈이 있는 디렉터리의 경로입니다.

모듈

None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])

현재 Bazel 저장소에서 나타내는 Bazel 모듈의 특정 속성을 선언합니다. 이러한 속성은 모듈의 필수 메타데이터 (예: 이름 및 버전)이거나 현재 모듈 및 종속 항목의 동작에 영향을 미칩니다.

최대 한 번 호출되어야 합니다. 이 모듈은 루트 모듈이 아닌 경우에만 생략할 수 있습니다 (예: 다른 모듈에 종속되지 않는 경우).

매개변수

매개변수 설명
name default = ''
모듈의 이름입니다. 이 모듈이 루트 모듈인 경우에만 생략할 수 있습니다 (예: 다른 모듈에 종속되지 않는 경우). 유효한 모듈 이름은 1) 소문자 (a-z), 숫자 (0-9), 점 (.), 하이픈 (-), 밑줄 (_)만 포함해야 하며 2) 소문자로 시작하고 3) 소문자 또는 숫자로 끝나야 합니다.
version default = ''
모듈의 버전입니다. 이 모듈이 루트 모듈인 경우에만 생략할 수 있습니다 (예: 다른 모듈에 종속되지 않는 경우). 버전은 완화된 SemVer 형식이어야 합니다. 자세한 내용은 문서를 참고하세요.
compatibility_level default = 0
모듈의 호환성 수준입니다. 호환되지 않는 변경사항이 도입될 때마다 변경되어야 합니다. 이는 기본적으로 SemVer를 기준으로 모듈의 '주 버전'입니다. 단, 버전 문자열 자체에 삽입되지 않고 별도의 필드로 존재합니다. 호환성 수준이 다른 모듈은 마치 이름이 다른 모듈인 것처럼 버전 확인에 참여하지만 최종 종속 항목 그래프에는 이름은 동일하지만 호환성 수준이 다른 여러 모듈이 포함될 수 없습니다 (multiple_version_override가 적용되지 않는 경우). 자세한 내용은 문서를 참고하세요.
repo_name default = ''
모듈 자체에서 본 모듈을 나타내는 저장소 이름입니다. 기본적으로 저장소 이름은 모듈의 이름입니다. 이 옵션을 사용하면 모듈 이름과 다른 저장소 이름을 사용하는 프로젝트의 이전을 쉽게 수행할 수 있습니다.
bazel_compatibility Iterable of strings; default = []
사용자가 이 모듈과 호환되는 Bazel 버전을 선언할 수 있는 bazel 버전 목록입니다. 종속 항목 해결에 영향을 미치지는 않지만 bzlmod에서 이 정보를 사용하여 현재 Bazel 버전이 호환되는지 확인합니다. 이 값의 형식은 쉼표로 구분된 일부 제약조건 값의 문자열입니다. 세 가지 제약조건이 지원됩니다. <=X.X.X: Bazel 버전이 X.X.X 이상이어야 합니다. 최신 버전에 호환되지 않는 변경사항이 있는 경우 사용됩니다. >=X.X.X: Bazel 버전이 X.X.X 이상이어야 합니다.X.X.X. -X.X.X부터 사용할 수 있는 일부 기능을 사용하는 경우 Bazel 버전 X.X.X가 호환되지 않습니다. X.X.X에 버그가 있는 경우 사용되며 이후 버전에서는 수정됩니다.

여러 버전_재정의

None multiple_version_override(module_name, versions, registry='')

종속 항목을 레지스트리에서 계속 가져와야 하지만 여러 버전을 공존할 수 있어야 합니다. 자세한 내용은 문서를 참고하세요. 이 지시어는 루트 모듈에서만 사용할 수 있습니다. 즉, 모듈에서 재정의를 지정한 경우 다른 모듈에서 종속 항목으로 사용할 수 없습니다.

매개변수

매개변수 설명
module_name 필수
이 재정의를 적용할 Bazel 모듈 종속 항목의 이름입니다.
versions Iterable of strings, 필수
병용이 허용되는 버전을 명시적으로 지정합니다. 이러한 버전은 종속 항목 그래프의 사전 선택에 이미 있어야 합니다. 이 모듈의 종속 항목은 동일한 호환성 수준에서 허용되는 가장 가까운 상위 버전으로 '업그레이드'되지만, 동일한 호환성 수준에서 허용된 버전보다 높은 버전의 종속 항목이 있으면 오류가 발생합니다.
registry default = ''
이 모듈의 레지스트리를 재정의합니다. 기본 레지스트리 목록에서 이 모듈을 찾는 대신 지정된 레지스트리를 사용해야 합니다.

register_execution_platforms

None register_execution_platforms(*platform_labels)

이 모듈을 선택할 때 등록할 이미 정의된 실행 플랫폼을 지정합니다. 절대 목표 패턴 (예: @ 또는 //으로 시작)이어야 합니다. 자세한 내용은 도구 모음 해상도를 참고하세요.

매개변수

매개변수 설명
platform_labels sequence of strings, 필수
등록할 플랫폼의 라벨입니다.

register_toolchains

None register_toolchains(*toolchain_labels)

이 모듈을 선택할 때 등록할 이미 정의된 도구 모음을 지정합니다. 절대 목표 패턴 (예: @ 또는 //으로 시작)이어야 합니다. 자세한 내용은 도구 모음 해상도를 참고하세요.

매개변수

매개변수 설명
toolchain_labels sequence of strings, 필수
등록할 도구 모음의 라벨입니다.

단일_버전_재정의

None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)

종속 항목을 레지스트리에서 계속 가져와야 하지만, 버전을 고정하거나, 레지스트리를 재정의하거나, 적용된 패치 목록을 지정해야 합니다. 이 지시어는 루트 모듈에서만 사용할 수 있습니다. 즉, 모듈에서 재정의를 지정한 경우 다른 모듈에서 종속 항목으로 사용할 수 없습니다.

매개변수

매개변수 설명
module_name 필수
이 재정의를 적용할 Bazel 모듈 종속 항목의 이름입니다.
version default = ''
종속 항목 그래프에서 이 모듈의 선언된 버전을 재정의합니다. 즉, 이 모듈은 이 재정의 버전에 '고정'됩니다. 레지스트리 또는 패치만 재정의하려는 경우 이 속성을 생략할 수 있습니다.
registry default = ''
이 모듈의 레지스트리를 재정의합니다. 기본 레지스트리 목록에서 이 모듈을 찾는 대신 지정된 레지스트리를 사용해야 합니다.
patches Iterable of strings; default = []
이 모듈에 적용할 패치 파일을 가리키는 라벨 목록입니다. 패치 파일은 최상위 프로젝트의 소스 트리에 있어야 합니다. 목록 순서로 적용됩니다.
patch_cmds Iterable of strings; default = []
패치가 적용된 후 Linux/Macos에서 적용할 Bash 명령어 시퀀스
patch_strip default = 0
Unix 패치의 --strip 인수와 같습니다.

use_extension

module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False)

모듈 확장 프로그램을 나타내는 프록시 객체를 반환합니다. 해당 메서드를 호출하여 모듈 확장 프로그램 태그를 만들 수 있습니다.

매개변수

매개변수 설명
extension_bzl_file 필수
모듈 확장을 정의하는 Starlark 파일에 대한 라벨입니다.
extension_name 필수
사용할 모듈 확장 프로그램의 이름입니다. Starlark 파일에서 이 이름의 기호를 내보내야 합니다.
dev_dependency default = False
true인 경우 현재 모듈이 루트 모듈이 아니거나 `--ignore_dev_dependency` 가 사용 설정된 경우 모듈 확장 프로그램의 사용이 무시됩니다.

저장소 사용

None use_repo(extension_proxy, *args, **kwargs)

지정된 모듈 확장 프로그램에서 생성한 하나 이상의 저장소를 현재 모듈의 범위로 가져옵니다.

매개변수

매개변수 설명
extension_proxy 필수
use_extension 호출에서 반환된 모듈 확장 프록시 객체.
args 필수
가져올 저장소의 이름입니다.
kwargs 필수
다른 모듈을 사용하여 현재 모듈의 범위로 가져올 특정 저장소를 지정합니다. 키는 현재 범위에서 사용할 이름이어야 하며, 값은 모듈 확장 프로그램에서 내보낸 원래 이름이어야 합니다.