blob: 1ce69a0128dcae61a588e391bb22ce9eb2d23c07 [file] [log] [blame]
James (Peilun) Lia70e5752024-09-18 20:43:00 -07001load("//aos/flatbuffers:generate.bzl", "static_flatbuffer")
2load("//tools/build_rules:template.bzl", "jinja2_template")
3load("//y2024_bot3/constants:validator.bzl", "constants_json")
4
5cc_library(
6 name = "simulated_constants_sender",
7 srcs = ["simulated_constants_sender.cc"],
8 hdrs = ["simulated_constants_sender.h"],
9 data = [":test_constants.json"],
10 visibility = ["//y2024_bot3:__subpackages__"],
11 deps = [
12 ":constants_fbs",
13 ":constants_list_fbs",
14 "//aos/events:simulated_event_loop",
15 "//aos/testing:path",
16 "//frc971/constants:constants_sender_lib",
17 ],
18)
19
20jinja2_template(
21 name = "test_constants_unvalidated.json",
22 src = "test_constants.jinja2.json",
23 includes = glob([
24 "test_data/*.json",
25 ]) + [
26 "common.jinja2",
27 "common.json",
28 "//y2024_bot3/constants/calib_files",
29 "//y2024_bot3/vision/maps",
30 ],
31 parameters = {},
32 visibility = ["//visibility:public"],
33)
34
35jinja2_template(
36 name = "constants_unvalidated.json",
37 src = "constants.jinja2.json",
38 includes = [
39 "9971.json",
40 "common.jinja2",
41 "common.json",
42 "//y2024_bot3/constants/calib_files",
43 "//y2024_bot3/vision/maps",
44 ],
45 parameters = {},
46 visibility = ["//visibility:public"],
47)
48
49static_flatbuffer(
50 name = "constants_fbs",
51 srcs = ["constants.fbs"],
52 visibility = ["//visibility:public"],
53 deps = [
54 "//frc971/control_loops:profiled_subsystem_fbs",
55 "//frc971/vision:calibration_fbs",
56 "//frc971/vision:target_map_fbs",
57 "//frc971/zeroing:constants_fbs",
58 ],
59)
60
61static_flatbuffer(
62 name = "constants_list_fbs",
63 srcs = ["constants_list.fbs"],
64 visibility = ["//visibility:public"],
65 deps = [":constants_fbs"],
66)
67
68cc_binary(
69 name = "constants_sender",
70 srcs = ["constants_sender.cc"],
71 visibility = ["//visibility:public"],
72 deps = [
73 ":constants_fbs",
74 ":constants_list_fbs",
75 "//aos:init",
76 "//aos/events:shm_event_loop",
77 "//aos/testing:path",
78 "//frc971/constants:constants_sender_lib",
79 ],
80)
81
82cc_binary(
83 name = "constants_formatter",
84 srcs = ["constants_formatter.cc"],
85 data = [":constants_unvalidated.json"],
86 visibility = ["//visibility:public"],
87 deps = [
88 ":constants_list_fbs",
89 "//aos:init",
90 "//aos:json_to_flatbuffer",
91 "@com_google_absl//absl/log",
92 "@com_google_absl//absl/log:check",
93 ],
94)
95
96constants_json(
97 name = "constants_json",
98 src = ":constants_unvalidated.json",
99 out = "constants.json",
100)
101
102constants_json(
103 name = "test_constants_json",
104 src = ":test_constants_unvalidated.json",
105 out = "test_constants.json",
106)