2021-01-14 21:45:26 -05:00
|
|
|
// Plugins
|
2021-01-18 22:12:57 -05:00
|
|
|
apply plugin: "java"
|
2023-10-25 20:27:56 -04:00
|
|
|
apply plugin: "jacoco"
|
2021-01-14 21:45:26 -05:00
|
|
|
|
2022-12-27 15:56:21 -05:00
|
|
|
java {
|
2026-04-11 12:14:42 -05:00
|
|
|
toolchain {
|
2026-04-23 00:10:38 -05:00
|
|
|
languageVersion = JavaLanguageVersion.of(25)
|
2026-04-11 12:14:42 -05:00
|
|
|
}
|
2026-04-23 00:10:38 -05:00
|
|
|
sourceCompatibility = JavaVersion.VERSION_25
|
|
|
|
|
targetCompatibility = JavaVersion.VERSION_25
|
2022-12-27 15:56:21 -05:00
|
|
|
}
|
2021-01-14 21:45:26 -05:00
|
|
|
|
2023-11-22 20:08:23 -05:00
|
|
|
wpilibTools.deps.wpilibVersion = wpilibVersion
|
2022-12-16 17:05:23 -08:00
|
|
|
|
2021-01-14 21:45:26 -05:00
|
|
|
|
2023-11-22 20:08:23 -05:00
|
|
|
dependencies {
|
|
|
|
|
implementation project(':photon-targeting')
|
2021-01-14 21:45:26 -05:00
|
|
|
|
2023-11-22 20:08:23 -05:00
|
|
|
implementation "io.javalin:javalin:$javalinVersion"
|
2023-10-25 20:27:56 -04:00
|
|
|
|
2026-05-24 13:05:10 -04:00
|
|
|
implementation "org.msgpack:msgpack-core:$msgpackVersion"
|
|
|
|
|
implementation "org.msgpack:jackson-dataformat-msgpack:$msgpackVersion"
|
2023-10-25 20:27:56 -04:00
|
|
|
|
2025-12-29 16:16:56 -05:00
|
|
|
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"
|
2026-05-26 21:47:48 -04:00
|
|
|
implementation wpilibTools.deps.wpilibOpenCvJava(openCVversion)
|
2022-12-16 17:05:23 -08:00
|
|
|
|
2026-05-24 13:05:10 -04:00
|
|
|
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
|
2026-06-09 20:20:21 -04:00
|
|
|
implementation group: "io.avaje", name: "avaje-jsonb-javalin-mapper", version: avajeJsonbVersion
|
2023-10-25 20:27:56 -04:00
|
|
|
|
2026-04-11 12:14:42 -05:00
|
|
|
implementation group: "org.ejml", name: "ejml-simple", version: ejmlVersion
|
|
|
|
|
implementation group: "us.hebi.quickbuf", name: "quickbuf-runtime", version: quickbufVersion;
|
2021-01-14 21:45:26 -05:00
|
|
|
|
2023-11-22 20:08:23 -05:00
|
|
|
implementation "commons-io:commons-io:2.11.0"
|
|
|
|
|
implementation "commons-cli:commons-cli:1.5.0"
|
2023-10-23 23:28:37 -04:00
|
|
|
|
2025-08-18 20:37:00 -07:00
|
|
|
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'
|
2021-01-14 21:45:26 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
test {
|
|
|
|
|
useJUnitPlatform()
|
2025-11-06 14:38:07 -05:00
|
|
|
systemProperty("java.awt.headless", !project.hasProperty("enableTestUi"))
|
2026-05-24 13:05:10 -04:00
|
|
|
systemProperty 'jsonb.disableAdapterSpi', 'true'
|
2025-07-13 09:24:09 -04:00
|
|
|
testLogging {
|
|
|
|
|
events "passed", "skipped", "failed", "standardOut", "standardError"
|
2025-10-16 10:22:55 +08:00
|
|
|
exceptionFormat = "full"
|
2025-07-13 09:24:09 -04:00
|
|
|
showStandardStreams = true
|
|
|
|
|
}
|
2025-11-01 17:42:30 -04:00
|
|
|
workingDir = new File("${rootDir}")
|
2025-11-06 14:38:07 -05:00
|
|
|
finalizedBy jacocoTestReport
|
2021-01-14 21:45:26 -05:00
|
|
|
}
|
|
|
|
|
|
2023-10-15 12:17:40 -04:00
|
|
|
jacoco {
|
2026-04-23 00:10:38 -05:00
|
|
|
toolVersion = jacocoVersion
|
2023-10-15 12:17:40 -04:00
|
|
|
reportsDirectory = layout.buildDirectory.dir('customJacocoReportDir')
|
|
|
|
|
}
|
|
|
|
|
|
2021-01-14 21:45:26 -05:00
|
|
|
jacocoTestReport {
|
2025-11-06 14:38:07 -05:00
|
|
|
dependsOn test
|
2021-01-14 21:45:26 -05:00
|
|
|
|
|
|
|
|
reports {
|
2023-10-15 12:17:40 -04:00
|
|
|
xml.required = true
|
|
|
|
|
csv.required = false
|
|
|
|
|
html.outputLocation = layout.buildDirectory.dir('jacocoHtml')
|
2021-01-14 21:45:26 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
afterEvaluate {
|
|
|
|
|
classDirectories.setFrom(files(classDirectories.files.collect {
|
|
|
|
|
fileTree(dir: it,
|
2023-10-24 23:02:59 -04:00
|
|
|
exclude: "edu/wpi/**"
|
2021-01-14 21:45:26 -05:00
|
|
|
)
|
|
|
|
|
}))
|
|
|
|
|
}
|
2021-01-17 14:57:21 -08:00
|
|
|
}
|