속성

문제 신고 소스 보기 나이틀리 · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

규칙 또는 측면의 속성 스키마를 정의하는 최상위 모듈입니다. 각 함수는 단일 속성의 스키마를 나타내는 객체를 반환합니다. 이러한 객체는 rule(), aspect(), repository_rule(), tag_class()attrs 사전 인수의 값으로 사용됩니다.

속성 정의사용에 대한 자세한 내용은 규칙 페이지를 참고하세요.

회원

bool

Attribute attr.bool(configurable=unbound, default=False, doc=None, mandatory=False)

불리언 속성의 스키마를 만듭니다. 해당 ctx.attr 속성은 bool 유형입니다.

매개변수

매개변수 설명
configurable bool 또는 바운드되지 않음. 기본값은 unbound
입니다. 이 인수는 심볼 매크로의 속성에만 지정할 수 있습니다.

configurable이 명시적으로 False로 설정된 경우, 기호 매크로 속성은 구성할 수 없습니다. 즉, select() 값을 사용할 수 없습니다. configurable가 바인딩되지 않았거나 명시적으로 True로 설정된 경우 속성은 구성 가능하며 select() 값을 사용할 수 있습니다.

규칙 또는 측면의 속성에 대해 configurable는 바인딩되지 않은 상태로 두어야 합니다. 대부분의 Starlark 규칙 속성은 항상 구성할 수 있지만 attr.output(), attr.output_list(), attr.license() 규칙 속성은 항상 구성할 수 없습니다.

default bool; default is False
규칙을 인스턴스화할 때 이 속성의 값이 제공되지 않는 경우 사용할 기본값입니다.
doc 문자열 또는 None; 기본값은 None
입니다. 문서 생성 도구로 추출할 수 있는 속성에 대한 설명입니다.
mandatory bool; default is False
If true, the value must be specified explicitly (even if it has a default).

int

Attribute attr.int(configurable=unbound, default=0, doc=None, mandatory=False, values=[])

정수 속성의 스키마를 만듭니다. 값은 부호 있는 32비트 범위에 있어야 합니다. 해당 ctx.attr 속성은 int 유형입니다.

매개변수

매개변수 설명
configurable bool 또는 바운드되지 않음. 기본값은 unbound
입니다. 이 인수는 심볼 매크로의 속성에만 지정할 수 있습니다.

configurable이 명시적으로 False로 설정된 경우, 기호 매크로 속성은 구성할 수 없습니다. 즉, select() 값을 사용할 수 없습니다. configurable가 바인딩되지 않았거나 명시적으로 True로 설정된 경우 속성은 구성 가능하며 select() 값을 사용할 수 있습니다.

규칙 또는 측면의 속성에 대해 configurable는 바인딩되지 않은 상태로 두어야 합니다. 대부분의 Starlark 규칙 속성은 항상 구성할 수 있지만 attr.output(), attr.output_list(), attr.license() 규칙 속성은 항상 구성할 수 없습니다.

default int; default is 0
규칙을 인스턴스화할 때 이 속성의 값이 제공되지 않은 경우 사용할 기본값입니다.
doc 문자열 또는 None; 기본값은 None
입니다. 문서 생성 도구로 추출할 수 있는 속성에 대한 설명입니다.
mandatory bool; default is False
If true, the value must be specified explicitly (even if it has a default).
values intsequence; default is []
속성에 허용되는 값의 목록입니다. 다른 값이 지정되면 오류가 발생합니다.

int_list

Attribute attr.int_list(mandatory=False, allow_empty=True, *, configurable=unbound, default=[], doc=None)

정수 목록 속성의 스키마를 만듭니다. 각 요소는 서명된 32비트 범위에 있어야 합니다.

매개변수

매개변수 설명
mandatory bool; default is False
If true, the value must be specified explicitly (even if it has a default).
allow_empty bool; default is True
속성이 비어 있을 수 있는 경우 True입니다.
configurable bool 또는 바운드되지 않음. 기본값은 unbound
입니다. 이 인수는 심볼 매크로의 속성에만 지정할 수 있습니다.

configurable이 명시적으로 False로 설정된 경우, 기호 매크로 속성은 구성할 수 없습니다. 즉, select() 값을 사용할 수 없습니다. configurable가 바인딩되지 않았거나 명시적으로 True로 설정된 경우 속성은 구성 가능하며 select() 값을 사용할 수 있습니다.

