| Tim Windelschmidt | 156248b | 2025-01-10 00:27:45 +0100 | [diff] [blame] | 1 | BuildKindInfo = provider( |
| 2 | "Build kind for userspace tools", |
| 3 | fields = ["type"], |
| 4 | ) |
| Serge Bazanski | 394b67e | 2023-07-19 17:34:34 +0200 | [diff] [blame] | 5 | |
| 6 | def _impl(ctx): |
| Tim Windelschmidt | 156248b | 2025-01-10 00:27:45 +0100 | [diff] [blame] | 7 | values = ["full", "lite"] |
| Serge Bazanski | 394b67e | 2023-07-19 17:34:34 +0200 | [diff] [blame] | 8 | value = ctx.build_setting_value |
| 9 | if value not in values: |
| 10 | fail(str(ctx.label) + " build setting allowed to take values {full, lite} but was set to " + value) |
| 11 | |
| Tim Windelschmidt | 156248b | 2025-01-10 00:27:45 +0100 | [diff] [blame] | 12 | return BuildKindInfo(type = value) |
| Serge Bazanski | 394b67e | 2023-07-19 17:34:34 +0200 | [diff] [blame] | 13 | |
| 14 | buildkind = rule( |
| 15 | implementation = _impl, |
| 16 | build_setting = config.string(flag = True), |
| 17 | doc = """ |
| 18 | Build kind for userspace tools, either full (will have a direct |
| 19 | dependency on data files) or lite (will not have a direct dependency on |
| 20 | data files and will not attempt to load them). |
| 21 | """, |
| 22 | ) |