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_static_cc_project") load("//shared/bazel/rules/gen:gen-resources.bzl", "generate_resources") generate_resources( name = "generate-resources", namespace = "wpi::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 = "org.wpilib.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_static_cc_project( name = "fields", maven_artifact_name = "fields-cpp", maven_group_id = "org.wpilib.fields", )