규칙 또는 측면의 속성에 대해 configurable는 바인딩되지 않은 상태로 두어야 합니다. 대부분의 Starlark 규칙 속성은 항상 구성할 수 있지만 attr.output(), attr.output_list(), attr.license() 규칙 속성은 항상 구성할 수 없습니다.

default int시퀀스입니다. 기본값은 []
입니다. 규칙을 인스턴스화할 때 이 속성의 값이 제공되지 않는 경우 사용할 기본값입니다.
doc 문자열 또는 None; 기본값은 None
입니다. 문서 생성 도구로 추출할 수 있는 속성에 대한 설명입니다.

라벨

Attribute attr.label(configurable=unbound, default=None, materializer=None, doc=None, executable=False, allow_files=None, allow_single_file=None, mandatory=False, skip_validations=False, providers=[], for_dependency_resolution=unbound, allow_rules=None, cfg=None, aspects=[], flags=[])

라벨 속성의 스키마를 만듭니다. 이는 종속 항목 속성입니다.

이 속성에는 고유한 Label 값이 포함되어 있습니다. Label 대신 문자열이 제공되면 라벨 생성자를 사용하여 변환됩니다. (이름이 바뀐 것일 수도 있는) 저장소를 포함한 라벨 경로의 상대적인 부분은 인스턴스화된 타겟의 패키지를 기준으로 확인됩니다.

분석 시점 (규칙의 구현 함수 내)에 ctx.attr에서 속성 값을 가져올 때 라벨은 해당 Target로 대체됩니다. 이를 통해 현재 타겟의 종속 항목 제공자에 액세스할 수 있습니다.

일반 소스 파일 외에도 이러한 종류의 속성은 컴파일러와 같은 도구를 참조하는 데 자주 사용됩니다. 이러한 도구는 소스 파일과 마찬가지로 종속 항목으로 간주됩니다. 사용자가 BUILD 파일에서 규칙을 사용할 때마다 도구의 라벨을 지정하지 않도록 하려면 표준 도구의 라벨을 이 속성의 default 값으로 하드 코딩하면 됩니다. 사용자가 이 기본값을 재정의하지 못하도록 하려면 밑줄로 시작하는 이름을 지정하여 속성을 비공개로 설정하면 됩니다. 자세한 내용은 규칙 페이지를 참고하세요.

매개변수

매개변수 설명
configurable bool 또는 바운드되지 않음. 기본값은 unbound
입니다. 이 인수는 심볼 매크로의 속성에만 지정할 수 있습니다.

configurable이 명시적으로 False로 설정된 경우, 기호 매크로 속성은 구성할 수 없습니다. 즉, select() 값을 사용할 수 없습니다. configurable가 바인딩되지 않았거나 명시적으로 True로 설정된 경우 속성은 구성 가능하며 select() 값을 사용할 수 있습니다.

규칙 또는 측면의 속성에 대해 configurable는 바인딩되지 않은 상태로 두어야 합니다. 대부분의 Starlark 규칙 속성은 항상 구성할 수 있지만 attr.output(), attr.output_list(), attr.license() 규칙 속성은 항상 구성할 수 없습니다.

default 라벨, 문자열, LateBoundDefault, NativeComputedDefault, 함수, None. 기본값은 None
입니다. 규칙을 인스턴스화할 때 이 속성의 값이 제공되지 않는 경우 사용할 기본값입니다. 문자열 또는 Label 함수를 사용하여 기본값을 지정합니다(예: attr.label(default = "//a:b")).
materializer function; default is None
Experimental. 이 파라미터는 실험 단계이며 언제든지 변경될 수 있습니다. 이 기능에 의존하지 마세요. --experimental_dormant_deps
을 설정하여 실험적으로 사용 설정할 수 있습니다. 설정된 경우 속성은 전이적 폐쇄에서 휴면 종속 항목을 구체화합니다. 이 매개변수의 값은 종속 항목이 아니거나 종속 항목 해결에 사용할 수 있는 것으로 표시된 규칙의 속성 값에 액세스하는 함수여야 합니다. 속성 유형에 따라 휴면 종속 항목 또는 휴면 종속 항목 목록을 반환해야 합니다.
doc 문자열 또는 None; 기본값은 None
입니다. 문서 생성 도구로 추출할 수 있는 속성에 대한 설명입니다.
executable bool; default is False
종속 항목이 실행 가능해야 하는 경우 True입니다. 즉, 라벨은 실행 파일 또는 실행 파일을 출력하는 규칙을 참조해야 합니다. ctx.executable.<attribute_name>로 라벨에 액세스합니다.
allow_files bool 또는 stringsequence 또는 None. 기본값은 None
입니다. File 타겟이 허용되는지 여부입니다. True, False (기본값) 또는 허용된 파일 확장자 목록 (예: [".cc", ".cpp"])일 수 있습니다.
allow_single_file 기본값은 None
입니다. 이는 라벨이 단일 파일에 해당해야 한다는 제한이 있는 allow_files와 유사합니다. ctx.file.<attribute_name>을 통해 액세스하세요.
mandatory bool; default is False
If true, the value must be specified explicitly (even if it has a default).
skip_validations bool; default is False
true인 경우 이 속성에서 전이 종속 항목의 유효성 검사 작업이 실행되지 않습니다. 이는 임시 완화 조치이며 향후 삭제될 예정입니다.
providers sequence; default is []
이 속성에 표시된 종속 항목에서 제공해야 하는 제공자입니다.

