구성원
- analysis_test_transition(테스트 전환)
- 평가
- configuration_field
- 디셋
- exec_group
- module_extension
- 제공업체
- repository_rule
- 규칙
- 선택
- 태그_클래스
- 공개 상태
분석_테스트_전환
transition analysis_test_transition(settings)
분석 테스트 규칙의 종속 항목에 적용할 구성 전환을 만듭니다. 이 전환은 analysis_test = True
가 있는 규칙의 속성에만 적용될 수 있습니다. 이러한 규칙은 기능에서 제한되므로 (예: 종속 항목 트리의 크기가 제한됨) 이 함수를 사용하여 만든 전환은 transition()
를 사용하여 만든 전환에 비해 잠재적 범위가 제한됩니다.
이 함수는 주로 Analysis Test Framework 핵심 라이브러리를 용이하게 하도록 설계되었습니다. 권장사항은 문서 (또는 구현)를 참조하세요.
매개변수
매개변수 | 설명 |
---|---|
settings
|
필수 이 구성 전환으로 설정해야 하는 구성 설정에 대한 정보가 포함된 사전입니다. 키는 빌드 설정 라벨이며 값은 새로운 전환 후 값입니다. 다른 모든 설정은 변경되지 않습니다. 이를 통해 분석 테스트에 통과해야 하는 특정 구성 설정을 선언할 수 있습니다. |
관점
Aspect aspect(implementation, attr_aspects=[], attrs=None, required_providers=[], required_aspect_providers=[], provides=[], requires=[], fragments=[], host_fragments=[], toolchains=[], incompatible_use_toolchain_transition=False, doc=None, *, apply_to_generating_rules=False, exec_compatible_with=[], exec_groups=None)새로운 측면을 만듭니다. 이 함수의 결과는 전역 값으로 저장해야 합니다. 자세한 내용은 평가 항목 소개를 참고하세요.
매개변수
매개변수 | 설명 |
---|---|
implementation
|
필수 이 부분을 구현하는 Starlark 함수로 정확히 두 매개변수, 즉 대상 (평가 요소가 적용되는 대상)과 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
|
string; or None ;
default = None문서 생성 도구에서 추출할 수 있는 측면에 대한 설명입니다. |
apply_to_generating_rules
|
default = False true이면 출력 파일에 적용되는 측면이 출력 파일의 생성 규칙에 대신 적용됩니다. 예를 들어 한 특성이 `deps` 속성을 통해 전이적으로 전파되어 `alpha`에 적용된다고 가정해 봅시다. `alpha`에 `deps = [':beta_output']`이 있고, `beta_output`에 대상 `beta`의 선언된 출력이 있다고 가정해 보겠습니다. `beta`에 `참`이 있는 경우 `charlie`가 타겟 `char`를 가지고 있는 경우 `spec_the`의 특성이 기본적으로 False입니다. |
exec_compatible_with
|
sequence of strings ;
default = []이 측면의 모든 인스턴스에 적용되는 실행 플랫폼의 제약조건 목록입니다. |
exec_groups
|
dict; or None ;
기본값 = Noneexec_group s에 대한 실행 그룹 이름 (문자열)에 대한 설명 이 속성을 설정하면 단일 인스턴스 내의 여러 실행 플랫폼에서 작업을 실행할 수 있습니다. 자세한 내용은 실행 그룹 문서를 참고하세요.
|
configuration_field
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(direct=None, order="default", *, transitive=None)depset을 만듭니다.
direct
매개변수는 depset의 직접 요소의 목록이며 transitive
매개변수는 요소가 생성된 desetset의 간접 요소가 되는 depset의 목록입니다. 오프셋이 목록으로 변환될 때 요소가 반환되는 순서는 order
매개변수로 지정됩니다. 자세한 내용은 Depsets 개요를 참고하세요.
오프셋의 모든 요소 (직접 및 간접)는 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오프셋의 direct 요소 목록입니다. |
order
|
default = "default" 새 오프셋의 순회 전략입니다. 가능한 값은 여기를 참고하세요. |
transitive
|
sequence of depsets; or None ;
기본값 = None요소가 오프셋의 간접 요소가 될 수 있는 디셋 목록. |
실행_그룹
exec_group exec_group(toolchains=[], exec_compatible_with=[])규칙 실행 중에 특정 실행 플랫폼에 대한 작업을 만드는 데 사용할 수 있는 실행 그룹을 만듭니다.
매개변수
매개변수 | 설명 |
---|---|
toolchains
|
sequence ;
default = []이 실행 그룹에 필요한 도구 모음 집합입니다. 목록에는 문자열, 라벨, StarlarkToolchainTypeApi 객체가 조합된 형태로 포함될 수 있습니다. |
exec_compatible_with
|
sequence of strings ;
default = []실행 플랫폼의 제약조건 목록입니다. |
모듈_확장
unknown module_extension(implementation, *, tag_classes={}, doc='')새 모듈 확장 프로그램을 만듭니다. MODULE.bazel 파일로 내보내고 사용할 수 있도록 전역 값으로 저장합니다.
매개변수
매개변수 | 설명 |
---|---|
implementation
|
필수 이 모듈 확장 프로그램을 구현하는 함수입니다. 단일 매개변수( module_ctx )를 사용해야 합니다. 이 함수는 빌드 시작 시 한 번 호출되어 사용 가능한 저장소 집합을 결정합니다.
|
tag_classes
|
기본값 = {} 확장 프로그램에서 사용하는 모든 태그 클래스를 선언하는 사전입니다. 태그 클래스 이름에서 tag_class 객체로 매핑됩니다.
|
doc
|
default = '' 도구 생성 도구에서 추출할 수 있는 모듈 확장 프로그램에 대한 설명입니다. |
제공업체
unknown provider(doc=None, *, 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
호출 가능 값과 원시 생성자 호출 가능 값의 2개 튜플을 반환합니다. 자세한 내용은 규칙 (맞춤 제공업체의 맞춤 초기화)과 아래의 init
매개변수에 관한 설명을 참고하세요.
매개변수
매개변수 | 설명 |
---|---|
doc
|
string; or None ;
default = None도구를 생성하는 문서에서 추출할 수 있는 제공업체의 설명입니다. |
fields
|
sequence of strings; or dict; or None ;
default = None지정된 경우 허용된 필드 집합이 제한됩니다. 가능한 값은 다음과 같습니다.
|
init
|
callable; or None ;
기본값 = 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 = ...) |
저장소_규칙
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 = '' 도구 생성 도구에서 추출할 수 있는 저장소 규칙에 대한 설명입니다. |
규칙
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=None, *, 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
|
기본값 = 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
|
기본값 = False (실험용) true인 경우 이 규칙은 Actions 제공업체를 통해 규칙을 사용하는 규칙을 대상으로 검사하는 작업을 노출합니다. ctx.created_actions()를 호출하여 규칙 자체에 제공업체를 사용할 수도 있습니다.이는 Starlark 규칙의 분석 시간 동작을 테스트하는 경우에만 사용해야 합니다. 이 플래그는 향후 삭제될 수 있습니다. |
toolchains
|
sequence ;
default = []설정된 경우 이 규칙에 필요한 도구 모음 집합입니다. 목록에는 문자열, 라벨, StarlarkToolchainTypeApi 객체가 조합된 형태로 포함될 수 있습니다. 도구 모음은 현재 플랫폼을 확인하여 찾을 수 있으며 ctx.toolchain 를 통해 규칙 구현에 제공됩니다.
|
incompatible_use_toolchain_transition
|
default = False 지원 중단되었으며 더 이상 사용하지 않으므로 삭제해야 합니다. |
doc
|
string; or None ;
default = None도구 생성 도구에서 추출할 수 있는 규칙에 대한 설명입니다. |
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
|
default = None 설정하면 구성 전환을 가리키며, 분석 전에 규칙이 해당 구성에 적용됩니다. |
exec_groups
|
dict; or None ;
기본값 = Noneexec_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
|
필수 구성 조건을 값에 매핑하는 사전. 각 키는 config_setting 또는 constraints_value 인스턴스를 식별하는 Label 또는 라벨 문자열입니다. 문자열 대신 라벨을 사용하는 경우는 매크로 문서를 참고하세요. |
no_match_error
|
default = '' 일치하는 조건이 없는 경우 보고할 커스텀 오류(선택사항) |
태그_클래스
tag_class tag_class(attrs={}, *, doc='')모듈 확장 프로그램에서 사용할 수 있는 데이터 객체인 태그 클래스의 속성 스키마를 정의하는 새 tag_class 객체를 만듭니다.
매개변수
매개변수 | 설명 |
---|---|
attrs
|
default = {} 이 태그 클래스의 모든 속성을 선언하는 사전입니다. 또한 속성 이름에서 속성 객체로 매핑됩니다 (attr 모듈 참고). |
doc
|
default = '' 도구 생성 도구에서 추출할 수 있는 태그 클래스의 설명입니다. |
공개 상태
None visibility(value)
현재 초기화 중인 .bzl 모듈의 로드 공개 상태를 설정합니다.
모듈의 로드 공개 상태는 다른 BUILD 및 .bzl 파일에서 로드할 수 있는지 여부를 결정합니다. 이는 기본 .bzl 소스 파일의 타겟 공개 상태와는 별개이며 파일이 다른 대상의 종속 항목으로 표시될 수 있는지 여부를 관리합니다. 로드 표시 여부는 패키지 수준에서 작동합니다. 모듈을 로드하려면 로드를 실행하는 파일이 모듈에 공개 상태가 부여된 패키지에 있어야 합니다. 모듈은 가시성에 관계없이 항상 자체 패키지 내에 로드될 수 있습니다.
visibility()
는 .bzl 파일당 한 번만 호출할 수 있으며 함수 내부에서는 최상위 수준에서만 호출할 수 없습니다. 선호되는 방법은 이 호출을 load()
문 바로 아래에 두고 인수를 결정하는 데 필요한 간단한 로직입니다.
--check_bzl_visibility
플래그를 false로 설정하면 로드 가시성 위반이 경고를 내보내지만 빌드는 실패하지 않습니다.
매개변수
매개변수 | 설명 |
---|---|
value
|
필수 패키지 사양 문자열 목록 또는 단일 패키지 사양 문자열 패키지 사양은
'@' 구문은 허용되지 않습니다. 모든 사양은 현재 모듈의 저장소를 기준으로 해석됩니다.
|