// Plugins apply plugin: "java" apply plugin: "jacoco" java { toolchain { languageVersion = JavaLanguageVersion.of(25) } sourceCompatibility = JavaVersion.VERSION_25 targetCompatibility = JavaVersion.VERSION_25 } wpilibTools.deps.wpilibVersion = wpilibVersion dependencies { implementation project(':photon-targeting') implementation "io.javalin:javalin:$javalinVersion" implementation "org.msgpack:msgpack-core:$msgpackVersion" implementation "org.msgpack:jackson-dataformat-msgpack:$msgpackVersion" implementation "org.wpilib.wpiutil:wpiutil-java:$wpilibVersion" implementation "org.wpilib.datalog:datalog-java:$wpilibVersion" implementation "org.wpilib.cameraserver:cameraserver-java:$wpilibVersion" implementation "org.wpilib.cscore:cscore-java:$wpilibVersion" implementation "org.wpilib.wpinet:wpinet-java:$wpilibVersion" implementation "org.wpilib.wpimath:wpimath-java:$wpilibVersion" implementation "org.wpilib.ntcore:ntcore-java:$wpilibVersion" implementation "org.wpilib.hal:hal-java:$wpilibVersion" implementation "org.wpilib.wpilibj:wpilibj-java:$wpilibVersion" implementation "org.wpilib.apriltag:apriltag-java:$wpilibVersion" implementation "org.wpilib.wpiunits:wpiunits-java:$wpilibVersion" implementation wpilibTools.deps.wpilibOpenCvJava(openCVversion) implementation group: "io.avaje", name: "avaje-jsonb", version: avajeJsonbVersion annotationProcessor group: "io.avaje", name: "avaje-jsonb-generator", version: avajeJsonbVersion implementation group: "io.avaje", name: "avaje-jsonb-jackson", version: avajeJsonbVersion implementation group: "io.avaje", name: "avaje-jsonb-javalin-mapper", version: avajeJsonbVersion implementation group: "org.ejml", name: "ejml-simple", version: ejmlVersion implementation group: "us.hebi.quickbuf", name: "quickbuf-runtime", version: quickbufVersion; implementation "commons-io:commons-io:2.11.0" implementation "commons-cli:commons-cli:1.5.0" testImplementation(platform('org.junit:junit-bom:5.11.4')) testImplementation 'org.junit.jupiter:junit-jupiter-api' testImplementation 'org.junit.jupiter:junit-jupiter-params' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' } test { useJUnitPlatform() systemProperty("java.awt.headless", !project.hasProperty("enableTestUi")) systemProperty 'jsonb.disableAdapterSpi', 'true' testLogging { events "passed", "skipped", "failed", "standardOut", "standardError" exceptionFormat = "full" showStandardStreams = true } workingDir = new File("${rootDir}") finalizedBy jacocoTestReport } jacoco { toolVersion = jacocoVersion reportsDirectory = layout.buildDirectory.dir('customJacocoReportDir') } jacocoTestReport { dependsOn test 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/**" ) })) } }