이 인수의 형식은 제공자 목록의 목록입니다. provider()에서 반환된 *Info 객체 (또는 기존 제공자의 경우 문자열 이름)입니다. 종속 항목은 하나 이상의 내부 목록에 언급된 모든 제공자를 반환해야 합니다. 편의를 위해 이 인수는 단일 수준 제공업체 목록일 수도 있습니다. 이 경우 요소가 하나인 외부 목록으로 래핑됩니다 (예: [A, B][[A, B]]를 의미함). 종속 항목 규칙이 provides 매개변수에 이러한 제공업체를 광고할 필요는 없지만 권장사항으로 간주됩니다.

for_dependency_resolution 기본값은 unbound
입니다. 이 값이 설정되면 속성은 materializer에서 사용할 수 있습니다. 이러한 속성을 통해 참조할 수 있는 규칙은 동일한 이름의 플래그로 표시된 규칙뿐입니다.
allow_rules stringsequence 또는 None. 기본값은 None
입니다. 허용되는 규칙 타겟 (클래스 이름)입니다. 이 속성은 지원 중단되었습니다 (호환성을 위해서만 유지됨). 대신 제공자를 사용하세요.
cfg 기본값은 None
속성의 구성입니다. execution platform용으로 종속 항목이 빌드되었음을 나타내는 "exec" 또는 target platform용으로 종속 항목이 빌드되었음을 나타내는 "target"일 수 있습니다. 이러한 차이의 일반적인 예는 모바일 앱을 빌드할 때 target platformAndroid 또는 iOS인 반면 execution platformLinux, macOS 또는 Windows인 경우입니다. executable가 True인 경우 이 파라미터는 타겟 구성에서 실수로 호스트 도구를 빌드하지 않도록 하는 데 필요합니다. "target"는 의미론적 효과가 없으므로 의도를 명확히 하는 데 정말 도움이 되지 않는 한 executable이 False일 때는 설정하지 마세요.
aspects Aspectsequence입니다. 기본값은 []
입니다. 이 속성으로 지정된 종속 항목에 적용해야 하는 측면입니다.
flags stringsequence입니다. 기본값은 []
입니다. 지원 중단되었으며 삭제될 예정입니다.

label_keyed_string_dict

Attribute attr.label_keyed_string_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, allow_files=None, allow_rules=None, providers=[], for_dependency_resolution=unbound, flags=[], mandatory=False, skip_validations=False, cfg=None, aspects=[])

키가 라벨이고 값이 문자열인 사전을 보유하는 속성의 스키마를 만듭니다. 이는 종속 항목 속성입니다.

이 속성에는 고유한 Label 값이 포함되어 있습니다. Label 대신 문자열이 제공되면 라벨 생성자를 사용하여 변환됩니다. (이름이 바뀐 것일 수도 있는) 저장소를 포함한 라벨 경로의 상대적인 부분은 인스턴스화된 타겟의 패키지를 기준으로 확인됩니다.

분석 시점 (규칙의 구현 함수 내)에 ctx.attr에서 속성 값을 가져올 때 라벨은 해당 Target로 대체됩니다. 이를 통해 현재 타겟의 종속 항목 제공자에 액세스할 수 있습니다.

매개변수

