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

69 lines
2.0 KiB
Python

load("@rules_pkg//:mappings.bzl", "pkg_files")
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library")
load("//shared/bazel/rules:java_rules.bzl", "wpilib_java_junit5_test", "wpilib_java_library")
load("//shared/bazel/rules:packaging.bzl", "package_minimal_cc_project")
load("//shared/bazel/rules/gen:gen-resources.bzl", "generate_resources")
generate_resources(
name = "generate-resources",
namespace = "fields",
prefix = "FIELDS",
resource_files = glob(["src/main/native/resources/**"]),
)
wpilib_cc_library(
name = "fields",
srcs = [":generate-resources"] + glob(["src/main/native/cpp/**"]),
hdrs = glob(["src/main/native/include/**/*"]),
include_license_files = True,
strip_include_prefix = "src/main/native/include",
visibility = ["//visibility:public"],
)
wpilib_cc_static_library(
name = "static/fields",
static_lib_name = select({
"@platforms//os:windows": "static/fields.lib",
"//conditions:default": "static/libfields.a",
}),
visibility = ["//visibility:public"],
deps = [
":fields",
],
)
wpilib_java_library(
name = "fields-java",
srcs = glob(["src/main/java/**/*.java"]),
extra_source_pkgs = ["resources"],
maven_artifact_name = "fields-java",
maven_group_id = "edu.wpi.first.fields",
resource_strip_prefix = "fields/src/main/native/resources",
resources = glob(["src/main/native/resources/**"]),
visibility = ["//visibility:public"],
deps = [
"@maven//:com_fasterxml_jackson_core_jackson_annotations",
"@maven//:com_fasterxml_jackson_core_jackson_databind",
],
)
pkg_files(
name = "resources",
srcs = glob(["src/main/native/resources/**"]),
strip_prefix = "src/main/native/resources/",
)
wpilib_java_junit5_test(
name = "fields-test",
srcs = glob(["src/test/java/**/*.java"]),
deps = [
":fields-java",
],
)
package_minimal_cc_project(
name = "fields",
maven_artifact_name = "fields-cpp",
maven_group_id = "edu.wpi.first.fields",
)