blob: 323bd49e4e9dd57f46122eb41d4ff142c4d540e4 [file] [log] [blame]
load("//aos/flatbuffers:generate.bzl", "static_flatbuffer")
load("//tools/build_rules:template.bzl", "jinja2_template")
load("//y2024_bot3/constants:validator.bzl", "constants_json")
cc_library(
name = "simulated_constants_sender",
srcs = ["simulated_constants_sender.cc"],
hdrs = ["simulated_constants_sender.h"],
data = [":test_constants.json"],
visibility = ["//y2024_bot3:__subpackages__"],
deps = [
":constants_fbs",
":constants_list_fbs",
"//aos/events:simulated_event_loop",
"//aos/testing:path",
"//frc971/constants:constants_sender_lib",
],
)
jinja2_template(
name = "test_constants_unvalidated.json",
src = "test_constants.jinja2.json",
includes = glob([
"test_data/*.json",
]) + [
"common.jinja2",
"common.json",
"//y2024_bot3/constants/calib_files",
"//y2024_bot3/control_loops/superstructure/arm:arm_json",
"//y2024_bot3/vision/maps",
],
parameters = {},
visibility = ["//visibility:public"],
)
jinja2_template(
name = "constants_unvalidated.json",
src = "constants.jinja2.json",
includes = [
"9971.json",
"common.jinja2",
"common.json",
"//y2024_bot3/constants/calib_files",
"//y2024_bot3/control_loops/superstructure/arm:arm_json",
"//y2024_bot3/vision/maps",
],
parameters = {},
visibility = ["//visibility:public"],
)
static_flatbuffer(
name = "constants_fbs",
srcs = ["constants.fbs"],
visibility = ["//visibility:public"],
deps = [
"//frc971/control_loops:profiled_subsystem_fbs",
"//frc971/vision:calibration_fbs",
"//frc971/vision:target_map_fbs",
"//frc971/zeroing:constants_fbs",
],
)
static_flatbuffer(
name = "constants_list_fbs",
srcs = ["constants_list.fbs"],
visibility = ["//visibility:public"],
deps = [":constants_fbs"],
)
cc_binary(
name = "constants_sender",
srcs = ["constants_sender.cc"],
visibility = ["//visibility:public"],
deps = [
":constants_fbs",
":constants_list_fbs",
"//aos:init",
"//aos/events:shm_event_loop",
"//aos/testing:path",
"//frc971/constants:constants_sender_lib",
],
)
cc_binary(
name = "constants_formatter",
srcs = ["constants_formatter.cc"],
data = [":constants_unvalidated.json"],
visibility = ["//visibility:public"],
deps = [
":constants_list_fbs",
"//aos:init",
"//aos:json_to_flatbuffer",
"@com_google_absl//absl/log",
"@com_google_absl//absl/log:check",
],
)
constants_json(
name = "constants_json",
src = ":constants_unvalidated.json",
out = "constants.json",
)
constants_json(
name = "test_constants_json",
src = ":test_constants_unvalidated.json",
out = "test_constants.json",
)