メンバー
Label
Label Label(label_string)BUILD ターゲットを参照するラベルを作成します。この関数は、ルールのラベル属性のデフォルト値を指定する場合、またはマクロの絶対ラベルを使用してターゲットを参照する場合に使用します。引数は絶対ラベルを参照する必要があります。ラベルのリポジトリ部分(またはその不在)は、この Label() 呼び出しが存在するリポジトリのコンテキストで解釈されます。例:
Label("//tools:default")
パラメータ
パラメータ | 説明 |
---|---|
label_string
|
必須 ラベル文字列。 |
名前
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 このラベルに基づいて解決されるラベル。 |
ワークスペース名
string Label.workspace_nameこのラベルのリポジトリ部分。次に例を示します。
Label("@foo//bar:baz").workspace_name == "foo"
ワークスペースの root
string Label.workspace_rootこのラベルのワークスペースの実行ルートを execroot に対する相対パスで返します。次に例を示します。
Label("@repo//pkg/foo:abc").workspace_root == "external/repo"