매개변수 설명
allow_empty bool; default is True
속성이 비어 있을 수 있는 경우 True입니다.
configurable bool 또는 바운드되지 않음. 기본값은 unbound
입니다. 이 인수는 심볼 매크로의 속성에만 지정할 수 있습니다.

configurable이 명시적으로 False로 설정된 경우, 기호 매크로 속성은 구성할 수 없습니다. 즉, select() 값을 사용할 수 없습니다. configurable가 바인딩되지 않았거나 명시적으로 True로 설정된 경우 속성은 구성 가능하며 select() 값을 사용할 수 있습니다.

규칙 또는 측면의 속성에 대해 configurable는 바인딩되지 않은 상태로 두어야 합니다. 대부분의 Starlark 규칙 속성은 항상 구성할 수 있지만 attr.output(), attr.output_list(), attr.license() 규칙 속성은 항상 구성할 수 없습니다.

default dict 또는 function. 기본값은 {}
입니다. 규칙을 인스턴스화할 때 이 속성의 값이 제공되지 않는 경우 사용할 기본값입니다. 문자열 또는 Label 함수를 사용하여 기본값을 지정합니다(예: attr.label_keyed_string_dict(default = {"//a:b": "value", "//a:c": "string"})).
doc 문자열 또는 None; 기본값은 None
입니다. 문서 생성 도구로 추출할 수 있는 속성에 대한 설명입니다.
allow_files bool 또는 stringsequence 또는 None. 기본값은 None
입니다. File 타겟이 허용되는지 여부입니다. True, False (기본값) 또는 허용된 파일 확장자 목록 (예: [".cc", ".cpp"])일 수 있습니다.
allow_rules stringsequence 또는 None. 기본값은 None
입니다. 허용되는 규칙 타겟 (클래스 이름)입니다. 이 속성은 지원 중단되었습니다 (호환성을 위해서만 유지됨). 대신 제공자를 사용하세요.
providers sequence; default is []
이 속성에 표시된 종속 항목에서 제공해야 하는 제공자입니다.

이 인수의 형식은 제공자 목록의 목록입니다. provider()에서 반환된 *Info 객체 (또는 기존 제공자의 경우 문자열 이름)입니다. 종속 항목은 하나 이상의 내부 목록에 언급된 모든 제공자를 반환해야 합니다. 편의를 위해 이 인수는 단일 수준 제공업체 목록일 수도 있습니다. 이 경우 요소가 하나인 외부 목록으로 래핑됩니다 (예: [A, B][[A, B]]를 의미함). 종속 항목 규칙이 provides 매개변수에 이러한 제공업체를 광고할 필요는 없지만 권장사항으로 간주됩니다.

for_dependency_resolution 기본값은 unbound
입니다. 이 값이 설정되면 속성은 materializer에서 사용할 수 있습니다. 이러한 속성을 통해 참조할 수 있는 규칙은 동일한 이름의 플래그로 표시된 규칙뿐입니다.
flags stringsequence입니다. 기본값은 []
입니다. 지원 중단되었으며 삭제될 예정입니다.
mandatory bool; default is False
If true, the value must be specified explicitly (even if it has a default).
skip_validations bool; default is False
true인 경우 이 속성에서 전이 종속 항목의 유효성 검사 작업이 실행되지 않습니다. 이는 임시 완화 조치이며 향후 삭제될 예정입니다.
cfg 기본값은 None
속성의 구성입니다. execution platform용으로 종속 항목이 빌드되었음을 나타내는 "exec" 또는 target platform용으로 종속 항목이 빌드되었음을 나타내는 "target"일 수 있습니다. 이러한 차이의 일반적인 예는 모바일 앱을 빌드할 때 target platformAndroid 또는 iOS인 반면 execution platformLinux, macOS 또는 Windows인 경우입니다.
aspects Aspectsequence입니다. 기본값은 []
입니다. 이 속성으로 지정된 종속 항목에 적용해야 하는 측면입니다.

label_list

Attribute attr.label_list(allow_empty=True, *, configurable=unbound, default=[], materializer=None, doc=None, allow_files=None, allow_rules=None, providers=[], for_dependency_resolution=unbound, flags=[], mandatory=False, skip_validations=False, cfg=None, aspects=[])

라벨 목록 속성의 스키마를 만듭니다. 이는 종속 항목 속성입니다. 해당 ctx.attr 속성은 Targetlist 유형입니다.

