종속성 가장자리의 구성 전환을 나타냅니다. 예를 들어 //package:foo이 구성 전환과 함께 //package:bar에 종속되는 경우 //package:bar (및 종속 항목)의 구성은 //package:foo의 구성에 전환 함수로 지정된 변경사항을 더한 것입니다.
회원
전환
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
|
callable;
required 이 전환을 구현하는 함수입니다. 이 함수에는 항상 settings 및 attr의 두 매개변수가 있습니다. settings 매개변수는 키 집합이 inputs 매개변수에 의해 정의되는 사전입니다. 따라서 각 빌드 설정 --//foo=bar의 경우 inputs에 //foo이 포함되면 settings에는 항목 settings['//foo']='bar'이 있습니다.
이 함수는 빌드 설정 식별자에서 빌드 설정 값으로 |
inputs
|
문자열의 시퀀스입니다. 필수입니다. 이 전환에서 읽을 수 있는 빌드 설정 목록입니다. 이는 구현 함수 매개변수의 설정 매개변수의 키 집합이 됩니다. |
outputs
|
string의 sequence, 필수 이 전환에서 쓸 수 있는 빌드 설정 목록입니다. 이는 이 전환에서 반환된 사전의 키 집합의 상위 집합이어야 합니다. |
and_then
transition transition.and_then(transition)
구성요소 전환을 사용할 수 있는 곳이라면 어디에서나 컴포지션을 규칙 또는 속성 전환으로 사용할 수 있습니다. 구성된 전환은 최대 하나가 실행 구성 (예: config.exec)을 타겟팅할 수 있습니다. 체인의 두 전환이 구성을 분할하면 결과에는 분할의 크로스 프로덕트가 있습니다. 결합된 각 분할의 키는 구성요소 키의 쉼표로 구분된 연결입니다.
매개변수
| 매개변수 | 설명 |
|---|---|
transition
|
transition;
required 이 전환 후에 적용할 전환입니다. |