[bazel] Create better static libraries and add basic publishing (#8029)

This commit is contained in:
PJ Reiniger
2025-06-27 19:36:12 -04:00
committed by GitHub
parent 22b58c1853
commit e13d237390
38 changed files with 1445 additions and 216 deletions

View File

@@ -1,5 +1,5 @@
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test")
load("//shared/bazel/rules:halsim_library.bzl", "wpilib_halsim_extension")
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library")
cc_library(
name = "headers",
@@ -7,23 +7,60 @@ cc_library(
includes = ["src/main/native/include"],
)
wpilib_halsim_extension(
wpilib_cc_library(
name = "halsim_ds_socket",
srcs = glob(["src/main/native/cpp/**"]),
include_license_files = True,
target_compatible_with = select({
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
"//conditions:default": [],
}),
visibility = ["//visibility:public"],
deps = [
":headers",
"//hal:wpiHal.static",
"//wpinet:wpinet.static",
"//hal:wpiHal",
"//wpinet",
],
)
wpilib_cc_library(
name = "halsim_ds_socket_static",
srcs = glob(["src/main/native/cpp/**"]),
copts = [
"-DHALSIM_InitExtension=HALSIM_InitExtension_DS_SOCKET",
],
include_license_files = True,
target_compatible_with = select({
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
"//conditions:default": [],
}),
visibility = ["//visibility:public"],
deps = [
":headers",
"//hal:wpiHal",
"//wpinet",
],
)
wpilib_cc_static_library(
name = "static/halsim_ds_socket",
static_deps = [
"//hal:static/wpiHal",
"//wpinet:static/wpinet",
],
visibility = ["//visibility:public"],
deps = [":halsim_ds_socket_static"],
)
cc_test(
name = "halsim_ds_socket-test",
size = "small",
srcs = glob(["src/test/native/**/*.cpp"]),
deps = [
"//simulation/halsim_ds_socket",
"//thirdparty/googletest:googletest.static",
"//thirdparty/googletest",
],
)

View File

@@ -1,18 +1,73 @@
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_test")
load("//shared/bazel/rules:halsim_library.bzl", "wpilib_halsim_extension")
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library")
wpilib_halsim_extension(
wpilib_cc_library(
name = "halsim_gui",
srcs = glob([
"src/main/native/cpp/*",
"src/main/native/include/*.h",
]),
include_license_files = True,
includes = ["src/main/native/include"],
linkopts = [
"-lm",
],
tags = [
"wpi-cpp-gui",
],
target_compatible_with = select({
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
"//conditions:default": [],
}),
visibility = ["//visibility:public"],
deps = [
"//glass:libglassnt",
"//hal:wpiHal.static",
"//hal:wpiHal",
],
)
wpilib_cc_library(
name = "halsim_gui_static",
srcs = glob([
"src/main/native/cpp/*",
"src/main/native/include/*.h",
]),
copts = [
"-DHALSIM_InitExtension=HALSIM_InitExtension_GUI",
],
include_license_files = True,
includes = ["src/main/native/include"],
linkopts = [
"-lm",
],
tags = [
"wpi-cpp-gui",
],
target_compatible_with = select({
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
"//conditions:default": [],
}),
visibility = ["//visibility:public"],
deps = [
"//glass:libglassnt",
"//hal:wpiHal",
],
)
wpilib_cc_static_library(
name = "static/halsim_gui",
static_deps = [
"//hal:static/wpiHal",
"//wpimath:static/wpimath",
"//datalog:static/datalog",
"//ntcore:static/ntcore",
"//glass:static/glassnt",
],
visibility = ["//visibility:public"],
deps = [
":halsim_gui_static",
],
)
@@ -26,7 +81,7 @@ cc_test(
],
deps = [
":halsim_gui",
"//thirdparty/googletest:googletest.static",
"//thirdparty/googletest",
],
)

View File

@@ -1,9 +1,10 @@
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library")
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library")
wpilib_cc_library(
name = "halsim_ws_core",
srcs = glob(["src/main/native/cpp/*.cpp"]),
hdrs = glob(["src/main/native/include/*.h"]),
include_license_files = True,
strip_include_prefix = "src/main/native/include",
target_compatible_with = select({
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
@@ -12,8 +13,21 @@ wpilib_cc_library(
}),
visibility = ["//visibility:public"],
deps = [
"//hal:wpiHal.static",
"//wpinet:wpinet.static",
"//wpiutil:wpiutil.static",
"//hal:wpiHal",
"//wpinet",
"//wpiutil",
],
)
wpilib_cc_static_library(
name = "static/halsim_ws_core",
static_deps = [
"//hal:static/wpiHal",
"//wpinet:static/wpinet",
"//wpiutil:static/wpiutil",
],
visibility = ["//visibility:public"],
deps = [
":halsim_ws_core",
],
)

View File

@@ -1,5 +1,5 @@
load("@rules_cc//cc:defs.bzl", "cc_binary", "cc_library", "cc_test")
load("//shared/bazel/rules:halsim_library.bzl", "wpilib_halsim_extension")
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library")
cc_library(
name = "headers",
@@ -7,15 +7,55 @@ cc_library(
includes = ["src/main/native/include"],
)
wpilib_halsim_extension(
wpilib_cc_library(
name = "halsim_ws_server",
srcs = glob(["src/main/native/cpp/**"]),
include_license_files = True,
target_compatible_with = select({
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
"//conditions:default": [],
}),
visibility = ["//visibility:public"],
deps = [
":headers",
"//simulation/halsim_ws_core",
],
)
wpilib_cc_library(
name = "halsim_ws_server_static",
srcs = glob(["src/main/native/cpp/**"]),
copts = [
"-DHALSIM_InitExtension=HALSIM_InitExtension_WS_SERVER",
],
include_license_files = True,
target_compatible_with = select({
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
"//conditions:default": [],
}),
visibility = ["//visibility:public"],
deps = [
":headers",
"//simulation/halsim_ws_core",
],
)
wpilib_cc_static_library(
name = "static/halsim_ws_server",
static_deps = [
"//hal:static/wpiHal",
"//wpinet:static/wpinet",
"//wpiutil:static/wpiutil",
"//simulation/halsim_ws_core:static/halsim_ws_core",
],
visibility = ["//visibility:public"],
deps = [
":halsim_ws_server_static",
],
)
cc_library(
name = "test_headers",
srcs = glob(["src/test/native/include/*.h"]),
@@ -33,7 +73,7 @@ cc_test(
deps = [
":halsim_ws_server",
":test_headers",
"//thirdparty/googletest:googletest.static",
"//thirdparty/googletest",
],
)

View File

@@ -1,15 +1,59 @@
load("@rules_cc//cc:defs.bzl", "cc_binary")
load("//shared/bazel/rules:halsim_library.bzl", "wpilib_halsim_extension")
load("//shared/bazel/rules:cc_rules.bzl", "wpilib_cc_library", "wpilib_cc_static_library")
wpilib_halsim_extension(
wpilib_cc_library(
name = "halsim_xrp",
srcs = glob([
"src/main/native/cpp/*",
"src/main/native/include/*.h",
]),
include_license_files = True,
includes = ["src/main/native/include"],
target_compatible_with = select({
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
"//conditions:default": [],
}),
visibility = ["//visibility:public"],
deps = [
"//simulation/halsim_ws_core",
"//xrpVendordep:xrp-cpp",
"//wpinet",
],
)
wpilib_cc_library(
name = "halsim_xrp_static",
srcs = glob([
"src/main/native/cpp/*",
"src/main/native/include/*.h",
]),
copts = [
"-DHALSIM_InitExtension=HALSIM_InitExtension_XRP",
],
include_license_files = True,
includes = ["src/main/native/include"],
target_compatible_with = select({
"@rules_bzlmodrio_toolchains//constraints/is_roborio:roborio": ["@platforms//:incompatible"],
"@rules_bzlmodrio_toolchains//constraints/is_systemcore:systemcore": ["@platforms//:incompatible"],
"//conditions:default": [],
}),
visibility = ["//visibility:public"],
deps = [
"//simulation/halsim_ws_core",
"//wpinet",
],
)
wpilib_cc_static_library(
name = "static/halsim_xrp",
static_deps = [
"//wpinet:static/wpinet",
"//hal:static/wpiHal",
"//simulation/halsim_ws_core:static/halsim_ws_core",
],
visibility = ["//visibility:public"],
deps = [
":halsim_xrp_static",
],
)