blob: 09cd4d8b567b909e8db394858acb6ae53236b867 [file] [log] [blame]
Philipp Schrader3de4dfc2023-02-15 20:18:25 -08001load("//tools/build_rules:js.bzl", "rollup_bundle", "ts_project")
Maxwell Hendersonad312342023-01-10 12:07:47 -08002load("//frc971/downloader:downloader.bzl", "aos_downloader_dir")
3
4filegroup(
5 name = "files",
6 srcs = glob([
7 "**/*.html",
8 "**/*.css",
9 "**/*.png",
Maxwell Henderson4a18b192023-03-10 15:04:04 -080010 ]) + ["2023.png"],
Maxwell Hendersonad312342023-01-10 12:07:47 -080011 visibility = ["//visibility:public"],
12)
13
Maxwell Henderson4a18b192023-03-10 15:04:04 -080014genrule(
15 name = "2023_field_png",
16 srcs = ["//third_party/y2023/field:pictures"],
17 outs = ["2023.png"],
18 cmd = "cp third_party/y2023/field/2023.png $@",
19)
20
Philipp Schrader3de4dfc2023-02-15 20:18:25 -080021ts_project(
Maxwell Hendersonad312342023-01-10 12:07:47 -080022 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:web_proxy_ts_fbs",
32 "//aos/network/www:proxy",
33 "//frc971/control_loops/drivetrain:drivetrain_status_ts_fbs",
James Kuszmaulfb894572023-02-23 17:25:06 -080034 "//frc971/control_loops/drivetrain/localization:localizer_output_ts_fbs",
Milo Line6571c02023-03-04 21:08:20 -080035 "//y2023/control_loops/superstructure:superstructure_status_ts_fbs",
James Kuszmaulfb894572023-02-23 17:25:06 -080036 "//y2023/localizer:status_ts_fbs",
37 "//y2023/localizer:visualization_ts_fbs",
Maxwell Hendersonad312342023-01-10 12:07:47 -080038 "@com_github_google_flatbuffers//ts:flatbuffers_ts",
39 ],
40)
41
42rollup_bundle(
43 name = "field_main_bundle",
44 entry_point = "field_main.ts",
45 target_compatible_with = ["@platforms//os:linux"],
46 visibility = ["//y2023:__subpackages__"],
47 deps = [
48 ":field_main",
49 ],
50)
51
52aos_downloader_dir(
53 name = "www_files",
54 srcs = [
55 ":field_main_bundle.min.js",
56 ":files",
57 "//frc971/analysis:plot_index_bundle.min.js",
58 ],
59 dir = "www",
60 target_compatible_with = ["@platforms//os:linux"],
61 visibility = ["//visibility:public"],
62)