mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
[bazel] Create better static libraries and add basic publishing (#8029)
This commit is contained in:
@@ -1,8 +1,35 @@
|
||||
load("@rules_java//java:defs.bzl", "java_binary", "java_library")
|
||||
load("@rules_pkg//:mappings.bzl", "pkg_files")
|
||||
load("@rules_pkg//:pkg.bzl", "pkg_zip")
|
||||
load("//shared/bazel/rules:java_rules.bzl", "wpilib_java_junit5_test")
|
||||
load("//wpilibjExamples:example_projects.bzl", "COMMANDS_V2_FOLDERS", "EXAMPLES_FOLDERS", "SNIPPETS_FOLDERS", "TEMPLATES_FOLDERS", "TEST_FOLDERS")
|
||||
|
||||
def _package_type(package_type):
|
||||
pkg_files(
|
||||
name = package_type + "-pkg",
|
||||
srcs = native.glob(["src/main/java/edu/wpi/first/wpilibj/" + package_type + "/**"]),
|
||||
strip_prefix = "src/main/java/edu/wpi/first/wpilibj",
|
||||
)
|
||||
|
||||
pkgs = ["//:license_pkg_files", ":" + package_type + "-pkg"]
|
||||
if package_type == "examples":
|
||||
pkg_files(
|
||||
name = package_type + "-tests-pkg",
|
||||
srcs = native.glob(["src/test/java/edu/wpi/first/wpilibj/" + package_type + "/**"]),
|
||||
strip_prefix = "src/test/java/edu/wpi/first/wpilibj/" + package_type,
|
||||
prefix = "examples_test",
|
||||
)
|
||||
pkgs.append(package_type + "-tests-pkg")
|
||||
|
||||
pkg_zip(
|
||||
name = package_type + "-zip",
|
||||
srcs = pkgs,
|
||||
tags = ["no-remote"],
|
||||
)
|
||||
|
||||
def build_examples(halsim_deps):
|
||||
_package_type("examples")
|
||||
|
||||
for folder in EXAMPLES_FOLDERS:
|
||||
java_binary(
|
||||
name = folder + "-example",
|
||||
@@ -16,28 +43,30 @@ def build_examples(halsim_deps):
|
||||
"//cameraserver:cameraserver-java",
|
||||
"//cscore:cscore-java",
|
||||
"//hal:hal-java",
|
||||
"//ntcore:networktables-java",
|
||||
"//ntcore:ntcore-java",
|
||||
"//wpimath:wpimath-java",
|
||||
"//wpilibj:wpilibj",
|
||||
"//wpilibj:wpilibj-java",
|
||||
"//wpilibNewCommands:wpilibNewCommands-java",
|
||||
"//wpiutil:wpiutil-java",
|
||||
"//romiVendordep:romi-java",
|
||||
"//xrpVendordep:xrp-java",
|
||||
"//wpiunits",
|
||||
"//epilogue-runtime:epilogue",
|
||||
"//romiVendordep:romiVendordep-java",
|
||||
"//xrpVendordep:xrpVendordep-java",
|
||||
"//wpiunits:wpiunits-java",
|
||||
"//epilogue-runtime:epilogue-java",
|
||||
"@bzlmodrio-opencv//libraries/java/opencv",
|
||||
],
|
||||
tags = ["wpi-example"],
|
||||
)
|
||||
|
||||
def build_commands():
|
||||
_package_type("commands")
|
||||
|
||||
for folder in COMMANDS_V2_FOLDERS:
|
||||
java_library(
|
||||
name = folder + "-command",
|
||||
srcs = native.glob(["src/main/java/edu/wpi/first/wpilibj/commands/" + folder + "/**/*.java"]),
|
||||
deps = [
|
||||
"//hal:hal-java",
|
||||
"//wpilibj:wpilibj",
|
||||
"//wpilibj:wpilibj-java",
|
||||
"//wpilibNewCommands:wpilibNewCommands-java",
|
||||
"//wpimath:wpimath-java",
|
||||
],
|
||||
@@ -45,28 +74,32 @@ def build_commands():
|
||||
)
|
||||
|
||||
def build_snippets():
|
||||
_package_type("snippets")
|
||||
|
||||
for folder in SNIPPETS_FOLDERS:
|
||||
java_library(
|
||||
name = folder + "-snippet",
|
||||
srcs = native.glob(["src/main/java/edu/wpi/first/wpilibj/snippets/" + folder + "/**/*.java"]),
|
||||
deps = [
|
||||
"//wpilibj:wpilibj",
|
||||
"//wpilibj:wpilibj-java",
|
||||
],
|
||||
tags = ["wpi-example"],
|
||||
)
|
||||
|
||||
def build_templates():
|
||||
_package_type("templates")
|
||||
|
||||
for folder in TEMPLATES_FOLDERS:
|
||||
java_library(
|
||||
name = folder + "-template",
|
||||
srcs = native.glob(["src/main/java/edu/wpi/first/wpilibj/templates/" + folder + "/**/*.java"]),
|
||||
deps = [
|
||||
"//hal:hal-java",
|
||||
"//wpilibj:wpilibj",
|
||||
"//wpilibj:wpilibj-java",
|
||||
"//wpilibNewCommands:wpilibNewCommands-java",
|
||||
"//wpimath:wpimath-java",
|
||||
"//wpiutil:wpiutil-java",
|
||||
"//xrpVendordep:xrp-java",
|
||||
"//xrpVendordep:xrpVendordep-java",
|
||||
],
|
||||
tags = ["wpi-example"],
|
||||
)
|
||||
@@ -79,8 +112,8 @@ def build_tests():
|
||||
deps = [
|
||||
":" + folder + "-example",
|
||||
"//hal:hal-java",
|
||||
"//ntcore:networktables-java",
|
||||
"//wpilibj:wpilibj",
|
||||
"//ntcore:ntcore-java",
|
||||
"//wpilibj:wpilibj-java",
|
||||
"//wpilibNewCommands:wpilibNewCommands-java",
|
||||
"//wpimath:wpimath-java",
|
||||
"//wpiutil:wpiutil-java",
|
||||
|
||||
Reference in New Issue
Block a user