이 속성에는 고유한 Label 값이 포함되어 있습니다. Label 대신 문자열이 제공되면 라벨 생성자를 사용하여 변환됩니다. (이름이 바뀐 것일 수도 있는) 저장소를 포함한 라벨 경로의 상대적인 부분은 인스턴스화된 타겟의 패키지를 기준으로 확인됩니다.

분석 시점 (규칙의 구현 함수 내)에 ctx.attr에서 속성 값을 가져올 때 라벨은 해당 Target로 대체됩니다. 이를 통해 현재 타겟의 종속 항목 제공자에 액세스할 수 있습니다.

매개변수

매개변수 설명
allow_empty bool; default is True
속성이 비어 있을 수 있는 경우 True입니다.
configurable bool 또는 바운드되지 않음. 기본값은 unbound
입니다. 이 인수는 심볼 매크로의 속성에만 지정할 수 있습니다.

configurable이 명시적으로 False로 설정된 경우, 기호 매크로 속성은 구성할 수 없습니다. 즉, select() 값을 사용할 수 없습니다. configurable가 바인딩되지 않았거나 명시적으로 True로 설정된 경우 속성은 구성 가능하며 select() 값을 사용할 수 있습니다.

규칙 또는 측면의 속성에 대해 configurable는 바인딩되지 않은 상태로 두어야 합니다. 대부분의 Starlark 규칙 속성은 항상 구성할 수 있지만 attr.output(), attr.output_list(), attr.license() 규칙 속성은 항상 구성할 수 없습니다.

default Labelsequence 또는 function. 기본값은 []
입니다. 규칙을 인스턴스화할 때 이 속성의 값이 지정되지 않은 경우 사용할 기본값입니다. 문자열 또는 Label 함수를 사용하여 기본값을 지정합니다(예: attr.label_list(default = ["//a:b", "//a:c"])).
materializer function; default is None
Experimental. 이 파라미터는 실험 단계이며 언제든지 변경될 수 있습니다. 이 기능에 의존하지 마세요. --experimental_dormant_deps
을 설정하여 실험적으로 사용 설정할 수 있습니다. 설정된 경우 속성은 전이적 폐쇄에서 휴면 종속 항목을 구체화합니다. 이 매개변수의 값은 종속 항목이 아니거나 종속 항목 해결에 사용할 수 있는 것으로 표시된 규칙의 속성 값에 액세스하는 함수여야 합니다. 속성 유형에 따라 휴면 종속 항목 또는 휴면 종속 항목 목록을 반환해야 합니다.
doc 문자열 또는 None; 기본값은 None
입니다. 문서 생성 도구로 추출할 수 있는 속성에 대한 설명입니다.
allow_files bool 또는 stringsequence 또는 None. 기본값은 None
입니다. File 타겟이 허용되는지 여부입니다. True, False (기본값) 또는 허용된 파일 확장자 목록 (예: [".cc", ".cpp"])일 수 있습니다.
allow_rules stringsequence 또는 None. 기본값은 None
입니다. 허용되는 규칙 타겟 (클래스 이름)입니다. 이 속성은 지원 중단되었습니다 (호환성을 위해서만 유지됨). 대신 제공자를 사용하세요.
providers sequence; default is []
이 속성에 표시된 종속 항목에서 제공해야 하는 제공자입니다.

이 인수의 형식은 제공자 목록의 목록입니다. provider()에서 반환된 *Info 객체 (또는 기존 제공자의 경우 문자열 이름)입니다. 종속 항목은 하나 이상의 내부 목록에 언급된 모든 제공자를 반환해야 합니다. 편의를 위해 이 인수는 단일 수준 제공업체 목록일 수도 있습니다. 이 경우 요소가 하나인 외부 목록으로 래핑됩니다 (예: [A, B][[A, B]]를 의미함). 종속 항목 규칙이 provides 매개변수에 이러한 제공업체를 광고할 필요는 없지만 권장사항으로 간주됩니다.

