| """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, |
| ), |
| }, |
| ) |