メンバー
- all
- analysis_test_transition
- 任意
- archive_override
- aspect
- bazel_dep
- bind
- bool
- configuration_field
- depset
- dict
- dir
- 列挙
- exec_group
- fail
- float
- getattr
- git_override
- hasattr
- hash
- int
- len
- list
- local_path_override
- max
- min
- module
- module_extension
- multiple_version_override
- provider
- 範囲
- register_execution_platforms()
- register_execution_platforms(dev_dependency)
- register_toolchains()
- register_toolchains(dev_dependency)
- repository_rule
- repr
- reversed
- rule
- select
- single_version_override
- 並べ替え済み
- str
- tag_class
- tuple
- type
- use_extension
- use_repo
- visibility
- workspace
- zip
すべて
bool all(elements)すべての要素が True と評価された場合、またはコレクションが空の場合に true を返します。要素は、bool 関数を使用してブール値に変換されます。
all(["hello", 3, True]) == True all([-1, 0, 1]) == False
パラメータ
パラメータ | 説明 |
---|---|
elements
|
必須 文字列または要素のコレクション。 |
analysis_test_transition
transition analysis_test_transition(settings)
分析テストルールの依存関係に適用される構成の移行を作成します。この移行は、analysis_test = True
を含むルールの属性にのみ適用できます。このようなルールの機能は制限されているため(たとえば、依存関係ツリーのサイズに制限があるため)、この関数を使用して作成される遷移は、transition を使用して作成される遷移と比べて潜在的なスコープが限定されます。
この関数は主に、分析テスト フレームワークのコアライブラリを容易にするように設計されています。ベスト プラクティスについては、ドキュメント(またはその実装)をご覧ください。
パラメータ
パラメータ | 説明 |
---|---|
settings
|
required この構成の移行で設定される構成設定に関する情報を含む辞書。キーはビルド設定ラベルで、値は移行後の新しい値です。他の設定はすべて変更ありません。これを使用して、分析テストに合格するために設定する必要がある特定の構成設定を宣言します。 |
任意
bool any(elements)少なくとも 1 つの要素が True と評価された場合、true を返します。要素は、bool 関数を使用してブール値に変換されます。
any([-1, 0, 1]) == True any([False, 0, ""]) == False
パラメータ
パラメータ | 説明 |
---|---|
elements
|
必須 文字列または要素のコレクション。 |
archive_override
None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)この依存関係が、レジストリではなく、特定の場所にあるアーカイブ ファイル(zip、gzip など)に由来することを指定します。このディレクティブはルート モジュールでのみ有効になります。つまり、あるモジュールが他のユーザーによって依存関係として使用されている場合、そのモジュールのオーバーライドは無視されます。
パラメータ
パラメータ | 説明 |
---|---|
module_name
|
required このオーバーライドを適用する Bazel モジュール依存関係の名前。 |
urls
|
string; or Iterable of strings 、必須アーカイブの URL。http(s):// または file:// URL です。 |
integrity
|
default = '' アーカイブ ファイルの予想されるチェックサム(サブリソースの整合性形式)。 |
strip_prefix
|
default = '' 抽出されたファイルから削除するディレクトリ接頭辞。 |
patches
|
Iterable of strings ;
default = []このモジュールに適用するパッチファイルを指すラベルのリスト。パッチファイルは、最上位プロジェクトのソースツリーに存在している必要があります。これらはリストの順序で適用されます。 |
patch_cmds
|
Iterable of strings ;
default = []パッチ適用後に Linux/Macos に適用される Bash コマンドのシーケンス。 |
patch_strip
|
default = 0 Unix パッチの --strip 引数と同じです。 |
アスペクト
Aspect aspect(implementation, attr_aspects=[], attrs=None, required_providers=[], required_aspect_providers=[], provides=[], requires=[], fragments=[], host_fragments=[], toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, apply_to_generating_rules=False, exec_compatible_with=[], exec_groups=None)新しいアスペクトを作成します。この関数の結果は、グローバル値で保存する必要があります。詳細については、アスペクトの概要をご覧ください。
パラメータ
パラメータ | 説明 |
---|---|
implementation
|
required このアスペクトを実装する Starlark 関数。Target(アスペクトが適用されるターゲット)と ctx(ターゲットの作成元となるルール コンテキスト)の 2 つのパラメータを指定します。ターゲットの属性は 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]] は無効です。ネストされていないプロバイダのリストは、自動的に 1 つのプロバイダのリストを含むリストに変換されます。つまり、 ルール( |
required_aspect_providers
|
default = [] この属性を使用すると、他のアスペクトを検査できます。値は、個々のプロバイダまたはプロバイダのリストのいずれかを含むリストにする必要があります。両方を含めることはできません。たとえば、 [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] は有効な値ですが、[FooInfo, BarInfo, [BazInfo, QuxInfo]] は無効です。ネストされていないプロバイダのリストは、自動的に 1 つのプロバイダのリストを含むリストに変換されます。つまり、 このアスペクトに別のアスペクト( |
provides
|
default = [] 実装関数が返す必要があるプロバイダのリスト。 実装関数で、ここにリストされているいずれかのタイプのプロバイダが戻り値から除外されると、エラーになります。ただし、実装関数が、ここに記載されていない追加のプロバイダを返す場合があります。 リストの各要素は、 |
requires
|
sequence of Aspects ;
default = []このアスペクトの前に伝播する必要があるアスペクトのリスト。 |
fragments
|
sequence of strings ;
default = []ターゲット構成でアスペクトが必要とする構成フラグメントの名前のリスト。 |
host_fragments
|
sequence of strings ;
default = []ホスト構成でアスペクトが必要とする構成フラグメントの名前のリスト。 |
toolchains
|
sequence ;
default = []設定されている場合、このルールに必要なツールチェーンのセット。このリストには、String、Label、StarlarkToolchainTypeApi オブジェクトを任意の組み合わせで含めることができます。現在のプラットフォームを確認することでツールチェーンが検出され、 ctx.toolchain を介してルール実装に提供されます。
|
incompatible_use_toolchain_transition
|
default = False 非推奨。現在は使用されていないため、削除する必要があります。 |
doc
|
default = '' ドキュメント生成ツールで抽出できるアスペクトの説明。 |
apply_to_generating_rules
|
default = False true の場合、アスペクトは出力ファイルに適用されたときに、出力ファイルの生成ルールに適用されます。 たとえば、アスペクトが「deps」属性を通じて推移的に伝播され、ターゲットの「alpha」に適用されるとします。「alpha」に `deps = [':beta_output']` があり、`beta_output` がターゲットの `beta` の宣言された出力であるとします。「beta」は、ターゲットの `beta` の宣言された出力です。`beta` にターゲットの `charlie` が `deps_` の `deps` の 1 つとして含まれていると仮定します。 デフォルトは False です。 |
exec_compatible_with
|
sequence of strings ;
default = []この特徴のすべてのインスタンスに適用される実行プラットフォームの制約のリスト。 |
exec_groups
|
dict; or None ;
default = Noneexec_group s への実行グループ名(文字列)のディクショナリ。設定すると、アスペクトが単一インスタンス内の複数の実行プラットフォームでアクションを実行できます。詳細については、実行グループのドキュメントをご覧ください。 |
bazel_dep
None bazel_dep(name, version='', max_compatibility_level=-1, repo_name='', dev_dependency=False)別の Bazel モジュールへの直接的な依存関係を宣言します。
パラメータ
パラメータ | 説明 |
---|---|
name
|
required 直接依存関係として追加するモジュールの名前。 |
version
|
default = '' 直接依存関係として追加されるモジュールのバージョン。 |
max_compatibility_level
|
default = -1 直接依存関係として追加されるモジュールでサポートされる最大 compatibility_level 。モジュールのバージョンには、サポートされている最小の互換性レベルと、この属性が指定されていない場合の最大互換性レベルが含まれます。
|
repo_name
|
default = '' この依存関係を表す外部リポジトリの名前。これは、デフォルトでモジュールの名前です。 |
dev_dependency
|
default = False true の場合、現在のモジュールがルート モジュールでない場合、または「--ignore_dev_dependency」が有効になっている場合、この依存関係は無視されます。 |
bind
None bind(name, actual=None)
警告: bind()
の使用は推奨されません。バインドの削除を検討するには、問題と代替手段についての詳しい説明をご覧ください。
ターゲットに //external
パッケージのエイリアスを指定します。
パラメータ
パラメータ | 説明 |
---|---|
name
|
必須 エイリアス名として機能する「//external」のラベル |
actual
|
string; or None ;
default = Noneエイリアスを設定する実際のラベル |
bool
bool bool(x=False)ブール値のコンストラクタ。オブジェクトが
None
、False
、空の文字列(""
)、数値 0
、または空のコレクション(()
、[]
など)の場合は、False
を返します。それ以外の場合は、True
を返します。
パラメータ
パラメータ | 説明 |
---|---|
x
|
default = False 変換する変数。 |
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
|
required 遅延バインド値を含む構成フラグメントの名前。 |
name
|
required 構成フラグメントから取得する値の名前。 |
依存関係
depset depset(direct=None, order="default", *, transitive=None)depset を作成します。
direct
パラメータは、depset の直接要素のリストです。transitive
パラメータは、その要素が、作成されたデ pset の間接要素になる依存関係のリストです。depset をリストに変換する際に要素が返される順序は、order
パラメータで指定されます。詳細については、依存関係の概要をご覧ください。依存関係にあるすべての要素(直接要素と間接要素)は、式 type(x)
で取得される型と同じ型でなければなりません。
反復処理の際に重複を排除するためにハッシュベースのセットが使用されるため、depset のすべての要素をハッシュ可能にする必要があります。ただし、この不変条件は現在、すべてのコンストラクタで一貫してチェックされるわけではありません。整合性チェックを有効にするには、--compatible_always_check_depset_elements フラグを使用します。これは、今後のリリースではデフォルトの動作になります。問題 10313 をご覧ください。
また、要素は現在不変である必要がありますが、この制限は今後緩和される予定です。
作成された依存関係の順序は、transitive
依存関係の順序と互換性がある必要があります。"default"
の注文は他の注文と互換性があり、他のすべての注文はそれ自体にのみ対応しています。
下位互換性/上位互換性に関する注意事項。現在、この関数は位置 items
パラメータを受け入れます。これは非推奨で、今後削除される予定です。削除後は、direct
は depset
関数の唯一の位置パラメータになります。したがって、次の呼び出しはどちらも同等であり、将来にわたって保証されます。
depset(['a', 'b'], transitive = [...]) depset(direct = ['a', 'b'], transitive = [...])
パラメータ
パラメータ | 説明 |
---|---|
direct
|
sequence; or None ;
default = None依存関係の direct 要素のリスト。 |
order
|
default = "default" 新しい依存関係の走査戦略。設定可能な値については、こちらをご覧ください。 |
transitive
|
sequence of depsets; or None ;
default = None要素が depset の間接要素になる依存関係のリスト。 |
dict
dict dict(pairs=[], **kwargs)オプションの位置引数とキーワード引数のセット(省略可)から辞書を作成します。同じキーが複数回指定された場合は、最後の値が使用されます。キーワード引数で指定されたエントリは、位置引数で指定されたエントリより後であるとみなされます。
パラメータ
パラメータ | 説明 |
---|---|
pairs
|
default = [] 要素の長さが 2(キー、値)である辞書またはイテラブル。 |
kwargs
|
required 追加エントリの辞書。 |
dir
list dir(x)文字列のリスト(パラメータ オブジェクトの属性とメソッドの名前)を返します。
パラメータ
パラメータ | 説明 |
---|---|
x
|
必須 確認するオブジェクト。 |
列挙
list enumerate(list, start=0)インデックス(int)と入力シーケンスのアイテムを含むペア(2 要素タプル)のリストを返します。
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]
パラメータ
パラメータ | 説明 |
---|---|
list
|
必要な 入力シーケンス。 |
start
|
default = 0 開始インデックス。 |
exec_group
exec_group exec_group(toolchains=[], exec_compatible_with=[], copy_from_rule=False)ルールの実装中に特定の実行プラットフォーム用のアクションの作成に使用できる実行グループを作成します。
パラメータ
パラメータ | 説明 |
---|---|
toolchains
|
sequence ;
default = []この実行グループに必要なツールチェーンのセット。このリストには、String、Label、StarlarkToolchainTypeApi オブジェクトを任意の組み合わせで含めることができます。 |
exec_compatible_with
|
sequence of strings ;
default = []実行プラットフォームの制約のリスト。 |
copy_from_rule
|
default = False true に設定すると、この exec グループは、このグループが接続されているルールのツールチェーンと制約を継承します。他の文字列に設定すると、エラーがスローされます。 |
fail
None fail(msg=None, attr=None, *args)実行がエラーで失敗します。
パラメータ
パラメータ | 説明 |
---|---|
msg
|
default = None 非推奨: 代わりに位置引数を使用してください。この引数は、暗黙的な先頭の位置引数として機能します。 |
attr
|
string; or None ;
default = None非推奨。この文字列を含むオプションの接頭辞がエラー メッセージに追加されます。 |
args
|
必須 debugPrint(デフォルトでは str と同等)でフォーマットされ、スペースで結合された、エラー メッセージに表示される値のリスト。 |
float
float float(x=unbound)x を浮動小数点値として返します。
x
がすでに浮動小数点数の場合、float
は変更せずに返します。x
がブール値の場合、float
は True に対して 1.0、False に対して 0.0 を返します。x
が int の場合、float
は x に最も近い有限浮動小数点値を返し、大きさが大きすぎる場合はエラーを返します。x
が文字列の場合は、有効な浮動小数点リテラルであるか、NaN
、Inf
、またはInfinity
と等しい(大文字と小文字を区別しない)必要があります。オプションで、前に+
または-
記号を付けることもできます。
float()
は 0.0 を返します。
パラメータ
パラメータ | 説明 |
---|---|
x
|
default = unbound 変換する値。 |
Getattr
unknown getattr(x, name, default=unbound)指定された名前の構造体のフィールドが存在する場合は、それを返します。そうでない場合は、
default
が返されるか(指定されている場合)、エラーが発生します。getattr(x, "foobar")
は x.foobar
と同等です。getattr(ctx.attr, "myattr") getattr(ctx.attr, "myattr", "mydefault")
パラメータ
パラメータ | 説明 |
---|---|
x
|
required 属性にアクセスする構造体。 |
name
|
required 構造体属性の名前。 |
default
|
default = unbound 構造体に指定された名前の属性がない場合に返されるデフォルト値。 |
git_override
None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)Git リポジトリの特定の commit から依存関係を取得することを指定します。このディレクティブはルート モジュールでのみ有効になります。つまり、あるモジュールが他のユーザーによって依存関係として使用されている場合、そのモジュールのオーバーライドは無視されます。
パラメータ
パラメータ | 説明 |
---|---|
module_name
|
required このオーバーライドを適用する Bazel モジュール依存関係の名前。 |
remote
|
required リモート Git リポジトリの URL。 |
commit
|
default = '' チェックアウトする commit。 |
patches
|
Iterable of strings ;
default = []このモジュールに適用するパッチファイルを指すラベルのリスト。パッチファイルは、最上位プロジェクトのソースツリーに存在している必要があります。これらはリストの順序で適用されます。 |
patch_cmds
|
Iterable of strings ;
default = []パッチ適用後に Linux/Macos に適用される Bash コマンドのシーケンス。 |
patch_strip
|
default = 0 Unix パッチの --strip 引数と同じです。 |
Hasattr
bool hasattr(x, name)オブジェクト
x
に指定された name
の属性またはメソッドがある場合は true を返します。それ以外の場合は False を返します。例:hasattr(ctx.attr, "myattr")
パラメータ
パラメータ | 説明 |
---|---|
x
|
必須 確認するオブジェクト。 |
name
|
required 属性の名前。 |
ハッシュ
int hash(value)文字列のハッシュ値を返します。これは、Java の
String.hashCode()
と同じアルゴリズムを使用して決定論的に計算されます。つまり、次のように計算されます。 s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]文字列以外の値のハッシュ化は現在サポートされていません。
パラメータ
パラメータ | 説明 |
---|---|
value
|
必須 ハッシュする文字列値。 |
int
int int(x, base=unbound)x を int 値として返します。
x
がすでに int の場合、int
はそれを変更せずに返します。x
がブール値の場合、int
は True に対して 1、False に対して 0 を返します。x
が文字列の場合は、<sign><prefix><digits>
の形式にする必要があります。<sign>
は、"+"
、"-"
、または空(正と解釈される)のいずれかです。<digits>
は 0 からbase
- 1 までの数字のシーケンスで、文字 a ~ z(または同等の A ~ Z)が 10 ~ 35 の数字として使用されます。base
が 2/8/16 の場合、<prefix>
は省略可能で、それぞれ 0b/0o/0x(または同等の 0B/0O/0X)を指定できます。base
がこれらのベース以外の値または特別な値 0 の場合、プレフィックスは空にする必要があります。base
が 0 の場合、使用されているプレフィックスに応じて、底 2/8/10/16 のいずれかが選択されるという意味で、文字列は整数リテラルとして解釈されます。base
が 0 で、接頭辞は使用されず、2 桁以上ある場合、先頭の数字を 0 にすることはできません。これは、8 進数と 10 進数の混同を避けるためです。文字列で表される数値の大きさは、int 型で許容される範囲内になければなりません。x
が浮動小数点数の場合、int
は 0 に丸めた浮動小数点数の整数値を返します。x が非有限(NaN または無限大)の場合はエラーになります。
x
が他の型の場合、または値が上記の形式の要件を満たしていない文字列の場合、この関数は失敗します。Python の int
関数とは異なり、この関数はゼロ引数を指定できず、文字列引数に余分な空白は使用できません。例:
int("123") == 123 int("-123") == -123 int("+123") == 123 int("FF", 16) == 255 int("0xFF", 16) == 255 int("10", 0) == 10 int("-0x10", 0) == -16 int("-0x10", 0) == -16 int("123.456") == 123
パラメータ
パラメータ | 説明 |
---|---|
x
|
required 変換する文字列。 |
base
|
default = unbound 文字列値の解釈に使用されるベース。デフォルトは 10 です。2 ~ 36 の値を指定するか、 x が整数リテラルであるかのように基本を検出するには 0 を指定する必要があります。値が文字列でない場合、このパラメータは指定できません。 |
len
int len(x)文字列、シーケンス(リストやタプルなど)、辞書、その他のイテラブルの長さを返します。
パラメータ
パラメータ | 説明 |
---|---|
x
|
required 報告する長さの値。 |
list
list list(x=[])指定されたイテラブル値と同じ要素を持つ新しいリストを返します。
list([1, 2]) == [1, 2] list((2, 3, 2)) == [2, 3, 2] list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]
パラメータ
パラメータ | 説明 |
---|---|
x
|
default = [] 変換するオブジェクト。 |
local_path_override
None local_path_override(module_name, path)ローカル ディスクの特定のディレクトリから依存関係を取得することを指定します。このディレクティブはルート モジュールでのみ有効になります。つまり、あるモジュールが他のユーザーによって依存関係として使用されている場合、そのモジュールのオーバーライドは無視されます。
パラメータ
パラメータ | 説明 |
---|---|
module_name
|
required このオーバーライドを適用する Bazel モジュール依存関係の名前。 |
path
|
required このモジュールが存在するディレクトリのパス。 |
max
unknown max(*args)指定されたすべての引数のうち、最も大きい 1 つを返します。引数を 1 つだけ指定する場合は、空でない iterable にする必要があります。要素が比較可能でない場合(int と string など)や、引数を指定しない場合はエラーになります。
max(2, 5, 4) == 5 max([5, 6, 3]) == 6
パラメータ
パラメータ | 説明 |
---|---|
args
|
required チェックする要素。 |
分
unknown min(*args)指定されたすべての引数のうち、小さい方を返します。引数を 1 つだけ指定する場合は、空でないイテラブルにする必要があります。要素を比較できない場合(int と string など)や、引数を指定しない場合はエラーになります。
min(2, 5, 4) == 2 min([5, 6, 3]) == 3
パラメータ
パラメータ | 説明 |
---|---|
args
|
required チェックする要素。 |
モジュール
None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])現在の Bazel リポジトリで表される Bazel モジュールの特定のプロパティを宣言します。これらのプロパティは、モジュールの重要なメタデータ(名前やバージョンなど)であるか、現在のモジュールとその依存先の動作に影響を与えます。
最大 1 回呼び出す必要があります。このモジュールがルート モジュールである場合にのみ省略できます(別のモジュールから依存しない場合は、のように)。
パラメータ
パラメータ | 説明 |
---|---|
name
|
default = '' モジュールの名前。このモジュールがルート モジュールである場合にのみ省略できます(別のモジュールに依存しない場合は、のように)。有効なモジュール名には、1)小文字(a ~ z)、数字(0 ~ 9)、ドット(.)、ハイフン(-)、アンダースコア(_)のみを使用し、2)小文字で始める、3)小文字または数字で終わる必要があります。 |
version
|
default = '' モジュールのバージョン。このモジュールがルート モジュールである場合にのみ省略できます(別のモジュールから依存しない場合は、のように)。 |
compatibility_level
|
default = 0 モジュールの互換性レベル。これは、互換性のない大きな変更が行われるたびに変更する必要があります。SemVer の観点から見て、これは基本的にモジュールの「メジャー バージョン」です。ただし、バージョン文字列自体には埋め込まれず、別のフィールドとして存在します。互換性レベルが異なるモジュールは、あたかも名前の異なるモジュールであるかのようにバージョン解決に関与します。ただし、最終的な依存関係グラフには、名前が同じで互換性レベルが異なるモジュールを複数含めることはできません( multiple_version_override が有効である場合を除きます。詳細についてはこちらをご覧ください)。 |
repo_name
|
default = '' モジュール自体に表示される、このモジュールを表すリポジトリの名前。デフォルトでは、リポジトリの名前はモジュールの名前です。これは、モジュール名とは異なるリポジトリ名を使用しているプロジェクトの移行を容易にするために指定できます。 |
bazel_compatibility
|
Iterable of strings ;
default = []このモジュールと互換性のある Bazel バージョンをユーザーが宣言できる bazel バージョンのリスト。依存関係の解決には影響しませんが、bzlmod はこの情報を使用して現在の Bazel バージョンに互換性があるかどうかを確認します。この値の形式は、いくつかの制約値をカンマで区切った文字列です。次の 3 つの制約がサポートされています。<=X.X.X: Bazel のバージョンは X.X.X 以上である必要があります。新しいバージョンに互換性のない既知の変更がある場合に使用します。>=X.X.X: Bazel のバージョンは X.X.X 以降にする必要があります。X.X.X 以降でのみ使用できる機能に依存している場合は Used。-X.X.X: Bazel バージョン X.X.X には互換性がありません。X.X.X に互換性の問題があるバグがある場合に使用します。ただし、新しいバージョンで修正されます。 |
module_extension
unknown module_extension(implementation, *, tag_classes={}, doc='', environ=[], os_dependent=False, arch_dependent=False)新しいモジュール拡張機能を作成します。グローバル値で保存し、エクスポートして MODULE.bazel ファイルで使用できるようにします。
パラメータ
パラメータ | 説明 |
---|---|
implementation
|
required このモジュール拡張機能を実装する関数。 module_ctx の 1 つのパラメータを指定する必要があります。この関数はビルドの開始時に 1 回呼び出され、使用可能なリポジトリのセットが決定されます。 |
tag_classes
|
default = {} 拡張機能で使用するすべてのタグクラスを宣言する辞書。タグクラスの名前から tag_class オブジェクトにマッピングされます。 |
doc
|
default = '' ドキュメント生成ツールで抽出できるモジュール拡張機能の説明。 |
environ
|
sequence of strings ;
default = []このモジュール拡張機能が依存する環境変数のリストを提供します。そのリスト内の環境変数が変更されると、拡張機能が再評価されます。 |
os_dependent
|
default = False この拡張機能が OS に依存するかどうかを示します。 |
arch_dependent
|
default = False この拡張機能がアーキテクチャに依存しているかどうかを示します。 |
multiple_version_override
None multiple_version_override(module_name, versions, registry='')依存関係をレジストリから取得することを指定しますが、複数のバージョンの共存を許可する必要があります。詳しくは、こちらのドキュメントをご覧ください。このディレクティブはルート モジュールでのみ有効になります。つまり、あるモジュールが他のユーザーによって依存関係として使用されている場合、そのモジュールのオーバーライドは無視されます。
パラメータ
パラメータ | 説明 |
---|---|
module_name
|
required このオーバーライドを適用する Bazel モジュール依存関係の名前。 |
versions
|
Iterable of strings 、必須共存を許可するバージョンを明示的に指定します。これらのバージョンは、依存関係グラフの事前選択にすでに存在している必要があります。このモジュールへの依存関係は、同じ互換性レベルで許可された、最も近い上位のバージョンに「アップグレード」されます。一方、同じ互換性レベルで許可されているバージョンよりも高いバージョンの依存関係は、エラーになります。 |
registry
|
default = '' このモジュールのレジストリをオーバーライドします。レジストリのデフォルト リストからこのモジュールを見つける代わりに、指定されたレジストリを使用する必要があります。 |
プリント
None print(sep=" ", *args)
args
をデバッグ出力として出力します。先頭に、文字列 "DEBUG"
と、この呼び出しの場所(ファイルと行番号)が付加されます。引数が文字列に変換される厳密な方法は規定されておらず、いつでも変更される可能性があります。特に、str()
や repr()
による書式設定とは異なる(より詳細に)なる場合があります。print
を本番環境コードで使用することは、ユーザーに迷惑メールが生成されるため、おすすめしません。非推奨のため、可能な限り fail()
を使用してハードエラーを使用することをおすすめします。
パラメータ
パラメータ | 説明 |
---|---|
sep
|
default = " " オブジェクト間の区切り文字。デフォルトはスペース(" ")です。 |
args
|
必須 出力するオブジェクト。 |
provider
unknown provider(doc='', *, 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
が指定されている場合は、2 つの要素のタプルを返します。1 つは Provider
の呼び出し可能値、もう 1 つは未加工のコンストラクタの呼び出し可能値です。詳細については、ルール(カスタム プロバイダのカスタム初期化)と以下の init
パラメータの説明をご覧ください。
パラメータ
パラメータ | 説明 |
---|---|
doc
|
default = '' ドキュメント生成ツールで抽出できるプロバイダの説明。 |
fields
|
sequence of strings; or dict; or None ;
default = None指定すると、使用できるフィールドのセットが制限されます。 有効な値は次のとおりです。
|
init
|
callable; or None ;
default = Noneインスタンス化中にプロバイダのフィールド値の前処理と検証を行うオプションのコールバック。 init が指定された場合、provider() は 2 つの要素(通常のプロバイダ シンボルと未加工のコンストラクタ)のタプルを返します。以下に詳しく説明します。直感的な説明とユースケースについては、ルール(プロバイダのカスタム初期化)をご覧ください。
init コールバックが指定されていない場合、シンボル P 自体の呼び出しは、デフォルト コンストラクタ関数 c の呼び出しとして機能します。つまり、P(*args, **kwargs) は c(*args, **kwargs) を返します。たとえば、MyInfo = provider() m = MyInfo(foo = 1)を使用すると、簡単に m が m.foo == 1 を持つ MyInfo インスタンスになります。ただし、
注: 上記の手順は、 このように、
MyInfo, _new_myinfo = provider(init = ...) |
範囲
sequence range(start_or_stop, stop_or_none=None, step=1)
step
の増分を使用して、項目が start
から stop
に移動するリストを作成します。引数が 1 つだけの場合、アイテムの範囲は 0 からその要素までです。range(4) == [0, 1, 2, 3] range(3, 9, 2) == [3, 5, 7] range(3, 0, -1) == [3, 2, 1]
パラメータ
パラメータ | 説明 |
---|---|
start_or_stop
|
必須 停車地が指定されている場合は開始要素の値。それ以外の場合は、停車地と実際の開始値は 0 です |
stop_or_none
|
int; or None ;
default = None結果のリストに含めない最初のアイテムのインデックス(省略可能)。リストの生成は、 stop に達する前に停止します。
|
step
|
default = 1 増分(デフォルトは 1)。負の場合もあります。 |
register_execution_platforms()
None register_execution_platforms(*platform_labels)定義済みのプラットフォームを登録して、ツールチェーンの解決時に Bazel がそれを実行プラットフォームとして使用できるようにします。
パラメータ
パラメータ | 説明 |
---|---|
platform_labels
|
sequence of strings 、必須登録するプラットフォームのラベル。 |
register_execution_platforms(dev_dependency)
None register_execution_platforms(dev_dependency=False, *platform_labels)このモジュールの選択時に登録する、すでに定義された実行プラットフォームを指定します。絶対ターゲット パターン(
@
または //
で始まる)にする必要があります。詳しくは、ツールチェーンの解決をご覧ください。
パラメータ
パラメータ | 説明 |
---|---|
dev_dependency
|
default = False true の場合、現在のモジュールがルート モジュールでない場合、または「--ignore_dev_dependency」が有効になっている場合、実行プラットフォームは登録されません。 |
platform_labels
|
sequence of strings 、必須登録するプラットフォームのラベル。 |
register_toolchains()
None register_toolchains(*toolchain_labels)定義済みのツールチェーンを登録して、ツールチェーンの解決時に Bazel で使用できるようにします。ツールチェーンの定義と登録の例をご覧ください。
パラメータ
パラメータ | 説明 |
---|---|
toolchain_labels
|
sequence of strings 、必須登録するツールチェーンのラベル。 |
register_toolchains(dev_dependency)
None register_toolchains(dev_dependency=False, *toolchain_labels)このモジュールの選択時に登録する定義済みツールチェーンを指定します。絶対ターゲット パターン(
@
または //
で始まる)にする必要があります。詳しくは、ツールチェーンの解決をご覧ください。
パラメータ
パラメータ | 説明 |
---|---|
dev_dependency
|
default = False true の場合、現在のモジュールがルート モジュールでない場合、または「--ignore_dev_dependency」が有効になっている場合、ツールチェーンは登録されません。 |
toolchain_labels
|
sequence of strings 、必須登録するツールチェーンのラベル。 |
repository_rule
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')新しいリポジトリ ルールを作成します。WORKSPACE ファイルから読み込んで呼び出せるように、グローバル値で格納します。
パラメータ
パラメータ | 説明 |
---|---|
implementation
|
required このルールを実装する関数。 repository_ctx パラメータは 1 つだけ必要です。この関数は、ルールのインスタンスごとに読み込みフェーズで呼び出されます。 |
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 = '' ドキュメント生成ツールで抽出できるリポジトリ ルールの説明。 |
再生
string repr(x)任意のオブジェクトを文字列表現に変換します。これはデバッグに役立ちます。
repr("ab") == '"ab"'
パラメータ
パラメータ | 説明 |
---|---|
x
|
必須 変換するオブジェクト。 |
反転
list reversed(sequence)元の反復可能シーケンスの要素を逆順に含む、固定されていない新しいリストを返します。
reversed([3, 5, 4]) == [4, 5, 3]
パラメータ
パラメータ | 説明 |
---|---|
sequence
|
required 反転する反復可能なシーケンス(リストなど)。 |
ルール
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='', *, 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 という 1 つのパラメータのみを指定する必要があります。この関数は、ルールのインスタンスごとに分析フェーズで呼び出されます。ユーザーが指定した属性にアクセスできます。宣言されたすべての出力を生成するアクションを作成する必要があります。 |
test
|
default = False このルールがテストルールであるかどうか、つまり blaze test コマンドの対象かどうか。すべてのテストルールは、自動的に実行可能とみなされます。テストルールに executable = True を明示的に設定する必要はありません(推奨されません)。詳細については、 ルールページをご覧ください。 |
attrs
|
dict; or None ;
default = Noneルールのすべての属性を宣言する辞書。属性名から属性オブジェクトにマッピングされます(attr モジュールを参照)。 _ で始まる属性は非公開であり、これを使用してラベルに暗黙的な依存関係を追加できます。属性 name は暗黙的に追加され、指定することはできません。属性 visibility 、deprecation 、tags 、testonly 、features は暗黙的に追加され、オーバーライドできません。ほとんどのルールで必要な属性の数は多くありません。メモリ使用量を制限するために、ルール関数は attrs のサイズに上限を設けています。 |
outputs
|
dict; or None; or function ;
default = None非推奨。このパラメータはサポートが終了しており、まもなく削除されます。これに頼らないでください。 ---incompatible_no_rule_outputs_param で無効になります。このフラグを使用して、差し迫った削除とコードとの互換性があることを確認します。このパラメータは非推奨になりました。代わりに OutputGroupInfo または attr.output を使用するようにルールを移行してください。事前に宣言された出力を定義するためのスキーマ。 この引数の値には、辞書、または辞書を生成するコールバック関数を指定します。コールバックは計算された依存関係属性と同様に機能します。関数のパラメータ名はルールの属性と照合されます。たとえば、定義 辞書の各エントリは事前に宣言された出力を作成します。キーは識別子、値は出力のラベルを決定する文字列テンプレートです。ルールの実装関数では、この識別子が
実際には、最も一般的な置換プレースホルダは |
executable
|
default = 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
|
default = False (試験運用版) true の場合、このルールは、Actions プロバイダを介して、そのアクションに依存するルールによる検査用にアクションを公開します。プロバイダをルール自体で使用するには、ctx.created_actions() を呼び出します。 これは、Starlark ルールの分析時の動作をテストする場合にのみ使用してください。このフラグは今後削除される可能性があります。 |
toolchains
|
sequence ;
default = []設定されている場合、このルールに必要なツールチェーンのセット。このリストには、String、Label、StarlarkToolchainTypeApi オブジェクトを任意の組み合わせで含めることができます。現在のプラットフォームを確認することでツールチェーンが検出され、 ctx.toolchain を介してルール実装に提供されます。
|
incompatible_use_toolchain_transition
|
default = False 非推奨。現在は使用されていないため、削除する必要があります。 |
doc
|
default = '' ドキュメント生成ツールで抽出できるルールの説明。 |
provides
|
default = [] 実装関数が返す必要があるプロバイダのリスト。 実装関数で、ここにリストされているいずれかのタイプのプロバイダが戻り値から除外されると、エラーになります。ただし、実装関数が、ここに記載されていない追加のプロバイダを返す場合があります。 リストの各要素は、 |
exec_compatible_with
|
sequence of strings ;
default = []このルールタイプのすべてのターゲットに適用される、実行プラットフォームの制約のリスト。 |
analysis_test
|
default = False true の場合、このルールは分析テストとして扱われます。 注: 分析テストルールは、主に Starlark コアライブラリで提供されるインフラストラクチャを使用して定義されます。詳しくは、テストをご覧ください。 ルールを分析テストルールとして定義した場合、属性で analysis_test_transition を使用して定義された構成移行を使用できますが、いくつかの制限が適用されます。
|
build_setting
|
BuildSetting; or None ;
default = None設定されている場合、このルールの build setting の種類を表します。config モジュールをご覧ください。これが設定されている場合、「build_setting_default」という名前の必須属性が、ここで渡された値に対応するタイプでこのルールに自動的に追加されます。
|
cfg
|
default = なし 設定すると、分析前にルールが独自の構成に適用される構成の遷移を示します。 |
exec_groups
|
dict; or None ;
default = Noneexec_group s への実行グループ名(文字列)のディクショナリ。設定すると、ルールが 1 つのターゲット内の複数の実行プラットフォームでアクションを実行することを許可します。詳細については、実行グループのドキュメントをご覧ください。 |
compile_one_filetype
|
sequence of strings; or None ;
default = None--compile_one_dependency で使用されます。複数のルールが指定されたファイルを使用する場合、他のルールではなくこのルールを選択します。 |
name
|
string; or None ;
default = None非推奨。このパラメータはサポートが終了しており、まもなく削除されます。これに頼らないでください。 --+incompatible_remove_rule_name_parameter で無効になります。このフラグを使用して、差し迫った削除とコードとの互換性があることを確認します。非推奨: 使用しないでください。 このルールの名前。Bazel で認識され、ロギング、 このパラメータを省略すると、ルールの名前は、宣言している .bzl モジュール内でこのルールにバインドされる最初の Starlark グローバル変数の名前に設定されます。したがって、名前が ルールに明示的な名前を指定しても、ルールをインスタンス化できる場所は変わりません。 |
select
unknown select(x, no_match_error='')
select()
は、ルール属性を構成可能にするヘルパー関数です。詳細については、ビルドの百科事典をご覧ください。
パラメータ
パラメータ | 説明 |
---|---|
x
|
required 構成条件を値にマッピングする辞書。各キーは、config_setting または constraint_value インスタンスを識別するラベルまたはラベル文字列です。文字列の代わりにラベルを使用するタイミングについては、マクロに関するドキュメントをご覧ください。 |
no_match_error
|
default = '' 条件の一致がない場合に報告するカスタムエラー(省略可)。 |
single_version_override
None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)依存関係をレジストリから取得することを指定しますが、バージョンを固定するか、レジストリをオーバーライドするか、適用するパッチのリストを指定します。このディレクティブはルート モジュールでのみ有効になります。つまり、あるモジュールが他のユーザーによって依存関係として使用されている場合、そのモジュールのオーバーライドは無視されます。
パラメータ
パラメータ | 説明 |
---|---|
module_name
|
required このオーバーライドを適用する Bazel モジュール依存関係の名前。 |
version
|
default = '' 依存関係グラフでこのモジュールの宣言されたバージョンをオーバーライドします。つまり、このモジュールはこのオーバーライド バージョンに「固定」されます。レジストリまたはパッチのみをオーバーライドする場合、この属性は省略できます。 |
registry
|
default = '' このモジュールのレジストリをオーバーライドします。レジストリのデフォルト リストからこのモジュールを見つける代わりに、指定されたレジストリを使用する必要があります。 |
patches
|
Iterable of strings ;
default = []このモジュールに適用するパッチファイルを指すラベルのリスト。パッチファイルは、最上位プロジェクトのソースツリーに存在している必要があります。これらはリストの順序で適用されます。 |
patch_cmds
|
Iterable of strings ;
default = []パッチ適用後に Linux/Macos に適用される Bash コマンドのシーケンス。 |
patch_strip
|
default = 0 Unix パッチの --strip 引数と同じです。 |
並べ替え済み
list sorted(iterable, *, key=None, reverse=False)指定された反復可能なシーケンスのすべての要素を含む、並べ替えられた新しいリストを返します。要素 x と y のいずれかのペアが x < y を使用して比較されない場合、エラーが発生することがあります。要素は昇順で並べ替えられます。ただし、reverse 引数が True の場合は、降順となります。 並べ替えが安定しています。等しい要素の場合、元の相対的な順序が保持されます。
sorted([3, 5, 4]) == [3, 4, 5]
パラメータ
パラメータ | 説明 |
---|---|
iterable
|
required 並べ替える反復可能なシーケンス。 |
key
|
default = None 比較の前に各要素に適用されるオプションの関数。 |
reverse
|
default = False 結果は降順で返されます。 |
str
string str(x)任意のオブジェクトを文字列に変換します。これはデバッグに役立ちます。
str("ab") == "ab" str(8) == "8"
パラメータ
パラメータ | 説明 |
---|---|
x
|
必須 変換するオブジェクト。 |
tag_class
tag_class tag_class(attrs={}, *, doc='')新しい tag_class オブジェクトを作成します。これは、タグのクラス(モジュール拡張機能で使用可能なデータ オブジェクト)の属性スキーマを定義します。
パラメータ
パラメータ | 説明 |
---|---|
attrs
|
default = {} このタグクラスのすべての属性を宣言する辞書。属性名から属性オブジェクトにマッピングされます(attr モジュールを参照)。 |
doc
|
default = '' ドキュメント生成ツールで抽出できるタグクラスの説明。 |
tuple
tuple tuple(x=())指定されたイテラブル値と同じ要素を持つタプルを返します。
tuple([1, 2]) == (1, 2) tuple((2, 3, 2)) == (2, 3, 2) tuple({5: "a", 2: "b", 4: "c"}) == (5, 2, 4)
パラメータ
パラメータ | 説明 |
---|---|
x
|
default = () 変換するオブジェクト。 |
type
string type(x)引数の型名を返します。これはデバッグや型チェックに役立ちます。例:
type(2) == "int" type([1]) == "list" type(struct(a = 2)) == "struct"この関数は将来変更される可能性があります。Python 互換コードを記述し、将来を見据えたものにするには、戻り値の比較にのみ使用する必要があります。
if type(x) == type([]): # if x is a list
パラメータ
パラメータ | 説明 |
---|---|
x
|
必須 確認するオブジェクトのタイプ。 |
use_extension
module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False, isolate=False)モジュール拡張機能を表すプロキシ オブジェクトを返します。そのメソッドを呼び出すと、モジュール拡張タグを作成できます。
パラメータ
パラメータ | 説明 |
---|---|
extension_bzl_file
|
必須 モジュール拡張子を定義する Starlark ファイルのラベル。 |
extension_name
|
required 使用するモジュール拡張機能の名前。この名前のシンボルは、Starlark ファイルでエクスポートする必要があります。 |
dev_dependency
|
default = False true の場合、現在のモジュールがルート モジュールでない場合、または「--ignore_dev_dependency」が有効になっている場合、モジュール拡張機能の使用は無視されます。 |
isolate
|
default = False 試験運用版。このパラメータは試験運用中であり、いつでも変更される可能性があります。これに頼らないでください。 ---experimental_isolated_extension_usages を設定することで、試験運用版で有効にできます。true の場合、モジュール拡張機能のこの使用は、このモジュールと他のモジュールの両方での他のすべての用途から分離されます。この用途用に作成されたタグは、他の用途には影響せず、この用途用に拡張機能によって生成されたリポジトリは、拡張機能によって生成された他のすべてのリポジトリとは区別されます。 このパラメータは現在試験運用版で、 |
use_repo
None use_repo(extension_proxy, *args, **kwargs)指定されたモジュール拡張機能によって生成された 1 つ以上のリポジトリを現在のモジュールのスコープにインポートします。
パラメータ
パラメータ | 説明 |
---|---|
extension_proxy
|
必須use_extension 呼び出しによって返されるモジュール拡張プロキシ オブジェクト。 |
args
|
required インポートするリポジトリの名前。 |
kwargs
|
required 現在のモジュールのスコープにインポートする特定のリポジトリを、別の名前で指定します。キーは現在のスコープで使用する名前にする必要がありますが、値はモジュール拡張機能によってエクスポートされた元の名前にする必要があります。 |
visibility
None visibility(value)
現在初期化されている .bzl モジュールの読み込みの可視性を設定します。
モジュールの負荷の可視性は、他の BUILD ファイルや .bzl ファイルによるモジュールの読み込みを許可するかどうかを制御します。(これは、ファイルが他のターゲットの依存関係として表示されるかどうかを制御する、基盤となる .bzl ソースファイルのターゲットの公開設定とは異なります)。読み込みの可視性はパッケージ レベルで機能します。モジュールを読み込むには、読み込みを行うファイルは、そのモジュールに対する可視性が付与されたパッケージ内に存在している必要があります。モジュールは、その可視性に関係なく、常に独自のパッケージ内で読み込むことができます。
visibility()
は、.bzl ファイルごとに 1 回だけ、トップレベルでのみ呼び出すことができます。関数内では呼び出せません。この呼び出しは、load()
ステートメントと、引数を決定するために必要な簡単なロジックのすぐ下に置くことをおすすめします。
フラグ --check_bzl_visibility
が false に設定されている場合、負荷の可視性の違反は警告を出力しますが、ビルドは失敗しません。
パラメータ
パラメータ | 説明 |
---|---|
value
|
必須 パッケージ仕様文字列のリスト、または単一のパッケージ仕様文字列。 パッケージ指定の形式は
「@」構文は使用できません。すべての仕様は、現在のモジュールのリポジトリを基準として解釈されます。
|
ワークスペース
None workspace(name)
この関数は WORKSPACE
ファイル内でのみ使用できます。また、WORKSPACE
ファイル内の他のすべての関数の前に宣言する必要があります。各 WORKSPACE
ファイルには workspace
関数が必要です。
このワークスペースの名前を設定します。ワークスペース名は、プロジェクトの Java パッケージ スタイルの説明にし、区切りにはアンダースコアを使用します。たとえば、github.com/bazelbuild/bazel の場合は、com_github_bazelbuild_bazel を使用する必要があります。
この名前は、リポジトリの実行ファイルが格納されているディレクトリに使用されます。たとえば、ローカル リポジトリに実行ファイル foo/bar
があり、WORKSPACE ファイルに workspace(name = 'baz')
が含まれている場合、その実行ファイルは mytarget.runfiles/baz/foo/bar
で使用できます。ワークスペース名が指定されていない場合、実行ファイルは bar.runfiles/foo/bar
にシンボリック リンクされます。
リモート リポジトリ ルール名は有効なワークスペース名にする必要があります。たとえば、Bazel は workspace(name = 'foo%bar')
を含む maven_jar
の WORKSPACE ファイルを書き込もうとするため、maven_jar(name = 'foo')
を使用し、maven_jar(name = 'foo%bar')
は指定しないようにできます。
パラメータ
パラメータ | 説明 |
---|---|
name
|
必須 ワークスペースの名前。名前は、先頭を英字にする必要があり、英字、数字、アンダースコア、ダッシュ、ドットのみを使用できます。 |
zip
list zip(*args)
tuple
の list
を返します。i 番目のタプルには、各引数シーケンスまたはイテラブルの i 番目の要素が含まれます。リストには最も短い入力のサイズがあります。イテラブル引数が 1 つの場合は、1 タプルのリストを返します。引数がない場合は、空のリストを返します。例:zip() # == [] zip([1, 2]) # == [(1,), (2,)] zip([1, 2], [3, 4]) # == [(1, 3), (2, 4)] zip([1, 2], [3, 4, 5]) # == [(1, 3), (2, 4)]
パラメータ
パラメータ | 説明 |
---|---|
args
|
圧縮する リスト。 |