for_dependency_resolution 기본값은 unbound
입니다. 이 값이 설정되면 속성은 materializer에서 사용할 수 있습니다. 이러한 속성을 통해 참조할 수 있는 규칙은 동일한 이름의 플래그로 표시된 규칙뿐입니다.
flags stringsequence입니다. 기본값은 []
입니다. 지원 중단되었으며 삭제될 예정입니다.
mandatory bool; default is False
If true, the value must be specified explicitly (even if it has a default).
skip_validations bool; default is False
true인 경우 이 속성에서 전이 종속 항목의 유효성 검사 작업이 실행되지 않습니다. 이는 임시 완화 조치이며 향후 삭제될 예정입니다.
cfg 기본값은 None
속성의 구성입니다. execution platform용으로 종속 항목이 빌드되었음을 나타내는 "exec" 또는 target platform용으로 종속 항목이 빌드되었음을 나타내는 "target"일 수 있습니다. 이러한 차이의 일반적인 예는 모바일 앱을 빌드할 때 target platformAndroid 또는 iOS인 반면 execution platformLinux, macOS 또는 Windows인 경우입니다.
aspects Aspectsequence입니다. 기본값은 []
입니다. 이 속성으로 지정된 종속 항목에 적용해야 하는 측면입니다.

output

Attribute attr.output(doc=None, mandatory=False)

출력 (라벨) 속성의 스키마를 만듭니다.

이 속성에는 고유한 Label 값이 포함되어 있습니다. Label 대신 문자열이 제공되면 라벨 생성자를 사용하여 변환됩니다. (이름이 바뀐 것일 수도 있는) 저장소를 포함한 라벨 경로의 상대적인 부분은 인스턴스화된 타겟의 패키지를 기준으로 확인됩니다.

분석 시 ctx.outputs를 사용하여 해당 File를 가져올 수 있습니다.

매개변수

매개변수 설명
doc 문자열 또는 None; 기본값은 None
입니다. 문서 생성 도구로 추출할 수 있는 속성에 대한 설명입니다.
mandatory bool; default is False
If true, the value must be specified explicitly (even if it has a default).

output_list

Attribute attr.output_list(allow_empty=True, *, doc=None, mandatory=False)

출력 목록 속성의 스키마를 만듭니다.

이 속성에는 고유한 Label 값이 포함되어 있습니다. Label 대신 문자열이 제공되면 라벨 생성자를 사용하여 변환됩니다. (이름이 바뀐 것일 수도 있는) 저장소를 포함한 라벨 경로의 상대적인 부분은 인스턴스화된 타겟의 패키지를 기준으로 확인됩니다.

분석 시 ctx.outputs를 사용하여 해당 File를 가져올 수 있습니다.

매개변수

매개변수 설명
allow_empty bool; default is True
속성이 비어 있을 수 있는 경우 True입니다.
doc 문자열 또는 None; 기본값은 None
입니다. 문서 생성 도구로 추출할 수 있는 속성에 대한 설명입니다.
mandatory bool; default is False
If true, the value must be specified explicitly (even if it has a default).

문자열

Attribute attr.string(configurable=unbound, default='', doc=None, mandatory=False, values=[])

string 속성의 스키마를 만듭니다.

매개변수

매개변수 설명
configurable bool 또는 바운드되지 않음. 기본값은 unbound
입니다. 이 인수는 심볼 매크로의 속성에만 지정할 수 있습니다.

configurable이 명시적으로 False로 설정된 경우, 기호 매크로 속성은 구성할 수 없습니다. 즉, select() 값을 사용할 수 없습니다. configurable가 바인딩되지 않았거나 명시적으로 True로 설정된 경우 속성은 구성 가능하며 select() 값을 사용할 수 있습니다.

규칙 또는 측면의 속성에 대해 configurable는 바인딩되지 않은 상태로 두어야 합니다. 대부분의 Starlark 규칙 속성은 항상 구성할 수 있지만 attr.output(), attr.output_list(), attr.license() 규칙 속성은 항상 구성할 수 없습니다.

default string 또는 NativeComputedDefault; 기본값은 ''
입니다. 규칙을 인스턴스화할 때 이 속성의 값이 제공되지 않는 경우 사용할 기본값입니다.
doc 문자열 또는 None; 기본값은 None
입니다. 문서 생성 도구로 추출할 수 있는 속성에 대한 설명입니다.
mandatory bool; default is False
If true, the value must be specified explicitly (even if it has a default).
values stringsequence; default is []
속성에 허용되는 값의 목록입니다. 다른 값이 지정되면 오류가 발생합니다.

string_dict

Attribute attr.string_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, mandatory=False)

키와 값이 문자열인 사전을 보유하는 속성의 스키마를 만듭니다.

매개변수

매개변수 설명
allow_empty bool; default is True
속성이 비어 있을 수 있는 경우 True입니다.
configurable bool 또는 바운드되지 않음. 기본값은 unbound
입니다. 이 인수는 심볼 매크로의 속성에만 지정할 수 있습니다.

