| """This file contains definitions of all current incompatible flags. | |
| See COMPATIBILITY.md for the backwards compatibility policy. | |
| """ | |
| IncompatibleFlagInfo = provider( | |
| doc = "Provider for the current value of an incompatible flag.", | |
| fields = { | |
| "enabled": "(bool) whether the flag is enabled", | |
| "issue": "(string) link to the github issue associated with this flag", | |
| }, | |
| ) | |
| def _incompatible_flag_impl(ctx): | |
| return [IncompatibleFlagInfo(enabled = ctx.build_setting_value, issue = ctx.attr.issue)] | |
| incompatible_flag = rule( | |
| doc = "A rule defining an incompatible flag.", | |
| implementation = _incompatible_flag_impl, | |
| build_setting = config.bool(flag = True), | |
| attrs = { | |
| "issue": attr.string( | |
| doc = "The link to the github issue associated with this flag", | |
| mandatory = True, | |
| ), | |
| }, | |
| ) |