// Plugins apply plugin: "java" apply plugin: "jacoco" java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } wpilibTools.deps.wpilibVersion = wpilibVersion // Tell gradlerio what version of things to use (that we care about) // See: https://github.com/wpilibsuite/GradleRIO/blob/main/src/main/java/edu/wpi/first/gradlerio/wpi/WPIVersionsExtension.java wpi.getVersions().getOpencvVersion().convention(openCVversion); wpi.getVersions().getWpilibVersion().convention(wpilibVersion); wpi.getVersions().getWpimathVersion().convention(wpimathVersion); dependencies { implementation project(':photon-targeting') implementation "io.javalin:javalin:$javalinVersion" implementation 'org.msgpack:msgpack-core:0.9.0' implementation 'org.msgpack:jackson-dataformat-msgpack:0.9.0' implementation wpilibTools.deps.wpilibJava("wpiutil") implementation wpilibTools.deps.wpilibJava("cameraserver") implementation wpilibTools.deps.wpilibJava("cscore") implementation wpilibTools.deps.wpilibJava("wpinet") implementation wpilibTools.deps.wpilibJava("wpimath") implementation wpilibTools.deps.wpilibJava("ntcore") implementation wpilibTools.deps.wpilibJava("hal") implementation wpilibTools.deps.wpilibJava("wpilibj") implementation wpilibTools.deps.wpilibJava("apriltag") implementation wpilibTools.deps.wpilibJava("wpiunits") implementation wpilibTools.deps.wpilibOpenCvJava("frc" + openCVYear, wpi.versions.opencvVersion.get()) 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 group: "org.ejml", name: "ejml-simple", version: wpi.versions.ejmlVersion.get() implementation group: "us.hebi.quickbuf", name: "quickbuf-runtime", version: wpi.versions.quickbufVersion.get(); implementation "commons-io:commons-io:2.11.0" implementation "commons-cli:commons-cli:1.5.0" implementation "org.apache.commons:commons-exec:1.3" testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.0' testImplementation 'org.junit.jupiter:junit-jupiter-params:5.10.0' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.10.0' } test { useJUnitPlatform() testLogging { events "passed", "skipped", "failed", "standardOut", "standardError" } workingDir = new File("${rootDir}") finalizedBy jacocoTestReport } tasks.register('testHeadless', Test) { group = "verification" systemProperty("java.awt.headless", "true") useJUnitPlatform() testLogging { events "passed", "skipped", "failed", "standardOut", "standardError" exceptionFormat "full" showStandardStreams = true } exclude '**/*BenchmarkTest*' workingDir = "../" } jacoco { toolVersion = "0.8.10" reportsDirectory = layout.buildDirectory.dir('customJacocoReportDir') } jacocoTestReport { dependsOn testHeadless reports { xml.required = true csv.required = false html.outputLocation = layout.buildDirectory.dir('jacocoHtml') } afterEvaluate { classDirectories.setFrom(files(classDirectories.files.collect { fileTree(dir: it, exclude: "edu/wpi/**" ) })) } }