configurable이 명시적으로 False로 설정된 경우, 기호 매크로 속성은 구성할 수 없습니다. 즉, select() 값을 사용할 수 없습니다. configurable가 바인딩되지 않았거나 명시적으로 True로 설정된 경우 속성은 구성 가능하며 select() 값을 사용할 수 있습니다.

규칙 또는 측면의 속성에 대해 configurable는 바인딩되지 않은 상태로 두어야 합니다. 대부분의 Starlark 규칙 속성은 항상 구성할 수 있지만 attr.output(), attr.output_list(), attr.license() 규칙 속성은 항상 구성할 수 없습니다.

default dict; default is {}
규칙을 인스턴스화할 때 이 속성의 값이 제공되지 않은 경우 사용할 기본값입니다.
doc 문자열 또는 None; 기본값은 None
입니다. 문서 생성 도구로 추출할 수 있는 속성에 대한 설명입니다.
mandatory bool; default is False
If true, the value must be specified explicitly (even if it has a default).

string_keyed_label_dict

Attribute attr.string_keyed_label_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, allow_files=None, allow_rules=None, providers=[], for_dependency_resolution=unbound, flags=[], mandatory=False, cfg=None, aspects=[])

값이 키가 문자열이고 값이 라벨인 사전인 속성의 스키마를 만듭니다. 이는 종속 항목 속성입니다.

이 속성에는 고유한 Label 값이 포함되어 있습니다. Label 대신 문자열이 제공되면 라벨 생성자를 사용하여 변환됩니다. (이름이 바뀐 것일 수도 있는) 저장소를 포함한 라벨 경로의 상대적인 부분은 인스턴스화된 타겟의 패키지를 기준으로 확인됩니다.

분석 시점 (규칙의 구현 함수 내)에 ctx.attr에서 속성 값을 가져올 때 라벨은 해당 Target로 대체됩니다. 이를 통해 현재 타겟의 종속 항목 제공자에 액세스할 수 있습니다.

매개변수

매개변수 설명
allow_empty bool; default is True
속성이 비어 있을 수 있는 경우 True입니다.
configurable bool 또는 바운드되지 않음. 기본값은 unbound
입니다. 이 인수는 심볼 매크로의 속성에만 지정할 수 있습니다.

configurable이 명시적으로 False로 설정된 경우, 기호 매크로 속성은 구성할 수 없습니다. 즉, select() 값을 사용할 수 없습니다. configurable가 바인딩되지 않았거나 명시적으로 True로 설정된 경우 속성은 구성 가능하며 select() 값을 사용할 수 있습니다.

규칙 또는 측면의 속성에 대해 configurable는 바인딩되지 않은 상태로 두어야 합니다. 대부분의 Starlark 규칙 속성은 항상 구성할 수 있지만 attr.output(), attr.output_list(), attr.license() 규칙 속성은 항상 구성할 수 없습니다.

default dict 또는 function. 기본값은 {}
입니다. 규칙을 인스턴스화할 때 이 속성의 값이 제공되지 않는 경우 사용할 기본값입니다. 문자열 또는 Label 함수를 사용하여 기본값을 지정합니다(예: attr.string_keyed_label_dict(default = {"foo": "//a:b", "bar": "//a:c"})).
doc 문자열 또는 None; 기본값은 None
입니다. 문서 생성 도구로 추출할 수 있는 속성에 대한 설명입니다.
allow_files bool 또는 stringsequence 또는 None. 기본값은 None
입니다. File 타겟이 허용되는지 여부입니다. True, False (기본값) 또는 허용된 파일 확장자 목록 (예: [".cc", ".cpp"])일 수 있습니다.
allow_rules stringsequence 또는 None. 기본값은 None
입니다. 허용되는 규칙 타겟 (클래스 이름)입니다. 이 속성은 지원 중단되었습니다 (호환성을 위해서만 유지됨). 대신 제공자를 사용하세요.
providers sequence; default is []
이 속성에 표시된 종속 항목에서 제공해야 하는 제공자입니다.

이 인수의 형식은 제공자 목록의 목록입니다. provider()에서 반환된 *Info 객체 (또는 기존 제공자의 경우 문자열 이름)입니다. 종속 항목은 하나 이상의 내부 목록에 언급된 모든 제공자를 반환해야 합니다. 편의를 위해 이 인수는 단일 수준 제공업체 목록일 수도 있습니다. 이 경우 요소가 하나인 외부 목록으로 래핑됩니다 (예: [A, B][[A, B]]를 의미함). 종속 항목 규칙이 provides 매개변수에 이러한 제공업체를 광고할 필요는 없지만 권장사항으로 간주됩니다.

