1*60517a1eSAndroid Build Coastguard Worker""" Define a custom transition that sets the pip_whl flag to no """ 2*60517a1eSAndroid Build Coastguard Worker 3*60517a1eSAndroid Build Coastguard Workerdef _flag_transition_impl(_settings, _ctx): 4*60517a1eSAndroid Build Coastguard Worker return {"//python/config_settings:pip_whl": "no"} 5*60517a1eSAndroid Build Coastguard Worker 6*60517a1eSAndroid Build Coastguard Workerflag_transition = transition( 7*60517a1eSAndroid Build Coastguard Worker implementation = _flag_transition_impl, 8*60517a1eSAndroid Build Coastguard Worker inputs = [], 9*60517a1eSAndroid Build Coastguard Worker outputs = ["//python/config_settings:pip_whl"], 10*60517a1eSAndroid Build Coastguard Worker) 11*60517a1eSAndroid Build Coastguard Worker 12*60517a1eSAndroid Build Coastguard Worker# Define a rule that applies the transition to dependencies 13*60517a1eSAndroid Build Coastguard Workerdef _transition_rule_impl(_ctx): 14*60517a1eSAndroid Build Coastguard Worker return [DefaultInfo()] 15*60517a1eSAndroid Build Coastguard Worker 16*60517a1eSAndroid Build Coastguard Workertransition_rule = rule( 17*60517a1eSAndroid Build Coastguard Worker implementation = _transition_rule_impl, 18*60517a1eSAndroid Build Coastguard Worker attrs = { 19*60517a1eSAndroid Build Coastguard Worker "deps": attr.label_list(cfg = flag_transition), 20*60517a1eSAndroid Build Coastguard Worker "_allowlist_function_transition": attr.label( 21*60517a1eSAndroid Build Coastguard Worker default = "@bazel_tools//tools/allowlists/function_transition_allowlist", 22*60517a1eSAndroid Build Coastguard Worker ), 23*60517a1eSAndroid Build Coastguard Worker }, 24*60517a1eSAndroid Build Coastguard Worker) 25