mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
58 lines
1.6 KiB
Python
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 = "edu.wpi.first.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",
|
|
],
|
|
)
|