회원
- 전체
- analysis_test_Transition
- 모두
- archive_override
- 평가
- bazel_dep
- 결합
- bool
- 구성_필드
- Depset
- dict
- dir로 변경
- 열거하기
- 실행_그룹
- 실패
- float
- getattr
- git_override
- 해커트
- 해시
- 정수
- 렌
- list
- local_path_override
- max
- 분
- module
- 모듈_확장 프로그램
- multiple_version_override
- 제공업체
- range
- register_execution_platforms()
- register_execution_platforms()
- register_toolchains()입니다.
- register_toolchains()입니다.
- repository_rule(구현, attr, 로컬, environ, 구성, 원격, 문서)
- repository_rule(구현, attr, 로컬, environ, 구성, 원격, 문서)
- repr
- 반전
- 규칙
- 선택
- single_version_override
- 정렬됨
- str
- 태그_클래스
- 튜플
- 유형
- use_extension
- use_repo
- 공개 상태
- 작업공간
- zip
모두
bool all(elements)모든 요소가 참으로 평가되거나 컬렉션이 비어 있으면 true를 반환합니다. bool 함수를 사용하여 요소가 부울로 변환됩니다.
all(["hello", 3, True]) == True all([-1, 0, 1]) == False
매개변수
매개변수 | 설명 |
---|---|
elements
|
필수 항목 문자열 또는 요소 모음입니다. |
분석_테스트_전환
transition analysis_test_transition(settings)
분석 테스트 규칙의 종속 항목에 적용할 구성 전환을 만듭니다. 이 전환은 analysis_test = True
인 규칙의 속성에만 적용할 수 있습니다. 이러한 규칙은 기능에서 제한됩니다 (예: 종속 항목 트리의 크기가 제한됨). 따라서 이 함수를 사용하여 만든 전환은 전환을 사용하여 만든 전환에 비해 잠재적 범위가 제한됩니다.
이 함수는 주로 Analysis Test Framework 핵심 라이브러리를 용이하게 하기 위해 설계되었습니다. 권장사항은 문서 (또는 구현)를 참조하세요.
매개변수
매개변수 | 설명 |
---|---|
settings
|
필수 이 구성 전환으로 설정해야 하는 구성 설정에 대한 정보가 포함된 사전 키는 빌드 설정 라벨이며 값은 새로운 전환 후 값입니다. 다른 모든 설정은 변경되지 않았습니다. 통과하기 위해 분석 테스트를 설정해야 하는 특정 구성 설정을 선언하는 데 사용합니다. |
모두
bool any(elements)하나 이상의 요소가 참으로 평가되면 true를 반환합니다. bool 함수를 사용하여 요소가 부울로 변환됩니다.
any([-1, 0, 1]) == True any([False, 0, ""]) == False
매개변수
매개변수 | 설명 |
---|---|
elements
|
필수 항목 문자열 또는 요소 모음입니다. |
보관_재정의
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 인수와 동일합니다. |
관점
Aspect aspect(implementation, attr_aspects=[], attrs=None, required_providers=[], required_aspect_providers=[], provides=[], requires=[], fragments=[], host_fragments=[], toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, apply_to_generating_rules=False, exec_compatible_with=[], exec_groups=None)새 측면을 만듭니다. 이 함수의 결과는 전역 값으로 저장해야 합니다. 자세한 내용은 평가 항목 소개를 참고하세요.
매개변수
매개변수 | 설명 |
---|---|
implementation
|
필수 이 측면을 구현하는 Starlark 함수로 정확히 2개의 매개변수, 즉 대상 (특성 요소가 적용되는 대상)과 ctx (대상이 생성되는 규칙 컨텍스트)가 있습니다. 타겟의 속성은 ctx.rule 필드를 통해 사용할 수 있습니다. 이 함수는 분석 단계에서 타겟에 각 측면을 적용하는 동안 평가됩니다.
|
attr_aspects
|
sequence of strings ;
default = []속성 이름 목록입니다. 상은 이러한 이름의 타겟 속성에 지정된 종속 항목을 따라 전파됩니다. 일반적인 값에는 deps 및 exports 가 포함됩니다. 이 목록에는 대상의 모든 종속 항목을 전파하는 단일 문자열 "*" 도 포함될 수 있습니다.
|
attrs
|
dict; or None ;
default = None관점의 모든 속성을 선언하는 사전. 속성 이름을 `attr.label` 또는 `attr.string`과 같은 속성 객체로 매핑합니다 (attr 모듈 참고). 가로세로 속성은 ctx 매개변수의 필드로 구현 기능에 사용할 수 있습니다.
명시적 속성은 |
required_providers
|
default = [] 속성이 필수 제공업체를 광고하는 타겟으로만 전파를 제한할 수 있는 속성입니다. 값은 개별 제공자 또는 제공업체 목록을 포함하는 목록이어야 하며 둘 다해서는 안 됩니다. 예를 들어 [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] 는 유효한 값이지만 [FooInfo, BarInfo, [BazInfo, QuxInfo]] 는 유효하지 않습니다.중첩되지 않은 제공업체 목록은 자동으로 하나의 제공업체 목록이 포함된 목록으로 변환됩니다. 즉, 일부 규칙 (예: |
required_aspect_providers
|
default = [] 이 속성을 사용하면 이 속성이 다른 항목을 검사할 수 있습니다. 값은 개별 제공자 또는 제공업체 목록을 포함하는 목록이어야 하며 둘 다해서는 안 됩니다. 예를 들어 [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] 는 유효한 값이지만 [FooInfo, BarInfo, [BazInfo, QuxInfo]] 는 유효하지 않습니다.중첩되지 않은 제공업체 목록은 자동으로 하나의 제공업체 목록이 포함된 목록으로 변환됩니다. 즉, 다른 측면 (예: |
provides
|
default = [] 구현 함수에서 반환해야 하는 제공업체 목록입니다. 구현 함수가 반환 값에서 여기에 나열된 제공업체 유형을 하나라도 생략하면 오류가 발생합니다. 그러나 구현 함수가 여기에 나열되지 않은 추가 제공자를 반환할 수도 있습니다. 목록의 각 요소는 |
requires
|
sequence of Aspects ;
default = []이 시점 이전에 전파해야 하는 측면 목록 |
fragments
|
sequence of strings ;
default = []대상 구성에서 가로세로 특성에 필요한 구성 프래그먼트의 이름 목록. |
host_fragments
|
sequence of strings ,
default = []호스트 구성에 측면을 고려한 구성 프래그먼트의 이름 목록. |
toolchains
|
sequence ;
default = []설정된 경우 이 규칙에 필요한 도구 모음 집합입니다. 목록에는 문자열, 라벨, StarlarkToolchainTypeApi 객체가 포함될 수 있습니다. 도구 모음은 현재 플랫폼을 확인하여 찾을 수 있으며 ctx.toolchain 를 통해 규칙 구현에 제공됩니다.
|
incompatible_use_toolchain_transition
|
default = False 지원 중단되어 더 이상 사용하지 않으므로 삭제해야 합니다. |
doc
|
default = '' 도구 생성 도구에서 추출할 수 있는 측면에 대한 설명입니다. |
apply_to_generating_rules
|
default = False true인 경우 가로세로 비율이 출력 파일에 적용되면 출력 파일의 생성 규칙에 적용됩니다. 예를 들어 한 측면이 `deps` 속성을 통해 전이적으로 전파되어 `alpha`에 대상 `alpha`에 적용된다고 가정합니다. `alpha`에 `deps = [':beta_output']`을 적용합니다. 여기서 `beta_output`은 대상 `beta`의 선언된 출력입니다. `beta`에 ````가 있는 경우 ````가 `true_`인 경우, True가 'true'는 'true'가 되도록 합니다. 기본적으로 False입니다. |
exec_compatible_with
|
sequence of strings ;
default = []이 측면의 모든 인스턴스에 적용되는 실행 플랫폼의 제약조건 목록입니다. |
exec_groups
|
dict; or None ;
default = None실행 그룹 이름 (문자열)을 exec_group s로 이동합니다. 설정되면 단일 인스턴스의 여러 실행 플랫폼에서 여러 측면의 작업을 실행할 수 있습니다. 자세한 내용은 실행 그룹 문서를 참고하세요.
|
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` 를 사용 설정한 경우 이 종속 항목은 무시됩니다. |
bind
None bind(name, actual=None)
경고: bind()
는 사용하지 않는 것이 좋습니다. 문제 및 대안에 관한 자세한 내용은 바인딩 삭제 고려를 참고하세요.
//external
패키지의 대상에 별칭을 제공합니다.
매개변수
매개변수 | 설명 |
---|---|
name
|
필수 별칭 이름으로 사용할 '//external' 아래의 라벨 |
actual
|
string; or None ;
default = None별칭을 지정할 실제 라벨 |
bool
bool bool(x=False)부울 유형의 생성자입니다. 객체가
None
, False
, 빈 문자열(""
), 숫자 0
, 빈 컬렉션 (예: ()
, []
)인 경우 False
를 반환하고 그렇지 않으면 True
를 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
x
|
default = False 변환할 변수입니다. |
구성_필드
LateBoundDefault configuration_field(fragment, name)label 유형의 속성에 기한이 지정된 기본값을 참조합니다. 값을 결정하기 전에 구성을 빌드해야 하는 경우 값은 '지연된' 상태입니다. 이를 값으로 사용하는 모든 속성은 비공개여야 합니다.
사용 예:
규칙 속성 정의:
'_foo': attr.label(default=configuration_field(fragment='java', name='toolchain'))
규칙 구현에서 액세스:
def _rule_impl(ctx): foo_info = ctx.attr._foo ...
매개변수
매개변수 | 설명 |
---|---|
fragment
|
필수 기한이 지정된 값이 포함된 구성 프래그먼트의 이름입니다. |
name
|
필수 구성 프래그먼트에서 가져올 값의 이름입니다. |
Depset
depset depset(direct=None, order="default", *, transitive=None)Depset을 만듭니다.
direct
매개변수는 depset의 직접 요소 목록이며 transitive
매개변수는 생성된 depset의 간접 요소가 되는 depset의 목록입니다. 오프셋이 목록으로 변환될 때 요소가 반환되는 순서는 order
매개변수에 의해 지정됩니다. 자세한 내용은 기차 개요를 참고하세요.
종속 요소의 모든 요소 (직접 및 간접)는 type(x)
표현식에서 가져온 것과 동일한 유형이어야 합니다.
반복 기반 중복을 제거하는 데 해시 기반 집합이 사용되므로, depset의 모든 요소는 해시 가능해야 합니다. 그러나 이 변이는 현재 모든 생성자에서 일관되게 확인되지 않습니다. --incompatible_always_check_depset_elements 플래그를 사용하여 일관된 검사를 사용 설정합니다. 향후 출시에서 이 동작이 기본 동작입니다. 문제 10313을 참조하세요.
또한 요소는 현재 변경할 수 없어야 하지만, 이 제한은 향후 완화될 예정입니다.
생성된 depset의 순서는 그 transitive
depset의 순서와 호환되어야 합니다. "default"
주문은 다른 주문과 호환되며, 다른 모든 주문은 본인과만 호환됩니다.
이전/다음 호환성에 유의하세요. 이 함수는 현재 위치 items
매개변수를 허용합니다. 이 요소는 지원 중단되었으며 향후 삭제될 예정입니다. 삭제 후 direct
는 depset
함수의 단독 위치 매개변수가 됩니다. 따라서 다음 호출 모두 동등하며 미래에 대비합니다.
depset(['a', 'b'], transitive = [...]) depset(direct = ['a', 'b'], transitive = [...])
매개변수
매개변수 | 설명 |
---|---|
direct
|
sequence; or None ;
기본값 = None디셋의 직접 요소 목록입니다. |
order
|
default = "default" 새 편차의 순회 전략입니다. 가능한 값은 여기를 참고하세요. |
transitive
|
sequence of depsets; or None ;
default = None요소가 오프셋의 간접 요소가 될 depset의 목록입니다. |
dict
dict dict(pairs=[], **kwargs)선택적 위치 인수 및 키워드 인수 조합(선택사항)을 사용하여 사전을 만듭니다. 동일한 키가 여러 번 제공되는 경우 마지막 값이 사용됩니다. 키워드 인수를 통해 제공된 항목은 위치 인수를 통해 제공된 항목 이후에 오는 것으로 간주됩니다.
매개변수
매개변수 | 설명 |
---|---|
pairs
|
default = [] 요소가 각각 길이 2 (키, 값)인 dict 또는 iterable. |
kwargs
|
필수 항목 추가 항목의 사전입니다. |
dir
list dir(x)문자열 목록(매개변수 객체의 속성 이름 및 메서드)을 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
x
|
필수 확인할 객체입니다. |
열거
list enumerate(list, start=0)색인 (int) 및 입력 시퀀스의 항목을 포함하는 쌍 (요소가 두 개인 튜플)을 반환합니다.
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]
매개변수
매개변수 | 설명 |
---|---|
list
|
필요한 입력 시퀀스. |
start
|
default = 0 start index입니다. |
exec_group
exec_group exec_group(toolchains=[], exec_compatible_with=[], copy_from_rule=False)규칙 구현 중에 특정 실행 플랫폼에 대한 작업을 만드는 데 사용할 수 있는 실행 그룹을 만듭니다.
매개변수
매개변수 | 설명 |
---|---|
toolchains
|
sequence ;
default = []이 실행 그룹에 필요한 도구 모음 모음입니다. 목록에는 문자열, 라벨, StarlarkToolchainTypeApi 객체가 포함될 수 있습니다. |
exec_compatible_with
|
sequence of strings ;
default = []실행 플랫폼의 제약조건 목록입니다. |
copy_from_rule
|
default = False true로 설정하면 이 실행 그룹은 그룹이 연결된 규칙의 도구 모음과 제약조건을 상속합니다. 다른 문자열로 설정하면 오류가 발생합니다. |
fail
None fail(msg=None, attr=None, *args)오류로 인해 실행이 실패합니다.
매개변수
매개변수 | 설명 |
---|---|
msg
|
default = None 지원 중단됨: 위치 인수를 대신 사용하세요. 이 인수는 선행하는 암시적 위치 인수의 역할을 합니다. |
attr
|
string; or None ;
default = None지원 중단됨 이 문자열이 포함된 선택적 프리픽스가 오류 메시지에 추가됩니다. |
args
|
필수 오류 메시지에 표시된 값 목록(공백과 str에 형식 지정됨) |
float
float float(x=unbound)x를 float 값으로 반환합니다.
x
가 이미 부동 소수점 수인 경우float
는 변경되지 않은 값을 반환합니다.x
가 부울이면float
은 참에 1.0을 반환하고 거짓에 0.0을 반환합니다.x
가 int인 경우float
는 x에 가장 가까운 유한한 부동 소수점 값을 반환하거나 크기가 너무 크면 오류를 반환합니다.x
가 문자열인 경우 유효한 부동 소수점 리터럴이거나NaN
,Inf
,Infinity
과 같고+
또는-
기호 앞에 와야 합니다 (대소문자 무시).
float()
는 0.0을 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
x
|
기본값 = unbounded 변환할 값입니다. |
Getattr
unknown getattr(x, name, default=unbound)지정된 이름의 구조체 필드를 반환합니다(있는 경우). 지정하지 않으면
default
(지정된 경우)를 반환하거나 오류가 발생합니다. getattr(x, "foobar")
는 x.foobar
와 같습니다.getattr(ctx.attr, "myattr") getattr(ctx.attr, "myattr", "mydefault")
매개변수
매개변수 | 설명 |
---|---|
x
|
필수 속성에 액세스하는 구조체. |
name
|
필수 구조체 속성의 이름. |
default
|
default = unbounded 구조체에 지정된 이름의 속성이 없는 경우 반환되는 기본값입니다. |
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 인수와 동일합니다. |
Hasattr
bool hasattr(x, name)객체
x
에 지정된 name
의 속성 또는 메서드가 있으면 True를 반환하고 그렇지 않으면 False를 반환합니다. 예:hasattr(ctx.attr, "myattr")
매개변수
매개변수 | 설명 |
---|---|
x
|
필수 확인할 객체입니다. |
name
|
필수 항목입니다. 속성의 이름입니다. |
해시
int hash(value)문자열의 해시 값을 반환합니다. 이는 자바의
String.hashCode()
와 동일한 알고리즘을 사용하여 확정적으로 계산됩니다. 즉, s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]문자열을 제외한 값의 해싱은 현재 지원되지 않습니다.
매개변수
매개변수 | 설명 |
---|---|
value
|
필수 해시할 문자열 값입니다. |
int
int int(x, base=unbound)x를 int 값으로 반환합니다.
x
가 이미 int인 경우int
는 int를 반환합니다.x
가 부울이면int
은 True를 1, False를 반환합니다.x
가 문자열이면<sign><prefix><digits>
형식이어야 합니다.<sign>
는"+"
,"-"
이거나 비어 있습니다 (양성으로 해석됨).<digits>
는 0에서base
- 1 사이의 숫자 시퀀스이며 문자 a~z (또는 이에 상응하는 숫자)가 10~35 사이의 숫자로 사용됩니다.base
이 2/8/16인 경우<prefix>
는 선택사항이며 각각 0b/0o/0x (또는 이에 상응하는 0B/0O/0X)일 수 있습니다.base
이 밑 또는 특수 값 0이 아닌 다른 값이면 접두어는 비어 있어야 합니다.base
가 0인 경우 문자열은 사용되는 프리픽스에 따라 염기 2/8/10/16 중 하나를 선택한다는 점에서 정수 리터럴로 해석됩니다.base
가 0이고 접두사가 사용되지 않고 두 자릿수가 넘는 경우 선행 숫자는 0이 될 수 없습니다. 이는 8진수와 십진수의 혼동을 방지하기 위함입니다. 문자열로 표시되는 숫자의 크기는 int 유형의 허용 범위 내에 있어야 합니다.x
가 부동 소수점 수인 경우int
는 부동 소수점 수의 정수 값을 반환하고 0으로 반올림합니다. x가 유한하지 않은 경우 (NaN 또는 무한대) 오류입니다.
x
이 다른 유형이거나 값이 위의 형식을 충족하지 않는 문자열이면 이 함수는 실패합니다. Python의 int
함수와 달리 이 함수는 0 인수를 허용하지 않으며 문자열 인수에 관련 없는 공백을 허용하지 않습니다.예:
int("123") == 123 int("-123") == -123 int("+123") == 123 int("FF", 16) == 255 int("0xFF", 16) == 255 int("10", 0) == 10 int("-0x10", 0) == -16 int("-0x10", 0) == -16 int("123.456") == 123
매개변수
매개변수 | 설명 |
---|---|
x
|
필수 변환할 문자열입니다. |
base
|
default = unbound 문자열 값을 해석하는 데 사용되는 밑이며 기본값은 10입니다. 2에서 36 (포함) 사이여야 합니다. x 이 정수 리터럴인 것처럼 염기를 감지하려면 0이어야 합니다. 값이 문자열이 아니면 이 매개변수를 제공해서는 안 됩니다.
|
len
int len(x)문자열, 시퀀스 (예: 목록 또는 튜플), dict 또는 기타 iterable의 길이를 반환합니다.
매개변수
매개변수 | 설명 |
---|---|
x
|
필수 보고할 길이를 가진 값입니다. |
list
list list(x=[])지정된 반복 가능 값과 동일한 요소가 있는 새 목록을 반환합니다.
list([1, 2]) == [1, 2] list((2, 3, 2)) == [2, 3, 2] list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]
매개변수
매개변수 | 설명 |
---|---|
x
|
default = [] 변환할 객체입니다. |
local_path_override
None local_path_override(module_name, path)종속 항목이 로컬 디스크의 특정 디렉터리에서 가져와야 함을 지정합니다. 이 지시어는 루트 모듈에서만 사용할 수 있습니다. 즉, 모듈에서 재정의를 지정하는 경우 다른 모듈에서 종속 항목으로 사용할 수 없습니다.
매개변수
매개변수 | 설명 |
---|---|
module_name
|
필수 이 재정의를 적용할 Bazel 모듈 종속 항목의 이름입니다. |
path
|
필수 이 모듈이 있는 디렉터리의 경로입니다. |
max
unknown max(*args)모든 인수 중에서 가장 큰 인수를 반환합니다. 인수가 하나만 제공되는 경우 비어 있지 않은 반복 가능이어야 합니다.요소를 비교할 수 없거나 (예: 문자열이 있는 int) 인수가 제공되지 않으면 오류가 발생합니다.
max(2, 5, 4) == 5 max([5, 6, 3]) == 6
매개변수
매개변수 | 설명 |
---|---|
args
|
필수 항목입니다. 확인할 요소입니다. |
min
unknown min(*args)모든 인수 중에서 가장 작은 인수를 반환합니다. 인수가 하나만 제공되는 경우 비어 있지 않은 반복 가능이어야 합니다. 요소를 비교할 수 없는 경우 (예: 문자열이 있는 int) 또는 인수가 제공되지 않으면 오류가 발생합니다.
min(2, 5, 4) == 2 min([5, 6, 3]) == 3
매개변수
매개변수 | 설명 |
---|---|
args
|
필수 항목입니다. 확인할 요소입니다. |
모듈
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에 중단을 야기하는 버그가 있을 때 사용되며 이후 버전에서는 수정됩니다. |
모듈_확장 프로그램
unknown module_extension(implementation, *, tag_classes={}, doc='')새 모듈 확장 프로그램을 만듭니다. MODULE.bazel 파일에서 내보내고 사용할 수 있도록 전역 값으로 저장합니다.
매개변수
매개변수 | 설명 |
---|---|
implementation
|
필수 이 모듈 확장 프로그램을 구현하는 함수입니다. 단일 매개변수 module_ctx 를 사용해야 합니다. 이 함수는 사용 가능한 저장소 집합을 결정하기 위해 빌드 시작 시 한 번 호출됩니다.
|
tag_classes
|
default = {} 확장 프로그램에서 사용하는 모든 태그 클래스를 선언하는 사전입니다. 태그 클래스의 이름을 tag_class 객체에 매핑합니다.
|
doc
|
default = '' 도구 생성 도구에서 추출할 수 있는 모듈 확장 프로그램에 관한 설명입니다. |
여러_버전_재정의
None multiple_version_override(module_name, versions, registry='')종속 항목이 레지스트리에서 계속 가져와야 하지만 여러 버전이 공존할 수 있도록 지정합니다. 자세한 내용은 문서를 참고하세요. 이 지시어는 루트 모듈에서만 사용할 수 있습니다. 즉, 모듈에서 재정의를 지정하는 경우 다른 모듈에서 종속 항목으로 사용할 수 없습니다.
매개변수
매개변수 | 설명 |
---|---|
module_name
|
필수 이 재정의를 적용할 Bazel 모듈 종속 항목의 이름입니다. |
versions
|
Iterable of strings ,
필수공존할 수 있는 버전을 명시적으로 지정합니다. 이러한 버전은 종속 항목 그래프의 사전 선택에 이미 있어야 합니다. 이 모듈의 종속 항목은 동일한 호환성 수준에서 허용되는 가장 가까운 가장 높은 버전으로 '업그레이드'되지만, 동일한 호환성 수준에서 허용된 버전보다 높은 버전의 종속 항목은 오류를 발생시킵니다. |
registry
|
default = '' 이 모듈의 레지스트리를 재정의합니다. 기본 레지스트리 목록에서 이 모듈을 찾는 대신 지정된 레지스트리를 사용해야 합니다. |
출력하다
None print(sep=" ", *args)
args
를 디버그 출력으로 출력합니다. 이 문자열은 "DEBUG"
문자열과 이 호출의 위치 (파일 및 줄 번호)로 시작됩니다. 인수가 문자열로 변환되는 정확한 방법은 지정되지 않으며 언제든지 변경될 수 있습니다. 특히 str()
및 repr()
의 형식과 다르며 더 자세할 수 있습니다.프로덕션 코드에서 print
를 사용하는 것은 사용자용으로 만든 스팸이므로 권장되지 않습니다. 지원 중단의 경우 가능하면 fail()
를 사용하는 하드 오류를 사용하는 것이 좋습니다.
매개변수
매개변수 | 설명 |
---|---|
sep
|
default = " " 객체 사이의 구분자 문자열이며 기본값은 공백(" ")입니다. |
args
|
필수 인쇄할 객체입니다. |
제공업체
unknown provider(doc='', *, fields=None, init=None)제공자 기호를 정의합니다. 제공자는 이를 호출하여 인스턴스화하거나 타겟에서 해당 제공자의 인스턴스를 검색하는 키로 직접 사용될 수 있습니다. 예:
MyInfo = provider() ... def _my_library_impl(ctx): ... my_info = MyInfo(x = 2, y = 3) # my_info.x == 2 # my_info.y == 3 ...
제공업체 사용 방법에 대한 전체 가이드는 규칙 (제공업체)을 참고하세요.
init
가 지정되지 않은 경우 Provider
호출 가능 값을 반환합니다.
init
가 지정되면 두 요소의 튜플(Provider
호출 가능 값 및 원시 생성자 호출 가능 값)을 반환합니다. 자세한 내용은 규칙 (맞춤 제공자의 맞춤 초기화) 및 아래 init
매개변수에 대한 설명을 참고하세요.
매개변수
매개변수 | 설명 |
---|---|
doc
|
default = '' 도구를 생성하는 문서에서 추출할 수 있는 제공업체의 설명입니다. |
fields
|
sequence of strings; or dict; or None ;
default = None지정된 경우 허용되는 필드 세트를 제한합니다. 가능한 값은 다음과 같습니다.
|
init
|
callable; or None ;
default = None인스턴스화 중에 제공자의 필드 값을 사전 처리하고 검증하기 위한 선택적 콜백입니다. init 가 지정되면 provider() 은 일반 제공자 기호와 원시 생성자, 두 가지 요소의 튜플을 반환합니다.자세한 설명은 다음과 같습니다. 직관적인 토론 및 사용 사례는 규칙 (제공업체의 맞춤 초기화)을 참조하세요.
init 콜백이 제공되지 않는 경우 P 기호 자체를 호출하는 것은 기본 생성자 함수 c 에 대한 호출 역할을 합니다. 즉, P(*args, **kwargs) 는 c(*args, **kwargs) 를 반환합니다. 예를 들어MyInfo = provider() m = MyInfo(foo = 1)는 m 가 m.foo == 1 가 있는 MyInfo 인스턴스가 되도록 간단하게 만듭니다.그러나
NB: 위 단계는 이러한 방식으로
MyInfo, _new_myinfo = provider(init = ...) |
범위
sequence range(start_or_stop, stop_or_none=None, step=1)
step
증가를 사용하여 항목이 start
에서 stop
로 이동하는 목록을 만듭니다. 단일 인수가 제공되면 항목의 범위는 0에서 해당 요소까지입니다.range(4) == [0, 1, 2, 3] range(3, 9, 2) == [3, 5, 7] range(3, 0, -1) == [3, 2, 1]
매개변수
매개변수 | 설명 |
---|---|
start_or_stop
|
필수 정류장이 제공되면 시작 요소의 값입니다. 정류장이 제공되면 정류장 값이고 시작 값은 0입니다. |
stop_or_none
|
int; or None ;
default = None결과 목록에 포함되지 않은 첫 번째 항목의 색인(선택사항). stop 에 도달하기 전에 목록 생성이 중지됩니다.
|
step
|
기본값 = 1 증분 (기본값은 1)입니다. 음수가 될 수 있습니다. |
register_execution_platforms()
None register_execution_platforms(*platform_labels)Bazel이 도구 모음 확인 중에 이를 실행 플랫폼으로 사용할 수 있도록 이미 정의된 플랫폼을 등록하세요.
매개변수
매개변수 | 설명 |
---|---|
platform_labels
|
sequence of strings ,
필수등록할 플랫폼의 라벨입니다. |
register_execution_platforms()
None register_execution_platforms(*platform_labels)이 모듈을 선택할 때 등록할 이미 정의된 실행 플랫폼을 지정합니다. 절대적 타겟 패턴 (예:
@
또는 //
으로 시작해야 함)이어야 합니다. 자세한 내용은 도구 모음 해상도를 참고하세요.
매개변수
매개변수 | 설명 |
---|---|
platform_labels
|
sequence of strings ,
필수등록할 플랫폼의 라벨입니다. |
register_toolchains()
None register_toolchains(*toolchain_labels)Bazel이 도구 모음 확인 중에 사용할 수 있도록 이미 정의된 도구 모음을 등록합니다. 도구 모음 정의 및 등록의 예를 참조하세요.
매개변수
매개변수 | 설명 |
---|---|
toolchain_labels
|
sequence of strings ,
필수등록할 도구 모음의 라벨입니다. |
register_toolchains()
None register_toolchains(*toolchain_labels)이 모듈을 선택할 때 등록할 이미 정의된 도구 모음을 지정합니다. 절대적 타겟 패턴 (예:
@
또는 //
으로 시작해야 함)이어야 합니다. 자세한 내용은 도구 모음 해상도를 참고하세요.
매개변수
매개변수 | 설명 |
---|---|
toolchain_labels
|
sequence of strings ,
필수등록할 도구 모음의 라벨입니다. |
repository_rule(구현, attr, 로컬, environ, 구성, 원격, 문서)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')새 저장소 규칙을 만듭니다. WORKSPACE 파일에서 로드하고 호출할 수 있도록 전역 값에 저장합니다.
매개변수
매개변수 | 설명 |
---|---|
implementation
|
필수 이 규칙을 구현하는 함수 단일 매개변수( repository_ctx )가 있어야 합니다. 이 함수는 로드 단계에서 규칙의 각 인스턴스에 대해 호출됩니다.
|
attrs
|
dict; or None ;
default = None사전으로 규칙의 모든 속성을 선언합니다. 속성 이름을 속성 객체에 매핑합니다 (attr 모듈 참고). _ 으로 시작하는 속성은 비공개이며, 라벨에 암시적인 종속 항목을 파일에 추가하는 데 사용할 수 있습니다 (저장소 규칙은 생성된 아티팩트에 종속될 수 없음). name 속성은 암시적으로 추가되므로 지정하면 안 됩니다.
|
local
|
default = False 이 규칙이 로컬 시스템에서 모든 항목을 가져오며 가져올 때마다 다시 평가해야 함을 나타냅니다. |
environ
|
sequence of strings ;
default = []이 저장소 규칙이 종속되는 환경 변수 목록을 제공합니다. 이 목록의 환경 변수가 변경되면 저장소를 다시 가져옵니다. |
configure
|
default = False 저장소에서 구성 목적으로 시스템을 검사함을 나타냅니다. |
remotable
|
default = False 실험용 이 매개변수는 실험용이며 언제든지 변경될 수 있습니다. 여기에 의존하지 마세요. ---experimental_repo_remote_exec 원격 실행과 호환되도록 설정하여 실험적으로 사용 설정할 수 있습니다. |
doc
|
default = '' 문서를 생성하는 문서에서 추출할 수 있는 저장소 규칙에 대한 설명입니다. |
repository_rule(구현, attr, 로컬, environ, 구성, 원격, 문서)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')새 저장소 규칙을 만듭니다. WORKSPACE 파일에서 로드하고 호출할 수 있도록 전역 값에 저장합니다.
매개변수
매개변수 | 설명 |
---|---|
implementation
|
필수 이 규칙을 구현하는 함수 단일 매개변수( repository_ctx )가 있어야 합니다. 이 함수는 로드 단계에서 규칙의 각 인스턴스에 대해 호출됩니다.
|
attrs
|
dict; or None ;
default = None사전으로 규칙의 모든 속성을 선언합니다. 속성 이름을 속성 객체에 매핑합니다 (attr 모듈 참고). _ 으로 시작하는 속성은 비공개이며, 라벨에 암시적인 종속 항목을 파일에 추가하는 데 사용할 수 있습니다 (저장소 규칙은 생성된 아티팩트에 종속될 수 없음). name 속성은 암시적으로 추가되므로 지정하면 안 됩니다.
|
local
|
default = False 이 규칙이 로컬 시스템에서 모든 항목을 가져오며 가져올 때마다 다시 평가해야 함을 나타냅니다. |
environ
|
sequence of strings ;
default = []이 저장소 규칙이 종속되는 환경 변수 목록을 제공합니다. 이 목록의 환경 변수가 변경되면 저장소를 다시 가져옵니다. |
configure
|
default = False 저장소에서 구성 목적으로 시스템을 검사함을 나타냅니다. |
remotable
|
default = False 실험용 이 매개변수는 실험용이며 언제든지 변경될 수 있습니다. 여기에 의존하지 마세요. ---experimental_repo_remote_exec 원격 실행과 호환되도록 설정하여 실험적으로 사용 설정할 수 있습니다. |
doc
|
default = '' 문서를 생성하는 문서에서 추출할 수 있는 저장소 규칙에 대한 설명입니다. |
Repr
string repr(x)객체를 문자열 표현으로 변환합니다. 디버깅에 유용합니다.
repr("ab") == '"ab"'
매개변수
매개변수 | 설명 |
---|---|
x
|
필수 변환할 객체입니다. |
reversed
list reversed(sequence)반복 가능한 원래 시퀀스의 요소가 포함된 고정되지 않은 새 목록을 반환합니다.
reversed([3, 5, 4]) == [4, 5, 3]
매개변수
매개변수 | 설명 |
---|---|
sequence
|
필수 되돌릴 수 있는 시퀀스 (예: 목록)입니다. |
규칙
callable rule(implementation, test=False, attrs=None, outputs=None, executable=False, output_to_genfiles=False, fragments=[], host_fragments=[], _skylark_testable=False, toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, provides=[], exec_compatible_with=[], analysis_test=False, build_setting=None, cfg=None, exec_groups=None, compile_one_filetype=None, name=None)타겟을 생성하려면 BUILD 파일 또는 매크로에서 호출할 수 있는 새 규칙을 만듭니다.
.bzl 파일의 전역 변수에 규칙을 할당해야 합니다. 전역 변수의 이름은 규칙의 이름입니다.
테스트 규칙에는 이름이 _test
로 끝나야 하며, 다른 모든 규칙에는 이 접미사가 없어야 합니다. (이 제한은 규칙이 아닌 규칙에만 적용됩니다.)
매개변수
매개변수 | 설명 |
---|---|
implementation
|
필수 이 규칙을 구현하는 Starlark 함수에는 정확히 하나의 매개변수(ctx)가 있어야 합니다. 이 함수는 분석 단계에서 규칙의 각 인스턴스에 대해 호출됩니다. 사용자가 제공한 속성에 액세스할 수 있습니다. 선언된 모든 출력을 생성하려면 작업을 만들어야 합니다. |
test
|
default = False 이 규칙이 테스트 규칙인지 여부, 즉 blaze test 명령어의 대상이 될 수 있는지 여부 모든 테스트 규칙은 자동으로 실행 가능한 것으로 간주됩니다. 테스트 규칙에 executable = True 를 명시적으로 설정하지 않아도 됩니다 (권장되지 않음). 자세한 내용은 규칙 페이지를 참고하세요.
|
attrs
|
dict; or None ;
default = None사전으로 규칙의 모든 속성을 선언합니다. 속성 이름을 속성 객체에 매핑합니다 (attr 모듈 참고). _ 로 시작하는 속성은 비공개이며 라벨에 암시적 종속 항목을 추가하는 데 사용할 수 있습니다. name 속성은 암시적으로 추가되므로 지정하면 안 됩니다. visibility , deprecation , tags , testonly , features 속성은 암시적으로 추가되며 재정의할 수 없습니다. 대부분의 규칙에는 몇 가지 속성만 필요합니다. 메모리 사용량을 제한하기 위해 규칙 함수에서 속성 크기를 제한합니다.
|
outputs
|
dict; or None; or function ;
기본값 = None지원 중단됨 이 매개변수는 지원 중단되었으며 곧 삭제됩니다. 여기에 의존하지 마세요. ---incompatible_no_rule_outputs_param 로 사용 중지됩니다. 코드가 즉시 삭제될 수 있도록 이 플래그를 사용하여 확인합니다. 이 매개변수는 지원 중단되었습니다. 대신 OutputGroupInfo 또는 attr.output 를 사용하도록 규칙을 이전하세요. 사전 선언된 출력을 정의하기 위한 스키마입니다. 이 인수의 값은 사전 또는 사전을 생성하는 콜백 함수입니다. 콜백은 계산된 종속 항목 속성과 유사하게 작동합니다. 함수의 매개변수 이름이 규칙의 속성과 일치하므로 예를 들어 사전의 각 항목은 키가 식별자이고 값이 출력의 라벨을 결정하는 문자열 템플릿인 사전 선언된 출력을 생성합니다. 규칙의 구현 함수에서 식별자는
실제로 가장 일반적인 대체 자리표시자는 |
executable
|
default = False 이 규칙의 실행 가능 여부, 즉 blaze run 명령어의 대상이 될 수 있는지 여부입니다. 자세한 내용은 규칙 페이지를 참고하세요.
|
output_to_genfiles
|
default = False true이면 파일이 bin 디렉터리가 아닌 genfiles 디렉터리에 생성됩니다. 기존 규칙과의 호환성을 위해 필요한 경우가 아니라면 (예: C++용 헤더 파일을 생성할 때) 이 플래그를 설정하지 마세요. |
fragments
|
sequence of strings ;
default = []대상 구성에서 규칙에 필요한 구성 프래그먼트의 이름 목록입니다. |
host_fragments
|
sequence of strings ;
default = []호스트 구성에서 규칙에 필요한 구성 프래그먼트의 이름입니다. |
_skylark_testable
|
default = False (실험용) true인 경우 이 규칙은 Actions 제공자를 통해 규칙을 사용하는 규칙의 검사를 표시합니다. ctx.created_actions()를 호출하여 제공업체를 규칙 자체에 사용할 수도 있습니다. 이는 Starlark 규칙의 분석 시간 동작을 테스트하는 경우에만 사용해야 합니다. 이 플래그는 향후 삭제될 수 있습니다. |
toolchains
|
sequence ;
default = []설정된 경우 이 규칙에 필요한 도구 모음 집합입니다. 목록에는 문자열, 라벨, StarlarkToolchainTypeApi 객체가 포함될 수 있습니다. 도구 모음은 현재 플랫폼을 확인하여 찾을 수 있으며 ctx.toolchain 를 통해 규칙 구현에 제공됩니다.
|
incompatible_use_toolchain_transition
|
default = False 지원 중단되어 더 이상 사용하지 않으므로 삭제해야 합니다. |
doc
|
default = '' 규칙을 생성하는 문서에서 추출할 수 있는 규칙에 대한 설명입니다. |
provides
|
default = [] 구현 함수에서 반환해야 하는 제공업체 목록입니다. 구현 함수가 반환 값에서 여기에 나열된 제공업체 유형을 하나라도 생략하면 오류가 발생합니다. 그러나 구현 함수가 여기에 나열되지 않은 추가 제공자를 반환할 수도 있습니다. 목록의 각 요소는 |
exec_compatible_with
|
sequence of strings ;
default = []이 규칙 유형의 모든 대상에 적용되는 실행 플랫폼의 제약조건 목록입니다. |
analysis_test
|
default = False true인 경우 이 규칙이 분석 테스트로 처리됩니다. 참고: 분석 테스트 규칙은 주로 핵심 Starlark 라이브러리에서 제공되는 인프라를 사용하여 정의됩니다. 자세한 내용은 테스트를 참고하세요. 규칙이 분석 테스트 규칙으로 정의되면 속성의 analysis_test_Transition을 사용하여 정의된 구성 전환을 사용할 수 있지만 일부 제한사항이 적용됩니다.
|
build_setting
|
BuildSetting; or None ;
기본값 = None설정된 경우 이 규칙의 build setting 종류를 설명합니다. config 모듈을 참고하세요. 이 속성을 설정하면 'build_setting_default'라는 필수 속성이 이 규칙에 자동으로 추가되며 여기서 전달된 값에 해당하는 유형을 지정합니다.
|
cfg
|
기본값 = 없음 설정된 경우 분석 전에 규칙이 자체 구성에 적용되는 구성 전환을 가리킵니다. |
exec_groups
|
dict; or None ;
default = None실행 그룹 이름 (문자열)을 exec_group s로 이동합니다. 설정되면 규칙이 단일 타겟 내의 여러 실행 플랫폼에서 작업을 실행할 수 있습니다. 자세한 내용은 실행 그룹 문서를 참고하세요.
|
compile_one_filetype
|
sequence of strings; or None ;
default = None--compile_one_dependency에 사용됩니다. 여러 규칙이 지정된 파일을 사용하는 경우 이 규칙 대신 다른 규칙을 선택해야 합니다. |
name
|
string; or None ;
기본값 = None지원 중단됨 이 매개변수는 지원 중단되었으며 곧 삭제됩니다. 여기에 의존하지 마세요. --+incompatible_remove_rule_name_parameter 로 사용 중지됩니다. 코드가 즉시 삭제될 수 있도록 이 플래그를 사용하여 확인합니다. 지원 중단됨: 사용하지 마세요. Bazel에서 이해하고 로깅, 이 매개변수를 생략하면 선언의 .bzl 모듈 내에서 이 규칙에 바인딩되는 첫 번째 Starlark 전역 변수의 이름으로 규칙의 이름이 설정됩니다. 따라서 이름이 규칙의 명시적 이름을 지정해도 규칙을 인스턴스화할 수 있는 위치는 변경되지 않습니다. |
select
unknown select(x, no_match_error='')
select()
는 규칙 속성을 구성할 수 있는 도우미 함수입니다. 자세한 내용은 빌드 백과사전을 참고하세요.
매개변수
매개변수 | 설명 |
---|---|
x
|
필수 구성 조건을 값에 매핑하는 dict 각 키는 config_setting 또는 constraints_value 인스턴스를 식별하는 라벨 라벨인 라벨입니다. 문자열 대신 라벨을 사용하는 경우는 매크로 관련 도움말을 참고하세요. |
no_match_error
|
default = '' 조건이 일치하지 않으면 보고할 맞춤 오류(선택사항)입니다. |
single_version_override
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 인수와 동일합니다. |
정렬됨
list sorted(iterable, *, key=None, reverse=False)제공된 반복 가능한 시퀀스의 모든 요소가 포함된 새 정렬 목록을 반환합니다. 요소 x, y 중 한 요소가 x < y를 사용하여 비교되지 않으면 오류가 발생할 수 있습니다. 역방향 인수가 True인 경우 순서가 내림차순이 아니면 요소가 오름차순으로 정렬됩니다. 정렬이 안정적입니다. 동등한 비교 요소는 원래 상대적 순서를 유지합니다.
sorted([3, 5, 4]) == [3, 4, 5]
매개변수
매개변수 | 설명 |
---|---|
iterable
|
필수 정렬할 반복 가능 시퀀스입니다. |
key
|
default = None 비교 전에 각 요소에 적용되는 함수입니다(선택사항). |
reverse
|
default = False 결과를 내림차순으로 반환합니다. |
문자열
string str(x)객체를 문자열로 변환합니다. 디버깅에 유용합니다.
str("ab") == "ab" str(8) == "8"
매개변수
매개변수 | 설명 |
---|---|
x
|
필수 변환할 객체입니다. |
태그_클래스
tag_class tag_class(attrs={}, *, doc='')모듈 클래스의 속성 스키마를 정의하는 새 tag_class 객체를 만듭니다. 이 클래스는 모듈 확장 프로그램에서 사용할 수 있는 데이터 객체입니다.
매개변수
매개변수 | 설명 |
---|---|
attrs
|
default = {} 이 태그 클래스의 모든 속성을 선언하는 사전입니다. 속성 이름을 속성 객체에 매핑합니다 (attr 모듈 참고). |
doc
|
default = '' 도구를 생성하는 문서에서 추출할 수 있는 태그 클래스의 설명입니다. |
tuple
tuple tuple(x=())지정된 반복 가능 값과 동일한 요소가 있는 튜플을 반환합니다.
tuple([1, 2]) == (1, 2) tuple((2, 3, 2)) == (2, 3, 2) tuple({5: "a", 2: "b", 4: "c"}) == (5, 2, 4)
매개변수
매개변수 | 설명 |
---|---|
x
|
default = () 변환할 객체입니다. |
유형
string type(x)인수의 유형 이름을 반환합니다. 이는 디버깅 및 유형 확인에 유용합니다. 예:
type(2) == "int" type([1]) == "list" type(struct(a = 2)) == "struct"이 함수는 향후 변경될 수 있습니다. Python 호환 코드를 작성하고 미래에도 사용할 수 있도록 하려면 반환 값을 비교하는 용도로만 사용하세요.
if type(x) == type([]): # if x is a list
매개변수
매개변수 | 설명 |
---|---|
x
|
필수 유형을 확인할 객체입니다. |
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
|
필수 특정 이름을 현재 모듈의 범위로 가져올 특정 저장소를 지정합니다. 키는 현재 범위에서 사용할 이름이어야 하며, 값은 모듈 확장 프로그램에서 내보낸 원래 이름이어야 합니다. |
공개 상태
None visibility(value)
현재 초기화 중인 .bzl 모듈의 로드 공개 상태를 설정합니다.
모듈의 로드 공개 상태는 다른 BUILD 및 .bzl 파일에서 로드할 수 있는지 여부를 지정합니다. 이는 파일이 다른 타겟의 종속 항목으로 표시될 수 있는지를 제어하는 기본 .bzl 소스 파일의 타겟 공개 상태와 다릅니다. 로드 가시성은 패키지 수준에서 작동합니다. 모듈을 로드하려면 로드를 실행하는 파일이 모듈에 대한 가시성을 부여받은 패키지에 있어야 합니다. 모듈은 가시성에 관계없이 항상 자체 패키지 내에 로드할 수 있습니다.
visibility()
는 .bzl 파일당 한 번만 호출할 수 있으며 함수 내부에서는 최상위 수준에서만 호출할 수 있습니다. 이 스타일은 인수를 확인하는 데 필요한 짧은 로직과 load()
문 바로 아래에 이 호출을 넣는 것이 좋습니다.
--check_bzl_visibility
플래그를 false로 설정하면 로드 가시성 위반 시 경고가 발생하지만 빌드는 실패하지 않습니다.
매개변수
매개변수 | 설명 |
---|---|
value
|
필수 패키지 사양 문자열 목록 또는 단일 패키지 사양 문자열입니다. 패키지 사양은
'@' 구문은 허용되지 않습니다. 모든 사양은 현재 모듈의 저장소를 기준으로 해석됩니다.
|
작업공간
None workspace(name)
이 함수는 WORKSPACE
파일에서만 사용할 수 있으며 WORKSPACE
파일의 다른 모든 함수보다 먼저 선언해야 합니다. 각 WORKSPACE
파일에는 workspace
함수가 있어야 합니다.
이 작업공간의 이름을 설정합니다. 작업공간 이름은 밑줄을 구분자로 사용하는 프로젝트에 대한 자바 패키지 스타일의 설명이어야 합니다. 예를 들어 github.com/bazelbuild/bazel은 com_github_bazelbuild_bazel을 사용해야 합니다.
이 이름은 저장소의 runfile이 저장된 디렉터리에 사용됩니다. 예를 들어 로컬 저장소에 foo/bar
실행 파일이 있고 WORKSPACE 파일에 workspace(name = 'baz')
가 포함된 경우 실행 파일을 mytarget.runfiles/baz/foo/bar
에서 사용할 수 있습니다. 작업공간 이름이 지정되지 않으면 런파일이 bar.runfiles/foo/bar
에 심볼릭 링크됩니다.
원격 저장소 규칙 이름은 유효한 작업공간 이름이어야 합니다. 예를 들어 Bazel이 workspace(name = 'foo%bar')
이 포함된 maven_jar
에 대한 WORKSPACE 파일을 작성하려고 하므로 maven_jar(name = 'foo')
는 있지만 maven_jar(name = 'foo%bar')
는 없을 수 있습니다.
매개변수
매개변수 | 설명 |
---|---|
name
|
필수사항입니다. 작업공간의 이름입니다. 이름은 문자로 시작해야 하며 문자, 숫자, 밑줄, 대시, 점만 포함할 수 있습니다. |
우편번호
list zip(*args)
tuple
의 list
를 반환합니다. 여기서 i번째 튜플에는 각 인수 시퀀스 또는 반복 가능 항목의 i번째 요소가 포함되어 있습니다. 목록에는 가장 짧은 입력의 크기가 있습니다. 반복 가능한 단일 인수를 사용하면 1-튜플 목록을 반환합니다. 인수가 없으면 빈 목록을 반환합니다. 예:zip() # == [] zip([1, 2]) # == [(1,), (2,)] zip([1, 2], [3, 4]) # == [(1, 3), (2, 4)] zip([1, 2], [3, 4, 5]) # == [(1, 3), (2, 4)]
매개변수
매개변수 | 설명 |
---|---|
args
|
필수 압축합니다. |