BUILD 타겟 식별자입니다.
모든 Label
인스턴스 l
의 경우 문자열 표현 str(l)
에는 Label()
호출이 발생한 위치와 관계없이 Label(str(l)) == l
속성이 있습니다.
회원
라벨
Label Label(input)호출
.bzl
소스 파일이 있는 패키지의 컨텍스트에서 라벨 문자열을 Label
객체로 변환합니다. 주어진 값이 이미 Label
인 경우 변경되지 않은 상태로 반환됩니다.매크로의 경우 관련 함수인 native.package_relative_label()
가 현재 빌드 중인 패키지의 컨텍스트에서 입력을 Label
로 변환합니다. 이 함수를 사용하여 라벨 값 규칙 속성에서 자동으로 실행되는 문자열-라벨 변환을 모방합니다.
매개변수
매개변수 | 설명 |
---|---|
input
|
string 또는 Label;
필수 입력 라벨 문자열 또는 Label 객체입니다. Label 객체가 전달되면 있는 그대로 반환됩니다. |
이름
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
|
required 이 라벨을 기준으로 확인되는 라벨입니다. |
workspace_name
string Label.workspace_name이 라벨의 저장소 부분입니다. 예를 들면
Label("@foo//bar:baz").workspace_name == "foo"
workspace_root
string Label.workspace_rootexecroot를 기준으로 이 라벨의 워크스페이스에 대한 실행 루트를 반환합니다. 예:
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"