라벨

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
빌드 대상 식별자입니다.

구성원

라벨

Label Label(label_string)

BUILD 대상을 참조하는 라벨을 만듭니다. 규칙의 라벨 속성에 대한 기본값을 부여하거나 매크로에서 절대 라벨을 통해 타겟을 참조할 때 이 함수를 사용하세요. 인수는 절대 라벨을 참조해야 합니다. 라벨의 저장소 부분 (또는 부재)은 이 Label() 호출이 표시되는 저장소의 컨텍스트로 해석됩니다. 예:
Label("//tools:default")

매개변수

매개변수 설명
label_string 필수
라벨 문자열입니다.

name

string Label.name

패키지 내의 라벨 이름입니다. 예:
Label("//pkg/foo:abc").name == "abc"

패키지

string Label.package

이 라벨의 패키지 부분입니다. 예:
Label("//pkg/foo:abc").package == "pkg/foo"

상대

Label Label.relative(relName)

절대 (//로 시작) 또는 현재 패키지를 기준으로 한 라벨을 결정합니다. 원격 저장소에 이 라벨이 있으면 이 저장소를 기준으로 인수가 확인됩니다. 인수에 저장소 이름이 포함되어 있으면 현재 라벨이 무시되고 인수가 그대로 반환됩니다. 단, 저장소 이름이 현재 저장소 매핑에 있는 경우 저장소 이름이 다시 작성됩니다. 예약된 라벨도 그대로 반환됩니다.
예:
Label("//foo/bar:baz").relative(":quux") == Label("//foo/bar:quux")
Label("//foo/bar:baz").relative("//wiz:quux") == Label("//wiz:quux")
Label("@repo//foo/bar:baz").relative("//wiz:quux") == Label("@repo//wiz:quux")
Label("@repo//foo/bar:baz").relative("//visibility:public") == Label("//visibility:public")
Label("@repo//foo/bar:baz").relative("@other//wiz:quux") == Label("@other//wiz:quux")

전달된 저장소 매핑이 {'@other' : '@remapped'}이면 다음과 같은 재매핑이 발생합니다.

Label("@repo//foo/bar:baz").relative("@other//wiz:quux") == Label("@remapped//wiz:quux")

매개변수

매개변수 설명
relName 필수
이 라벨을 기준으로 해결될 라벨입니다.

작업공간_이름

string Label.workspace_name

이 라벨의 저장소 부분입니다. 예:
Label("@foo//bar:baz").workspace_name == "foo"

작업공간_루트

string Label.workspace_root

execroot를 기준으로 이 라벨의 작업공간에 대한 실행 루트를 반환합니다. 예:
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"