blob: 51d7c8f677e474cb4dbd46ce235f1decbf4f69c6 [file] [log] [blame]
James (Peilun) Lia70e5752024-09-18 20:43:00 -07001load("//frc971/downloader:downloader.bzl", "aos_downloader_dir")
2load("//tools/build_rules:js.bzl", "rollup_bundle", "ts_project")
3
4filegroup(
5 name = "files",
6 srcs = glob([
7 "**/*.html",
8 "**/*.css",
9 "**/*.png",
10 ]) + ["2024_bot3.png"],
11 visibility = ["//visibility:public"],
12)
13
14genrule(
15 name = "2024_bot3_field_png",
16 srcs = ["//third_party/y2024/field:pictures"],
17 outs = ["2024_bot3.png"],
18 cmd = "cp third_party/y2024/field/2024.png $@",
19)
20
21ts_project(
22 name = "field_main",
23 srcs = [
24 "constants.ts",
25 "field_handler.ts",
26 "field_main.ts",
27 ],
28 target_compatible_with = ["@platforms//os:linux"],
29 deps = [
30 "//aos/network:connect_ts_fbs",
31 "//aos/network:message_bridge_client_ts_fbs",
32 "//aos/network:message_bridge_server_ts_fbs",
33 "//aos/network:web_proxy_ts_fbs",
34 "//aos/network/www:proxy",
35 "//frc971/control_loops:control_loops_ts_fbs",
36 "//frc971/control_loops/drivetrain:drivetrain_can_position_ts_fbs",
37 "//frc971/control_loops/drivetrain:drivetrain_position_ts_fbs",
38 "//frc971/control_loops/drivetrain:drivetrain_status_ts_fbs",
39 "//frc971/control_loops/drivetrain/localization:localizer_output_ts_fbs",
40 "//frc971/vision:target_map_ts_fbs",
41 "//y2024_bot3/control_loops/superstructure:superstructure_position_ts_fbs",
42 "//y2024_bot3/control_loops/superstructure:superstructure_status_ts_fbs",
43 "@com_github_google_flatbuffers//ts:flatbuffers_ts",
44 ],
45)
46
47rollup_bundle(
48 name = "field_main_bundle",
49 entry_point = "field_main.ts",
50 target_compatible_with = ["@platforms//os:linux"],
51 visibility = ["//y2024_bot3:__subpackages__"],
52 deps = [
53 ":field_main",
54 ],
55)
56
57aos_downloader_dir(
58 name = "www_files",
59 srcs = [
60 ":field_main_bundle.min.js",
61 ":files",
62 "//frc971/analysis:plot_index_bundle.min.js",
63 "//frc971/www:starter_files",
64 ],
65 dir = "www",
66 target_compatible_with = ["@platforms//os:linux"],
67 visibility = ["//visibility:public"],
68)