Files
allwpilib/wpiunits/BUILD.bazel
2025-11-07 23:09:21 -08:00

58 lines
1.6 KiB
Python

load("@allwpilib_pip_deps//:requirements.bzl", "requirement")
load("@aspect_bazel_lib//lib:write_source_files.bzl", "write_source_files")
load("@rules_java//java:defs.bzl", "java_binary")
load("@rules_python//python:defs.bzl", "py_binary")
load("//shared/bazel/rules:java_rules.bzl", "wpilib_java_junit5_test", "wpilib_java_library")
load("//wpiunits:generate_wpiunits.bzl", "generate_wpiunits")
py_binary(
name = "generate_units",
srcs = ["generate_units.py"],
data = glob(["src/generate/main/java/**"]),
target_compatible_with = select({
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
"//conditions:default": [],
}),
deps = [requirement("jinja2")],
)
generate_wpiunits(
name = "gen_units",
)
write_source_files(
name = "write_wpiunits",
files = {
"src/generated": ":gen_units",
},
suggested_update_target = "//:write_all",
tags = ["pregeneration"],
visibility = ["//visibility:public"],
)
wpilib_java_library(
name = "wpiunits-java",
srcs = glob(["src/main/java/**/*.java"]) + glob(["src/generated/main/java/**/*.java"]),
maven_artifact_name = "wpiunits-java",
maven_group_id = "org.wpilib.wpiunits",
visibility = ["//visibility:public"],
deps = [],
)
wpilib_java_junit5_test(
name = "wpiunits-test",
srcs = glob(["src/test/java/**/*.java"]),
deps = [
":wpiunits-java",
],
)
java_binary(
name = "DevMain-Java",
srcs = ["src/dev/java/org/wpilib/units/DevMain.java"],
main_class = "org.wpilib.units.DevMain",
deps = [
":wpiunits-java",
],
)