[build] Update native-utils, OpenCV, libssh (#8818)

This commit is contained in:
Gold856
2026-04-27 01:31:14 -04:00
committed by GitHub
parent 657d4d9b58
commit 8d30131fce
7 changed files with 36 additions and 39 deletions

View File

@@ -57,7 +57,7 @@ maven.install(
"io.avaje:avaje-jsonb-generator:3.11", "io.avaje:avaje-jsonb-generator:3.11",
"us.hebi.quickbuf:quickbuf-runtime:1.4", "us.hebi.quickbuf:quickbuf-runtime:1.4",
"com.google.code.gson:gson:2.13.1", "com.google.code.gson:gson:2.13.1",
"edu.wpi.first.thirdparty.frc2025.opencv:opencv-java:4.10.0-3", "org.wpilib.thirdparty.opencv:opencv-java:2027-4.13.0-1",
"org.junit.jupiter:junit-jupiter:5.10.1", "org.junit.jupiter:junit-jupiter:5.10.1",
"org.junit.platform:junit-platform-console:1.10.1", "org.junit.platform:junit-platform-console:1.10.1",
"org.junit.platform:junit-platform-launcher:1.10.1", "org.junit.platform:junit-platform-launcher:1.10.1",

View File

@@ -21,8 +21,8 @@ http_archive(
http_archive( http_archive(
name = "bzlmodrio-opencv", name = "bzlmodrio-opencv",
sha256 = "867ec3e90b7efc30ff6eb68d14050e7f1e800656d390505b135069f080c5cd91", sha256 = "947df6f399593a54779b7706da8abaa43865769e02b15533519c800e23be419f",
url = "https://github.com/wpilibsuite/bzlmodRio-opencv/releases/download/2025.4.10.0-3.bcr5/bzlmodRio-opencv-2025.4.10.0-3.bcr5.tar.gz", url = "https://github.com/wpilibsuite/bzlmodRio-opencv/releases/download/2027.4.13.0-3/bzlmodRio-opencv-2027.4.13.0-3.tar.gz",
) )
load("@bzlmodrio-opencv//:maven_cpp_deps.bzl", "setup_legacy_bzlmodrio_opencv_cpp_dependencies") load("@bzlmodrio-opencv//:maven_cpp_deps.bzl", "setup_legacy_bzlmodrio_opencv_cpp_dependencies")

View File

@@ -2,8 +2,7 @@
avaje = "3.11" avaje = "3.11"
ejml = "0.44.0" ejml = "0.44.0"
jmh = "1.37" jmh = "1.37"
opencv = "4.10.0-3" opencv = "2027-4.13.0-3"
thirdparty-year = "frc2025" # Note: this also appears in the opencv module name in the libraries section
quickbuf = "1.4" quickbuf = "1.4"
[libraries] [libraries]
@@ -13,7 +12,7 @@ avaje-jsonb-generator = { module = "io.avaje:avaje-jsonb-generator", version.ref
ejml-simple = { module = "org.ejml:ejml-simple", version.ref = "ejml" } # also pulls in other EJML modules as transitive dependencies ejml-simple = { module = "org.ejml:ejml-simple", version.ref = "ejml" } # also pulls in other EJML modules as transitive dependencies
gson = { module = "com.google.code.gson:gson", version = "2.13.1" } gson = { module = "com.google.code.gson:gson", version = "2.13.1" }
quickbuf-runtime = { module = "us.hebi.quickbuf:quickbuf-runtime", version.ref = "quickbuf" } quickbuf-runtime = { module = "us.hebi.quickbuf:quickbuf-runtime", version.ref = "quickbuf" }
thirdparty-opencv = { module = "edu.wpi.first.thirdparty.frc2025.opencv:opencv-java", version.ref = "opencv" } thirdparty-opencv = { module = "org.wpilib.thirdparty.opencv:opencv-java", version.ref = "opencv" }
# General test dependencies # General test dependencies
compile-testing = { module = "com.google.testing.compile:compile-testing", version = "0.23.0" } compile-testing = { module = "com.google.testing.compile:compile-testing", version = "0.23.0" }
@@ -27,7 +26,7 @@ mockito-core = { module = "org.mockito:mockito-core", version = "4.1.0" }
# Note that these are also Gradle plugins and cannot be used with the plugin specification # Note that these are also Gradle plugins and cannot be used with the plugin specification
# due to their presence on the classpath without version information. # due to their presence on the classpath without version information.
wpilib-gradle-vscode = { module = "org.wpilib:gradle-cpp-vscode", version = "2027.0.0" } wpilib-gradle-vscode = { module = "org.wpilib:gradle-cpp-vscode", version = "2027.0.0" }
wpilib-native-utils = { module = "org.wpilib:native-utils", version = "2027.6.1" } wpilib-native-utils = { module = "org.wpilib:native-utils", version = "2027.7.1" }
[bundles] [bundles]
ejml = ["ejml-simple"] ejml = ["ejml-simple"]
@@ -46,6 +45,6 @@ wpilib-gradle-jni = { id = "org.wpilib.GradleJni", version = "2027.0.0" }
# Note: these plugins can't be used. Their JARs are on the classpath for buildSrc, # Note: these plugins can't be used. Their JARs are on the classpath for buildSrc,
# which doesn't retain version information. # which doesn't retain version information.
# wpilib-gradle-vscode = { id = "org.wpilib.GradleVsCode", version = "2027.0.0" } # wpilib-gradle-vscode = { id = "org.wpilib.GradleVsCode", version = "2027.0.0" }
# wpilib-native-utils = { id = "org.wpilib.NativeUtils", version = "2027.6.1" } # wpilib-native-utils = { id = "org.wpilib.NativeUtils", version = "2027.7.1" }
wpilib-repositories = { id = "org.wpilib.WPILibRepositoriesPlugin", version = "2027.0.0" } wpilib-repositories = { id = "org.wpilib.WPILibRepositoriesPlugin", version = "2027.0.0" }
wpilib-versioning = { id = "org.wpilib.WPILibVersioningPlugin", version = "2027.0.1" } wpilib-versioning = { id = "org.wpilib.WPILibVersioningPlugin", version = "2027.0.1" }

View File

@@ -1,7 +1,7 @@
{ {
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
"__INPUT_ARTIFACTS_HASH": -1041456735, "__INPUT_ARTIFACTS_HASH": 1426109513,
"__RESOLVED_ARTIFACTS_HASH": 1647610835, "__RESOLVED_ARTIFACTS_HASH": 1378504311,
"conflict_resolution": { "conflict_resolution": {
"com.google.errorprone:error_prone_annotations:2.5.1": "com.google.errorprone:error_prone_annotations:2.38.0" "com.google.errorprone:error_prone_annotations:2.5.1": "com.google.errorprone:error_prone_annotations:2.38.0"
}, },
@@ -90,12 +90,6 @@
}, },
"version": "2.4" "version": "2.4"
}, },
"edu.wpi.first.thirdparty.frc2025.opencv:opencv-java": {
"shasums": {
"jar": "c7ad59669aee50dd6f601ea7e99fdbafb6a0f09aacae1fb1fb19f0b893c7f80e"
},
"version": "4.10.0-3"
},
"io.avaje:avaje-json-core": { "io.avaje:avaje-json-core": {
"shasums": { "shasums": {
"jar": "9a784937ea8fe888effa0056a0acc48d07b0cad6fbe5a1e6a72f3928545aab61" "jar": "9a784937ea8fe888effa0056a0acc48d07b0cad6fbe5a1e6a72f3928545aab61"
@@ -324,6 +318,12 @@
}, },
"version": "9.1" "version": "9.1"
}, },
"org.wpilib.thirdparty.opencv:opencv-java": {
"shasums": {
"jar": "198ecc4421cf405b31bf71eaf2ad8adf85030001c8cea2fba587c4486eb2bb93"
},
"version": "2027-4.13.0-1"
},
"us.hebi.quickbuf:quickbuf-runtime": { "us.hebi.quickbuf:quickbuf-runtime": {
"shasums": { "shasums": {
"jar": "ad4919676436a1f1d992d2310cf5f6b06741468bc82ce9b3538f141051af44f1" "jar": "ad4919676436a1f1d992d2310cf5f6b06741468bc82ce9b3538f141051af44f1"
@@ -610,23 +610,6 @@
"org.apache.commons.io.monitor", "org.apache.commons.io.monitor",
"org.apache.commons.io.output" "org.apache.commons.io.output"
], ],
"edu.wpi.first.thirdparty.frc2025.opencv:opencv-java": [
"org.opencv.aruco",
"org.opencv.calib3d",
"org.opencv.core",
"org.opencv.dnn",
"org.opencv.features2d",
"org.opencv.highgui",
"org.opencv.imgcodecs",
"org.opencv.imgproc",
"org.opencv.ml",
"org.opencv.objdetect",
"org.opencv.osgi",
"org.opencv.photo",
"org.opencv.utils",
"org.opencv.video",
"org.opencv.videoio"
],
"io.avaje:avaje-json-core": [ "io.avaje:avaje-json-core": [
"io.avaje.json", "io.avaje.json",
"io.avaje.json.core", "io.avaje.json.core",
@@ -1177,6 +1160,22 @@
"org.objectweb.asm", "org.objectweb.asm",
"org.objectweb.asm.signature" "org.objectweb.asm.signature"
], ],
"org.wpilib.thirdparty.opencv:opencv-java": [
"org.opencv.calib3d",
"org.opencv.core",
"org.opencv.dnn",
"org.opencv.features2d",
"org.opencv.highgui",
"org.opencv.imgcodecs",
"org.opencv.imgproc",
"org.opencv.ml",
"org.opencv.objdetect",
"org.opencv.osgi",
"org.opencv.photo",
"org.opencv.utils",
"org.opencv.video",
"org.opencv.videoio"
],
"us.hebi.quickbuf:quickbuf-runtime": [ "us.hebi.quickbuf:quickbuf-runtime": [
"us.hebi.quickbuf" "us.hebi.quickbuf"
] ]
@@ -1197,7 +1196,6 @@
"com.google.truth:truth", "com.google.truth:truth",
"com.googlecode.junit-toolbox:junit-toolbox", "com.googlecode.junit-toolbox:junit-toolbox",
"commons-io:commons-io", "commons-io:commons-io",
"edu.wpi.first.thirdparty.frc2025.opencv:opencv-java",
"io.avaje:avaje-json-core", "io.avaje:avaje-json-core",
"io.avaje:avaje-jsonb", "io.avaje:avaje-jsonb",
"io.avaje:avaje-jsonb-generator", "io.avaje:avaje-jsonb-generator",
@@ -1236,6 +1234,7 @@
"org.objenesis:objenesis", "org.objenesis:objenesis",
"org.opentest4j:opentest4j", "org.opentest4j:opentest4j",
"org.ow2.asm:asm", "org.ow2.asm:asm",
"org.wpilib.thirdparty.opencv:opencv-java",
"us.hebi.quickbuf:quickbuf-runtime" "us.hebi.quickbuf:quickbuf-runtime"
], ],
"https://repo1.maven.org/maven2/": [ "https://repo1.maven.org/maven2/": [
@@ -1253,7 +1252,6 @@
"com.google.truth:truth", "com.google.truth:truth",
"com.googlecode.junit-toolbox:junit-toolbox", "com.googlecode.junit-toolbox:junit-toolbox",
"commons-io:commons-io", "commons-io:commons-io",
"edu.wpi.first.thirdparty.frc2025.opencv:opencv-java",
"io.avaje:avaje-json-core", "io.avaje:avaje-json-core",
"io.avaje:avaje-jsonb", "io.avaje:avaje-jsonb",
"io.avaje:avaje-jsonb-generator", "io.avaje:avaje-jsonb-generator",
@@ -1292,6 +1290,7 @@
"org.objenesis:objenesis", "org.objenesis:objenesis",
"org.opentest4j:opentest4j", "org.opentest4j:opentest4j",
"org.ow2.asm:asm", "org.ow2.asm:asm",
"org.wpilib.thirdparty.opencv:opencv-java",
"us.hebi.quickbuf:quickbuf-runtime" "us.hebi.quickbuf:quickbuf-runtime"
] ]
}, },

