依存関係エッジ間の構成の移行を表します。たとえば、//package:foo が構成の移行で //package:bar に依存している場合、//package:bar(とその依存関係)の構成は、//package:foo の構成に移行関数で指定された変更を加えたものになります。
メンバー
transition
transition transition(*, implementation, inputs, outputs)
例:
def _transition_impl(settings, attr):
# This transition just reads the current CPU value as a demonstration.
# A real transition could incorporate this into its followup logic.
current_cpu = settings["//command_line_option:cpu"]
return {"//command_line_option:compilation_mode": "dbg"}
build_in_debug_mode = transition(
implementation = _transition_impl,
inputs = ["//command_line_option:cpu"],
outputs = ["//command_line_option:compilation_mode"],
)パラメータ
| パラメータ | 説明 |
|---|---|
implementation
|
呼び出し可能。
必須 この移行を実装する関数。この関数には常に settings と attr の 2 つのパラメータがあります。settings パラメータは、キーセットが inputs パラメータで定義される辞書です。したがって、ビルド設定 --//foo=bar の場合、inputs に //foo が含まれていると、settings にエントリ settings['//foo']='bar' が含まれます。
この関数は、ビルド設定識別子からビルド設定値への |
inputs
|
文字列のシーケンス。
必須 この移行で読み取ることができるビルド設定のリスト。これは、実装関数パラメータの settings パラメータのキーセットになります。 |
outputs
|
文字列のシーケンス。
必須 この移行で書き込むことができるビルド設定のリスト。これは、この移行によって返される辞書のキーセットのスーパーセットである必要があります。 |