mirror of
https://github.com/PhotonVision/photonvision
synced 2026-07-05 03:21:40 +00:00
Fix MacOS OpenCV library loading and use wpi buildTools versions (#978)
* Bump to beta 2 * Reduce copy paste spam going forwards * Bump gradle * oops * fix gradlew * update gradle wrapper props * remove unused imports * Update node task * Fix shadowjar * fix more deps * ? * core works * revert changes to index * Formatting fixes * Update config.gradle * Fix PhotonLib gradle * fix tests and sim loading native libraries * re-enable macos build * fix? * Update build.gradle --------- Co-authored-by: Matt <matthew.morley.ca@gmail.com>
This commit is contained in:
@@ -1,31 +1,33 @@
|
||||
import java.nio.file.Path
|
||||
import java.time.LocalDateTime
|
||||
import java.time.format.DateTimeFormatter
|
||||
|
||||
// Plugins
|
||||
apply plugin: "jacoco"
|
||||
apply plugin: "java"
|
||||
apply plugin: "jacoco"
|
||||
|
||||
java {
|
||||
sourceCompatibility = JavaVersion.VERSION_11
|
||||
targetCompatibility = JavaVersion.VERSION_11
|
||||
}
|
||||
|
||||
wpilibTools.deps.wpilibVersion = wpilibVersion
|
||||
wpilibTools.deps.wpilibVersion = wpi.versions.wpilibVersion.get()
|
||||
|
||||
def nativeConfigName = 'wpilibTestNative'
|
||||
def nativeConfig = configurations.create(nativeConfigName)
|
||||
|
||||
def nativeTasks = wpilibTools.createExtractionTasks {
|
||||
configurationName = nativeConfigName
|
||||
}
|
||||
|
||||
nativeTasks.addToSourceSetResources(sourceSets.main)
|
||||
|
||||
nativeConfig.dependencies.add wpilibTools.deps.wpilib("wpimath")
|
||||
nativeConfig.dependencies.add wpilibTools.deps.wpilib("wpinet")
|
||||
nativeConfig.dependencies.add wpilibTools.deps.wpilib("wpiutil")
|
||||
nativeConfig.dependencies.add wpilibTools.deps.wpilib("ntcore")
|
||||
nativeConfig.dependencies.add wpilibTools.deps.wpilib("cscore")
|
||||
nativeConfig.dependencies.add wpilibTools.deps.wpilib("apriltag")
|
||||
nativeConfig.dependencies.add wpilibTools.deps.wpilib("hal")
|
||||
nativeConfig.dependencies.add wpilibTools.deps.wpilibOpenCv("frc" + wpi.frcYear.get(), wpi.versions.opencvVersion.get())
|
||||
|
||||
dependencies {
|
||||
// Jackson
|
||||
implementation "com.fasterxml.jackson.core:jackson-annotations:2.12.4"
|
||||
implementation "com.fasterxml.jackson.core:jackson-core:2.12.4"
|
||||
implementation "com.fasterxml.jackson.core:jackson-databind:2.12.4"
|
||||
|
||||
// Apache commons
|
||||
implementation group: "org.apache.commons", name: "commons-lang3", version: "3.12.0"
|
||||
implementation group: "commons-io", name: "commons-io", version: "2.11.0"
|
||||
implementation group: "commons-cli", name: "commons-cli", version: "1.5.0"
|
||||
implementation "org.apache.commons:commons-collections4:4.4"
|
||||
implementation "org.apache.commons:commons-exec:1.3"
|
||||
|
||||
// WPILib deps
|
||||
implementation wpilibTools.deps.wpilibJava("wpiutil")
|
||||
implementation wpilibTools.deps.wpilibJava("cameraserver")
|
||||
@@ -35,13 +37,23 @@ dependencies {
|
||||
implementation wpilibTools.deps.wpilibJava("ntcore")
|
||||
implementation wpilibTools.deps.wpilibJava("hal")
|
||||
implementation wpilibTools.deps.wpilibJava("wpilibj")
|
||||
implementation wpilibTools.deps.wpilibOpenCvJava("frc" + wpi.frcYear.get(), wpi.versions.opencvVersion.get())
|
||||
|
||||
implementation "edu.wpi.first.thirdparty.frc2024.opencv:opencv-java:$openCVversion"
|
||||
implementation "edu.wpi.first.thirdparty.frc2024.opencv:opencv-jni:$openCVversion:$jniPlatform"
|
||||
// Jackson
|
||||
implementation group: "com.fasterxml.jackson.core", name: "jackson-annotations", version: wpi.versions.jacksonVersion.get()
|
||||
implementation group: "com.fasterxml.jackson.core", name: "jackson-core", version: wpi.versions.jacksonVersion.get()
|
||||
implementation group: "com.fasterxml.jackson.core", name: "jackson-databind", version: wpi.versions.jacksonVersion.get()
|
||||
|
||||
implementation "org.ejml:ejml-simple:0.42"
|
||||
// Apache commons
|
||||
implementation group: "org.apache.commons", name: "commons-lang3", version: "3.12.0"
|
||||
implementation group: "commons-io", name: "commons-io", version: "2.11.0"
|
||||
implementation group: "commons-cli", name: "commons-cli", version: "1.5.0"
|
||||
implementation "org.apache.commons:commons-collections4:4.4"
|
||||
implementation "org.apache.commons:commons-exec:1.3"
|
||||
|
||||
implementation group: "org.ejml", name: "ejml-simple", version: wpi.versions.ejmlVersion.get()
|
||||
implementation group: "us.hebi.quickbuf", name: "quickbuf-runtime", version: wpi.versions.quickbufVersion.get();
|
||||
|
||||
// test stuff
|
||||
testImplementation("org.junit.jupiter:junit-jupiter:5.8.2")
|
||||
|
||||
// wpilib serde
|
||||
@@ -57,7 +69,7 @@ test {
|
||||
finalizedBy jacocoTestReport
|
||||
}
|
||||
|
||||
task testHeadless(type: Test) {
|
||||
tasks.register('testHeadless', Test) {
|
||||
group = "verification"
|
||||
systemProperty("java.awt.headless", "true")
|
||||
useJUnitPlatform()
|
||||
@@ -65,13 +77,12 @@ task testHeadless(type: Test) {
|
||||
workingDir = "../"
|
||||
}
|
||||
|
||||
task generateJavaDocs(type: Javadoc) {
|
||||
tasks.register('generateJavaDocs', Javadoc) {
|
||||
source = sourceSets.main.allJava
|
||||
classpath = sourceSets.main.compileClasspath
|
||||
destinationDir = file("${projectDir}/build/docs")
|
||||
}
|
||||
|
||||
|
||||
jacoco {
|
||||
toolVersion = "0.8.9"
|
||||
reportsDirectory = layout.buildDirectory.dir('customJacocoReportDir')
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
apply plugin: "edu.wpi.first.NativeUtils"
|
||||
|
||||
// Configure Native-Utils WPI Plugin
|
||||
nativeUtils.addWpiNativeUtils()
|
||||
nativeUtils.withCrossRoboRIO()
|
||||
@@ -6,15 +8,12 @@ nativeUtils.withCrossLinuxArm64()
|
||||
|
||||
// Configure WPI dependencies.
|
||||
nativeUtils.wpi.configureDependencies {
|
||||
opencvYear = 'frc2024'
|
||||
googleTestYear = "frc2023"
|
||||
|
||||
wpiVersion = wpilibVersion
|
||||
wpimathVersion = wpilibVersion
|
||||
niLibVersion = "2024.1.1"
|
||||
opencvYear = 'frc2024'
|
||||
opencvVersion = openCVversion
|
||||
googleTestYear = "frc2023"
|
||||
niLibVersion = "2024.1.1"
|
||||
googleTestVersion = "1.12.1-2"
|
||||
imguiVersion = "1.86-1"
|
||||
}
|
||||
|
||||
// Configure warnings and errors
|
||||
|
||||
Reference in New Issue
Block a user