View File

@@ -10,7 +10,6 @@ nativeUtils.withCrossSystemCore()
nativeUtils { nativeUtils {
wpi { wpi {
configureDependencies { configureDependencies {
opencvYear = libs.versions.thirdparty.year
opencvVersion = libs.versions.opencv opencvVersion = libs.versions.opencv
} }
} }

View File

@@ -1,12 +1,12 @@
nativeUtils { nativeUtils {
nativeDependencyContainer { nativeDependencyContainer {
libssh(getNativeDependencyTypeClass('WPIStaticMavenDependency')) { libssh(getNativeDependencyTypeClass('WPIStaticMavenDependency')) {
groupId = "edu.wpi.first.thirdparty.frc2024" groupId = "org.wpilib.thirdparty"
artifactId = "libssh" artifactId = "libssh"
headerClassifier = "headers" headerClassifier = "headers"
sourceClassifier = "sources" sourceClassifier = "sources"
ext = "zip" ext = "zip"
version = '0.105-1' version = '2027-0.120-1'
targetPlatforms.addAll(nativeUtils.wpi.platforms.allPlatforms) targetPlatforms.addAll(nativeUtils.wpi.platforms.allPlatforms)
} }
} }

View File

@@ -106,7 +106,7 @@ model {
nativeUtils.useRequiredLibrary(it, 'libssh') nativeUtils.useRequiredLibrary(it, 'libssh')
if (it.targetPlatform.operatingSystem.isWindows()) { if (it.targetPlatform.operatingSystem.isWindows()) {
it.linker.args << 'Gdi32.lib' << 'Shell32.lib' << 'd3d11.lib' << 'd3dcompiler.lib' it.linker.args << 'Gdi32.lib' << 'Shell32.lib' << 'd3d11.lib' << 'd3dcompiler.lib'
it.linker.args << 'ws2_32.lib' << 'advapi32.lib' << 'crypt32.lib' << 'user32.lib' it.linker.args << 'ws2_32.lib' << 'advapi32.lib' << 'crypt32.lib' << 'user32.lib' << 'Iphlpapi.lib'
} else if (it.targetPlatform.operatingSystem.isMacOsX()) { } else if (it.targetPlatform.operatingSystem.isMacOsX()) {
it.linker.args << '-framework' << 'Metal' << '-framework' << 'MetalKit' << '-framework' << 'Cocoa' << '-framework' << 'IOKit' << '-framework' << 'CoreFoundation' << '-framework' << 'CoreVideo' << '-framework' << 'QuartzCore' it.linker.args << '-framework' << 'Metal' << '-framework' << 'MetalKit' << '-framework' << 'Cocoa' << '-framework' << 'IOKit' << '-framework' << 'CoreFoundation' << '-framework' << 'CoreVideo' << '-framework' << 'QuartzCore'
it.linker.args << '-framework' << 'Kerberos' it.linker.args << '-framework' << 'Kerberos'