mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
Pull in some of the fixes merged into the various dependencies. While we are here, move all the downloads up to the top of the file so they download in parallel. Signed-off-by: Austin Schuh <austin.linux@gmail.com>
351 lines
11 KiB
Python
351 lines
11 KiB
Python
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file")
|
|
|
|
http_archive(
|
|
name = "bazel_features",
|
|
sha256 = "a015f3f2ebf4f1ac3f4ca8ea371610acb63e1903514fa8725272d381948d2747",
|
|
strip_prefix = "bazel_features-1.31.0",
|
|
url = "https://github.com/bazel-contrib/bazel_features/releases/download/v1.31.0/bazel_features-v1.31.0.tar.gz",
|
|
)
|
|
|
|
http_archive(
|
|
name = "rules_cc",
|
|
sha256 = "712d77868b3152dd618c4d64faaddefcc5965f90f5de6e6dd1d5ddcd0be82d42",
|
|
strip_prefix = "rules_cc-0.1.1",
|
|
url = "https://github.com/bazelbuild/rules_cc/releases/download/0.1.1/rules_cc-0.1.1.tar.gz",
|
|
)
|
|
|
|
http_archive(
|
|
name = "build_bazel_apple_support",
|
|
sha256 = "b265beacfa477081caaf2bd05978ee7d11fdb8c202a1b76d0ef28d901d1e7b33",
|
|
url = "https://github.com/bazelbuild/apple_support/releases/download/1.22.0/apple_support.1.22.0.tar.gz",
|
|
)
|
|
|
|
http_archive(
|
|
name = "rules_java",
|
|
sha256 = "d31b6c69e479ffa45460b64dc9c7792a431cac721ef8d5219fc9f603fa2ff877",
|
|
urls = [
|
|
"https://github.com/bazelbuild/rules_java/releases/download/8.11.0/rules_java-8.11.0.tar.gz",
|
|
],
|
|
)
|
|
|
|
http_archive(
|
|
name = "rules_pkg",
|
|
sha256 = "cad05f864a32799f6f9022891de91ac78f30e0fa07dc68abac92a628121b5b11",
|
|
urls = [
|
|
"https://github.com/bazelbuild/rules_pkg/releases/download/1.0.0/rules_pkg-1.0.0.tar.gz",
|
|
],
|
|
)
|
|
|
|
# Rules Python
|
|
http_archive(
|
|
name = "rules_python",
|
|
sha256 = "9f9f3b300a9264e4c77999312ce663be5dee9a56e361a1f6fe7ec60e1beef9a3",
|
|
strip_prefix = "rules_python-1.4.1",
|
|
url = "https://github.com/bazel-contrib/rules_python/releases/download/1.4.1/rules_python-1.4.1.tar.gz",
|
|
)
|
|
|
|
# Download Extra java rules
|
|
http_archive(
|
|
name = "rules_jvm_external",
|
|
sha256 = "4f55980c25d0783b9fe43b049362018d8d79263476b5340a5491893ffcc06ab6",
|
|
strip_prefix = "rules_jvm_external-30899314873b6ec69dc7d02c4457fbe52a6e535d",
|
|
url = "https://github.com/bazel-contrib/rules_jvm_external/archive/30899314873b6ec69dc7d02c4457fbe52a6e535d.tar.gz",
|
|
)
|
|
|
|
# Setup aspect lib
|
|
http_archive(
|
|
name = "aspect_bazel_lib",
|
|
sha256 = "a8a92645e7298bbf538aa880131c6adb4cf6239bbd27230f077a00414d58e4ce",
|
|
strip_prefix = "bazel-lib-2.7.2",
|
|
url = "https://github.com/aspect-build/bazel-lib/releases/download/v2.7.2/bazel-lib-v2.7.2.tar.gz",
|
|
)
|
|
|
|
# Download toolchains
|
|
http_archive(
|
|
name = "rules_bzlmodrio_toolchains",
|
|
sha256 = "2bf0266dd899ce634549d5e610c04b871047b75b9d02ea72d37a4d3c28ac981f",
|
|
url = "https://github.com/wpilibsuite/rules_bzlmodrio_toolchains/releases/download/2025-1.bcr3/rules_bzlmodrio_toolchains-2025-1.bcr3.tar.gz",
|
|
)
|
|
|
|
load("@bazel_features//:deps.bzl", "bazel_features_deps")
|
|
|
|
bazel_features_deps()
|
|
|
|
load("@build_bazel_apple_support//lib:repositories.bzl", "apple_support_dependencies")
|
|
|
|
apple_support_dependencies()
|
|
|
|
load("@rules_cc//cc:repositories.bzl", "rules_cc_toolchains")
|
|
|
|
rules_cc_toolchains()
|
|
|
|
load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies")
|
|
|
|
rules_java_dependencies()
|
|
|
|
# note that the following line is what is minimally required from protobuf for the java rules
|
|
# consider using the protobuf_deps() public API from @com_google_protobuf//:protobuf_deps.bzl
|
|
load("@com_google_protobuf//bazel/private:proto_bazel_features.bzl", "proto_bazel_features") # buildifier: disable=bzl-visibility
|
|
|
|
proto_bazel_features(name = "proto_bazel_features")
|
|
|
|
# register toolchains
|
|
load("@rules_java//java:repositories.bzl", "rules_java_toolchains")
|
|
|
|
rules_java_toolchains()
|
|
|
|
load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_toolchains")
|
|
|
|
py_repositories()
|
|
|
|
python_register_toolchains(
|
|
name = "python_3_10",
|
|
ignore_root_user_error = True,
|
|
python_version = "3.10",
|
|
)
|
|
|
|
load("@rules_python//python:pip.bzl", "pip_parse")
|
|
|
|
pip_parse(
|
|
name = "allwpilib_pip_deps",
|
|
python_interpreter_target = "@python_3_10_host//:python",
|
|
requirements_lock = "//:requirements_lock.txt",
|
|
)
|
|
|
|
load("@allwpilib_pip_deps//:requirements.bzl", "install_deps")
|
|
|
|
install_deps()
|
|
|
|
load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps")
|
|
|
|
rules_jvm_external_deps()
|
|
|
|
load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")
|
|
|
|
rules_jvm_external_setup()
|
|
|
|
load("@rules_jvm_external//:defs.bzl", "maven_install")
|
|
load("@rules_jvm_external//:specs.bzl", "maven")
|
|
|
|
maven_artifacts = [
|
|
"org.ejml:ejml-simple:0.43.1",
|
|
"com.fasterxml.jackson.core:jackson-annotations:2.15.2",
|
|
"com.fasterxml.jackson.core:jackson-core:2.15.2",
|
|
"com.fasterxml.jackson.core:jackson-databind:2.15.2",
|
|
"us.hebi.quickbuf:quickbuf-runtime:1.3.3",
|
|
"com.google.code.gson:gson:2.10.1",
|
|
maven.artifact(
|
|
"org.junit.jupiter",
|
|
"junit-jupiter",
|
|
"5.10.1",
|
|
testonly = True,
|
|
),
|
|
maven.artifact(
|
|
"org.junit.platform",
|
|
"junit-platform-console",
|
|
"1.10.1",
|
|
testonly = True,
|
|
),
|
|
maven.artifact(
|
|
"org.junit.platform",
|
|
"junit-platform-launcher",
|
|
"1.10.1",
|
|
testonly = True,
|
|
),
|
|
maven.artifact(
|
|
"org.junit.platform",
|
|
"junit-platform-reporting",
|
|
"1.10.1",
|
|
testonly = True,
|
|
),
|
|
maven.artifact(
|
|
"com.google.code.gson",
|
|
"gson",
|
|
"2.10.1",
|
|
testonly = False,
|
|
),
|
|
maven.artifact(
|
|
"org.hamcrest",
|
|
"hamcrest-all",
|
|
"1.3",
|
|
testonly = True,
|
|
),
|
|
maven.artifact(
|
|
"com.googlecode.junit-toolbox",
|
|
"junit-toolbox",
|
|
"2.4",
|
|
testonly = True,
|
|
),
|
|
maven.artifact(
|
|
"org.apache.ant",
|
|
"ant",
|
|
"1.10.12",
|
|
testonly = True,
|
|
),
|
|
maven.artifact(
|
|
"org.apache.ant",
|
|
"ant-junit",
|
|
"1.10.12",
|
|
testonly = True,
|
|
),
|
|
maven.artifact(
|
|
"org.mockito",
|
|
"mockito-core",
|
|
"4.1.0",
|
|
testonly = True,
|
|
),
|
|
maven.artifact(
|
|
"com.google.testing.compile",
|
|
"compile-testing",
|
|
"0.21.0",
|
|
testonly = True,
|
|
),
|
|
]
|
|
|
|
maven_install(
|
|
name = "maven",
|
|
artifacts = maven_artifacts,
|
|
maven_install_json = "//:maven_install.json",
|
|
repositories = [
|
|
"https://repo1.maven.org/maven2",
|
|
"https://frcmaven.wpi.edu/artifactory/release/",
|
|
],
|
|
)
|
|
|
|
load("@maven//:defs.bzl", "pinned_maven_install")
|
|
|
|
pinned_maven_install()
|
|
|
|
load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "aspect_bazel_lib_register_toolchains")
|
|
|
|
aspect_bazel_lib_dependencies()
|
|
|
|
aspect_bazel_lib_register_toolchains()
|
|
|
|
load("@rules_bzlmodrio_toolchains//:maven_deps.bzl", "setup_legacy_setup_toolchains_dependencies")
|
|
|
|
setup_legacy_setup_toolchains_dependencies()
|
|
|
|
load("@rules_bzlmodrio_toolchains//toolchains:load_toolchains.bzl", "load_toolchains")
|
|
|
|
load_toolchains()
|
|
|
|
#
|
|
http_archive(
|
|
name = "rules_bzlmodrio_jdk",
|
|
sha256 = "623b8bcdba1c3140f56e940365f011d2e5d90d74c7a30ace6a8817c037c1dd61",
|
|
url = "https://github.com/wpilibsuite/rules_bzlmodRio_jdk/releases/download/17.0.12-7.bcr1/rules_bzlmodrio_jdk-17.0.12-7.bcr1.tar.gz",
|
|
)
|
|
|
|
load("@rules_bzlmodrio_jdk//:maven_deps.bzl", "setup_legacy_setup_jdk_dependencies")
|
|
|
|
setup_legacy_setup_jdk_dependencies()
|
|
|
|
register_toolchains(
|
|
"@local_roborio//:macos",
|
|
"@local_roborio//:linux",
|
|
"@local_roborio//:windows",
|
|
"@local_systemcore//:macos",
|
|
"@local_systemcore//:linux",
|
|
"@local_systemcore//:windows",
|
|
"@local_raspi_bullseye_32//:macos",
|
|
"@local_raspi_bullseye_32//:linux",
|
|
"@local_raspi_bullseye_32//:windows",
|
|
"@local_raspi_bookworm_32//:macos",
|
|
"@local_raspi_bookworm_32//:linux",
|
|
"@local_raspi_bookworm_32//:windows",
|
|
"@local_bullseye_32//:macos",
|
|
"@local_bullseye_32//:linux",
|
|
"@local_bullseye_32//:windows",
|
|
"@local_bullseye_64//:macos",
|
|
"@local_bullseye_64//:linux",
|
|
"@local_bullseye_64//:windows",
|
|
"@local_bookworm_32//:macos",
|
|
"@local_bookworm_32//:linux",
|
|
"@local_bookworm_32//:windows",
|
|
"@local_bookworm_64//:macos",
|
|
"@local_bookworm_64//:linux",
|
|
"@local_bookworm_64//:windows",
|
|
)
|
|
|
|
setup_legacy_setup_jdk_dependencies()
|
|
|
|
http_archive(
|
|
name = "bzlmodrio-ni",
|
|
sha256 = "fff62c3cb3e83f9a0d0a01f1739477c9ca5e9a6fac05be1ad59dafcd385801f7",
|
|
url = "https://github.com/wpilibsuite/bzlmodRio-ni/releases/download/2025.2.0/bzlmodRio-ni-2025.2.0.tar.gz",
|
|
)
|
|
|
|
load("@bzlmodrio-ni//:maven_cpp_deps.bzl", "setup_legacy_bzlmodrio_ni_cpp_dependencies")
|
|
|
|
setup_legacy_bzlmodrio_ni_cpp_dependencies()
|
|
|
|
http_archive(
|
|
name = "bzlmodrio-opencv",
|
|
sha256 = "6e8544fae07ed5b4fedc146f6ad083d0d8947e3efb5332a20abc46601a52a1b5",
|
|
url = "https://github.com/wpilibsuite/bzlmodRio-opencv/releases/download/2025.4.10.0-3.bcr2/bzlmodRio-opencv-2025.4.10.0-3.bcr2.tar.gz",
|
|
)
|
|
|
|
load("@bzlmodrio-opencv//:maven_cpp_deps.bzl", "setup_legacy_bzlmodrio_opencv_cpp_dependencies")
|
|
|
|
setup_legacy_bzlmodrio_opencv_cpp_dependencies()
|
|
|
|
load("@bzlmodrio-opencv//:maven_java_deps.bzl", "setup_legacy_bzlmodrio_opencv_java_dependencies")
|
|
|
|
setup_legacy_bzlmodrio_opencv_java_dependencies()
|
|
|
|
http_archive(
|
|
name = "bzlmodrio-libssh",
|
|
sha256 = "65caef82554617403a16c79e8bcac6553d40eca3e23197e63275bba22db7d5b5",
|
|
strip_prefix = "bzlmodRio-libssh-8405fbd5eb4e42b495f08f6ccf6fbbe5ced28bb7",
|
|
urls = ["https://github.com/wpilibsuite/bzlmodRio-libssh/archive/8405fbd5eb4e42b495f08f6ccf6fbbe5ced28bb7.tar.gz"],
|
|
)
|
|
|
|
load("@bzlmodrio-libssh//:maven_cpp_deps.bzl", "setup_legacy_bzlmodrio_libssh_cpp_dependencies")
|
|
|
|
setup_legacy_bzlmodrio_libssh_cpp_dependencies()
|
|
|
|
# Setup quickbuf compiler
|
|
QUICKBUF_VERSION = "1.3.2"
|
|
|
|
http_file(
|
|
name = "quickbuffer_protoc_linux",
|
|
executable = True,
|
|
sha256 = "f9a041bccaa7040db523666ef1b5fe9f6f94e70a82c88951f18f58aadd9c50b5",
|
|
url = "https://repo1.maven.org/maven2/us/hebi/quickbuf/protoc-gen-quickbuf/" + QUICKBUF_VERSION + "/protoc-gen-quickbuf-" + QUICKBUF_VERSION + "-linux-x86_64.exe",
|
|
)
|
|
|
|
http_file(
|
|
name = "quickbuffer_protoc_osx",
|
|
executable = True,
|
|
sha256 = "ea307c2b69664ae7e7c69db4cddf5803187e5a34bceffd09a21652f0f16044f7",
|
|
url = "https://repo1.maven.org/maven2/us/hebi/quickbuf/protoc-gen-quickbuf/" + QUICKBUF_VERSION + "/protoc-gen-quickbuf-" + QUICKBUF_VERSION + "-osx-x86_64.exe ",
|
|
)
|
|
|
|
http_file(
|
|
name = "quickbuffer_protoc_windows",
|
|
executable = True,
|
|
sha256 = "27dc1f29764a62b5e6a813a4bcd63e81bbdc3394da760a44acae1025b4a89f1d",
|
|
url = "https://repo1.maven.org/maven2/us/hebi/quickbuf/protoc-gen-quickbuf/" + QUICKBUF_VERSION + "/protoc-gen-quickbuf-" + QUICKBUF_VERSION + "-windows-x86_64.exe ",
|
|
)
|
|
|
|
# Setup rules_proto
|
|
http_archive(
|
|
name = "rules_proto",
|
|
sha256 = "0e5c64a2599a6e26c6a03d6162242d231ecc0de219534c38cb4402171def21e8",
|
|
strip_prefix = "rules_proto-7.0.2",
|
|
url = "https://github.com/bazelbuild/rules_proto/releases/download/7.0.2/rules_proto-7.0.2.tar.gz",
|
|
)
|
|
|
|
load("@rules_proto//proto:repositories.bzl", "rules_proto_dependencies")
|
|
|
|
rules_proto_dependencies()
|
|
|
|
load("@rules_proto//proto:setup.bzl", "rules_proto_setup")
|
|
|
|
rules_proto_setup()
|
|
|
|
load("@rules_pkg//:deps.bzl", "rules_pkg_dependencies")
|
|
|
|
rules_pkg_dependencies()
|