diff --git a/MODULE.bazel b/MODULE.bazel index 0a91a99197..29bfa1e6b7 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -57,7 +57,7 @@ maven.install( "io.avaje:avaje-jsonb-generator:3.11", "us.hebi.quickbuf:quickbuf-runtime:1.4", "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.platform:junit-platform-console:1.10.1", "org.junit.platform:junit-platform-launcher:1.10.1", diff --git a/WORKSPACE.bzlmod b/WORKSPACE.bzlmod index 66f10f8fea..c19ff662d5 100644 --- a/WORKSPACE.bzlmod +++ b/WORKSPACE.bzlmod @@ -21,8 +21,8 @@ http_archive( http_archive( name = "bzlmodrio-opencv", - sha256 = "867ec3e90b7efc30ff6eb68d14050e7f1e800656d390505b135069f080c5cd91", - 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", + sha256 = "947df6f399593a54779b7706da8abaa43865769e02b15533519c800e23be419f", + 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") diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ad3e0f761d..a215450fa4 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -2,8 +2,7 @@ avaje = "3.11" ejml = "0.44.0" jmh = "1.37" -opencv = "4.10.0-3" -thirdparty-year = "frc2025" # Note: this also appears in the opencv module name in the libraries section +opencv = "2027-4.13.0-3" quickbuf = "1.4" [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 gson = { module = "com.google.code.gson:gson", version = "2.13.1" } 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 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 # due to their presence on the classpath without version information. 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] 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, # which doesn't retain version information. # 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-versioning = { id = "org.wpilib.WPILibVersioningPlugin", version = "2027.0.1" } diff --git a/maven_install.json b/maven_install.json index 805aeafc94..4a1ec2d0fe 100755 --- a/maven_install.json +++ b/maven_install.json @@ -1,7 +1,7 @@ { "__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL", - "__INPUT_ARTIFACTS_HASH": -1041456735, - "__RESOLVED_ARTIFACTS_HASH": 1647610835, + "__INPUT_ARTIFACTS_HASH": 1426109513, + "__RESOLVED_ARTIFACTS_HASH": 1378504311, "conflict_resolution": { "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" }, - "edu.wpi.first.thirdparty.frc2025.opencv:opencv-java": { - "shasums": { - "jar": "c7ad59669aee50dd6f601ea7e99fdbafb6a0f09aacae1fb1fb19f0b893c7f80e" - }, - "version": "4.10.0-3" - }, "io.avaje:avaje-json-core": { "shasums": { "jar": "9a784937ea8fe888effa0056a0acc48d07b0cad6fbe5a1e6a72f3928545aab61" @@ -324,6 +318,12 @@ }, "version": "9.1" }, + "org.wpilib.thirdparty.opencv:opencv-java": { + "shasums": { + "jar": "198ecc4421cf405b31bf71eaf2ad8adf85030001c8cea2fba587c4486eb2bb93" + }, + "version": "2027-4.13.0-1" + }, "us.hebi.quickbuf:quickbuf-runtime": { "shasums": { "jar": "ad4919676436a1f1d992d2310cf5f6b06741468bc82ce9b3538f141051af44f1" @@ -610,23 +610,6 @@ "org.apache.commons.io.monitor", "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.json", "io.avaje.json.core", @@ -1177,6 +1160,22 @@ "org.objectweb.asm", "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" ] @@ -1197,7 +1196,6 @@ "com.google.truth:truth", "com.googlecode.junit-toolbox:junit-toolbox", "commons-io:commons-io", - "edu.wpi.first.thirdparty.frc2025.opencv:opencv-java", "io.avaje:avaje-json-core", "io.avaje:avaje-jsonb", "io.avaje:avaje-jsonb-generator", @@ -1236,6 +1234,7 @@ "org.objenesis:objenesis", "org.opentest4j:opentest4j", "org.ow2.asm:asm", + "org.wpilib.thirdparty.opencv:opencv-java", "us.hebi.quickbuf:quickbuf-runtime" ], "https://repo1.maven.org/maven2/": [ @@ -1253,7 +1252,6 @@ "com.google.truth:truth", "com.googlecode.junit-toolbox:junit-toolbox", "commons-io:commons-io", - "edu.wpi.first.thirdparty.frc2025.opencv:opencv-java", "io.avaje:avaje-json-core", "io.avaje:avaje-jsonb", "io.avaje:avaje-jsonb-generator", @@ -1292,6 +1290,7 @@ "org.objenesis:objenesis", "org.opentest4j:opentest4j", "org.ow2.asm:asm", + "org.wpilib.thirdparty.opencv:opencv-java", "us.hebi.quickbuf:quickbuf-runtime" ] }, diff --git a/shared/config.gradle b/shared/config.gradle index 6d98d33c9f..25caff0765 100644 --- a/shared/config.gradle +++ b/shared/config.gradle @@ -10,7 +10,6 @@ nativeUtils.withCrossSystemCore() nativeUtils { wpi { configureDependencies { - opencvYear = libs.versions.thirdparty.year opencvVersion = libs.versions.opencv } } diff --git a/shared/libssh.gradle b/shared/libssh.gradle index c62d47db45..e9ba0a8188 100644 --- a/shared/libssh.gradle +++ b/shared/libssh.gradle @@ -1,12 +1,12 @@ nativeUtils { nativeDependencyContainer { libssh(getNativeDependencyTypeClass('WPIStaticMavenDependency')) { - groupId = "edu.wpi.first.thirdparty.frc2024" + groupId = "org.wpilib.thirdparty" artifactId = "libssh" headerClassifier = "headers" sourceClassifier = "sources" ext = "zip" - version = '0.105-1' + version = '2027-0.120-1' targetPlatforms.addAll(nativeUtils.wpi.platforms.allPlatforms) } } diff --git a/tools/datalogtool/build.gradle b/tools/datalogtool/build.gradle index f63d313389..a51883640e 100644 --- a/tools/datalogtool/build.gradle +++ b/tools/datalogtool/build.gradle @@ -106,7 +106,7 @@ model { nativeUtils.useRequiredLibrary(it, 'libssh') if (it.targetPlatform.operatingSystem.isWindows()) { 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()) { it.linker.args << '-framework' << 'Metal' << '-framework' << 'MetalKit' << '-framework' << 'Cocoa' << '-framework' << 'IOKit' << '-framework' << 'CoreFoundation' << '-framework' << 'CoreVideo' << '-framework' << 'QuartzCore' it.linker.args << '-framework' << 'Kerberos'