blob: 6de0fb0820f738bd9423b3c5cb86188ce8f93e6d [file] [log] [blame]
Yash Maheshwarie0b25c52024-05-22 20:23:36 -07001load("//aos/flatbuffers:generate.bzl", "static_flatbuffer")
2load("//tools/build_rules:template.bzl", "jinja2_template")
3load("//y2024_swerve/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_swerve:__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_swerve/constants/calib_files",
29 "//y2024_swerve/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 "6971.json",
40 "7971.json",
41 "common.jinja2",
42 "common.json",
43 "//y2024_swerve/constants/calib_files",
44 "//y2024_swerve/vision/maps",
45 ],
46 parameters = {},
47 visibility = ["//visibility:public"],
48)
49
50static_flatbuffer(
51 name = "constants_fbs",
52 srcs = ["constants.fbs"],
53 visibility = ["//visibility:public"],
54 deps = [
55 "//frc971/control_loops:profiled_subsystem_fbs",
56 "//frc971/control_loops/drivetrain:drivetrain_config_fbs",
57 "//frc971/vision:calibration_fbs",
58 "//frc971/vision:target_map_fbs",
59 "//frc971/zeroing:constants_fbs",
60 ],
61)
62
63static_flatbuffer(
64 name = "constants_list_fbs",
65 srcs = ["constants_list.fbs"],
66 visibility = ["//visibility:public"],
67 deps = [":constants_fbs"],
68)
69
70cc_binary(
71 name = "constants_sender",
72 srcs = ["constants_sender.cc"],
73 visibility = ["//visibility:public"],
74 deps = [
75 ":constants_fbs",
76 ":constants_list_fbs",
77 "//aos:init",
78 "//aos/events:shm_event_loop",
79 "//aos/testing:path",
80 "//frc971/constants:constants_sender_lib",
81 ],
82)
83
84cc_binary(
85 name = "constants_formatter",
86 srcs = ["constants_formatter.cc"],
87 data = [":constants_unvalidated.json"],
88 visibility = ["//visibility:public"],
89 deps = [
90 ":constants_list_fbs",
91 "//aos:init",
92 "//aos:json_to_flatbuffer",
93 "@com_github_google_glog//:glog",
94 ],
95)
96
97constants_json(
98 name = "constants_json",
99 src = ":constants_unvalidated.json",
100 out = "constants.json",
101)
102
103constants_json(
104 name = "test_constants_json",
105 src = ":test_constants_unvalidated.json",
106 out = "test_constants.json",
107)