xref: /aosp_15_r20/external/bazelbuild-rules_python/tests/pypi/integration/transitions.bzl (revision 60517a1edbc8ecf509223e9af94a7adec7d736b8)
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