依存関係エッジをまたぐ構成の遷移を表します。たとえば、//package:foo
が構成の遷移で //package:bar
に依存している場合、これら 2 つのターゲットの構成は異なります。//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
|
required この移行を実装する関数。この関数には常に settings と attr の 2 つのパラメータがあります。settings パラメータは、キーのセットが input パラメータによって定義される辞書です。したがって、ビルド設定 --//foo=bar ごとに、inputs に //foo が含まれている場合、settings のエントリは settings['//foo']='bar' になります。
この関数は、ビルド設定識別子からビルド設定値までの |
inputs
|
sequence of strings ;
必須この移行で読み取り可能なビルド設定のリスト。これは、実装関数パラメータの設定パラメータのキーセットになります。 |
outputs
|
sequence of strings ;
必須この移行によって書き込み可能なビルド設定のリスト。これは、この遷移によって返される辞書の鍵セットのスーパーセットでなければなりません。 |