BUCKannotatedBUCKsource41 lines · 1.3 KB · raw
1load("//build:defs.bzl", "PG_MAJORS")
2load("@prelude//platforms:defs.bzl", "host_configuration")
3load(":execution.bzl", "cached_execution_platform")

The execution platform .buckconfig names; see execution.bzl for why it is not prelude//platforms:default.

7cached_execution_platform(
8    name = "execution",
9    cpu_configuration = host_configuration.cpu,
10    os_configuration = host_configuration.os,
11    remote_cache = read_config("buildbuddy", "cache", "false") == "true",
12    use_windows_path_separators = host_info().os.is_windows,
13    visibility = ["PUBLIC"],
14)

The PostgreSQL major a target builds for (build/defs.bzl's pg_major_select). pgNN is the host platform plus that major; a test gets a -pgNN twin configured for each older major (first_party_test), and buck2 build --target-platforms //platforms:pgNN builds anything for one (nix/package.nix).

22constraint_setting(name = "pg_major")
24[
25    constraint_value(
26        name = "pg_major_" + m,
27        constraint_setting = ":pg_major",
28        visibility = ["PUBLIC"],
29    )
30    for m in PG_MAJORS
31]
32
33[
34    platform(
35        name = "pg" + m,
36        constraint_values = [":pg_major_" + m],
37        deps = ["prelude//platforms:default"],
38        visibility = ["PUBLIC"],
39    )
40    for m in PG_MAJORS
41]