for_dependency_resolution 기본값은 unbound
입니다. 이 값이 설정되면 속성은 materializer에서 사용할 수 있습니다. 이러한 속성을 통해 참조할 수 있는 규칙은 동일한 이름의 플래그로 표시된 규칙뿐입니다.
flags stringsequence입니다. 기본값은 []
입니다. 지원 중단되었으며 삭제될 예정입니다.
mandatory bool; default is False
If true, the value must be specified explicitly (even if it has a default).
cfg 기본값은 None
속성의 구성입니다. execution platform용으로 종속 항목이 빌드되었음을 나타내는 "exec" 또는 target platform용으로 종속 항목이 빌드되었음을 나타내는 "target"일 수 있습니다. 이러한 차이의 일반적인 예는 모바일 앱을 빌드할 때 target platformAndroid 또는 iOS인 반면 execution platformLinux, macOS 또는 Windows인 경우입니다.
aspects Aspectsequence입니다. 기본값은 []
입니다. 이 속성으로 지정된 종속 항목에 적용해야 하는 측면입니다.

string_list

Attribute attr.string_list(mandatory=False, allow_empty=True, *, configurable=unbound, default=[], doc=None)

문자열 목록 속성의 스키마를 만듭니다.

매개변수

매개변수 설명
mandatory bool; default is False
If true, the value must be specified explicitly (even if it has a default).
allow_empty bool; default is True
속성이 비어 있을 수 있는 경우 True입니다.
configurable bool 또는 바운드되지 않음. 기본값은 unbound
입니다. 이 인수는 심볼 매크로의 속성에만 지정할 수 있습니다.

configurable이 명시적으로 False로 설정된 경우, 기호 매크로 속성은 구성할 수 없습니다. 즉, select() 값을 사용할 수 없습니다. configurable가 바인딩되지 않았거나 명시적으로 True로 설정된 경우 속성은 구성 가능하며 select() 값을 사용할 수 있습니다.

규칙 또는 측면의 속성에 대해 configurable는 바인딩되지 않은 상태로 두어야 합니다. 대부분의 Starlark 규칙 속성은 항상 구성할 수 있지만 attr.output(), attr.output_list(), attr.license() 규칙 속성은 항상 구성할 수 없습니다.

default stringsequence 또는 NativeComputedDefault입니다. 기본값은 []
입니다. 규칙을 인스턴스화할 때 이 속성의 값이 제공되지 않는 경우 사용할 기본값입니다.
doc 문자열 또는 None; 기본값은 None
입니다. 문서 생성 도구로 추출할 수 있는 속성에 대한 설명입니다.

string_list_dict

Attribute attr.string_list_dict(allow_empty=True, *, configurable=unbound, default={}, doc=None, mandatory=False)

키가 문자열이고 값이 문자열 목록인 사전을 보유하는 속성의 스키마를 만듭니다.

매개변수

매개변수 설명
allow_empty bool; default is True
속성이 비어 있을 수 있는 경우 True입니다.
configurable bool 또는 바운드되지 않음. 기본값은 unbound
입니다. 이 인수는 심볼 매크로의 속성에만 지정할 수 있습니다.

configurable이 명시적으로 False로 설정된 경우, 기호 매크로 속성은 구성할 수 없습니다. 즉, select() 값을 사용할 수 없습니다. configurable가 바인딩되지 않았거나 명시적으로 True로 설정된 경우 속성은 구성 가능하며 select() 값을 사용할 수 있습니다.

규칙 또는 측면의 속성에 대해 configurable는 바인딩되지 않은 상태로 두어야 합니다. 대부분의 Starlark 규칙 속성은 항상 구성할 수 있지만 attr.output(), attr.output_list(), attr.license() 규칙 속성은 항상 구성할 수 없습니다.

default dict; default is {}
규칙을 인스턴스화할 때 이 속성의 값이 제공되지 않은 경우 사용할 기본값입니다.
doc 문자열 또는 None; 기본값은 None
입니다. 문서 생성 도구로 추출할 수 있는 속성에 대한 설명입니다.
mandatory bool; default is False
If true, the value must be specified explicitly (even if it has a default).