Files
PhotonVision/common.gradle
Banks T 58b39f47aa Split photon-server and photon-core (#211)
Uses multiple Gradle projects to support the split.
2021-01-14 18:45:26 -08:00

93 lines
3.4 KiB
Groovy

// Plugins
apply plugin: 'jacoco'
apply plugin: 'java'
sourceCompatibility = 11
// Common version config
ext {
wpilibVersion = '2020.3.2-99-g9f4de91'
joglVersion = '2.4.0-rc-20200307'
openCVVersion = '3.4.7-2'
}
// Common deps
dependencies {
// Jackson
implementation "com.fasterxml.jackson.core:jackson-annotations:2.10.0"
implementation "com.fasterxml.jackson.core:jackson-core:2.10.0"
implementation "com.fasterxml.jackson.core:jackson-databind:2.10.0"
// Apache commons
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.9'
implementation 'org.apache.commons:commons-math3:3.6.1'
implementation group: 'commons-io', name: 'commons-io', version: '2.6'
implementation group: 'commons-cli', name: 'commons-cli', version: '1.4'
implementation 'org.apache.commons:commons-collections4:4.4'
implementation 'org.apache.commons:commons-exec:1.3'
// WPILib deps
implementation "edu.wpi.first.wpiutil:wpiutil-java:$wpilibVersion"
implementation "edu.wpi.first.cameraserver:cameraserver-java:$wpilibVersion"
implementation "edu.wpi.first.cscore:cscore-java:$wpilibVersion"
compile "edu.wpi.first.cscore:cscore-jni:$wpilibVersion:linuxaarch64bionic"
compile "edu.wpi.first.cscore:cscore-jni:$wpilibVersion:linuxraspbian"
compile "edu.wpi.first.cscore:cscore-jni:$wpilibVersion:linuxx86-64"
compile "edu.wpi.first.cscore:cscore-jni:$wpilibVersion:osxx86-64"
compile "edu.wpi.first.cscore:cscore-jni:$wpilibVersion:windowsx86-64"
implementation "edu.wpi.first.ntcore:ntcore-java:$wpilibVersion"
compile "edu.wpi.first.ntcore:ntcore-jni:$wpilibVersion:linuxaarch64bionic"
compile "edu.wpi.first.ntcore:ntcore-jni:$wpilibVersion:linuxraspbian"
compile "edu.wpi.first.ntcore:ntcore-jni:$wpilibVersion:linuxx86-64"
compile "edu.wpi.first.ntcore:ntcore-jni:$wpilibVersion:osxx86-64"
compile "edu.wpi.first.ntcore:ntcore-jni:$wpilibVersion:windowsx86-64"
implementation "edu.wpi.first.thirdparty.frc2020.opencv:opencv-java:$openCVVersion"
compile "edu.wpi.first.thirdparty.frc2020.opencv:opencv-jni:$openCVVersion:linuxaarch64bionic"
compile "edu.wpi.first.thirdparty.frc2020.opencv:opencv-jni:$openCVVersion:linuxraspbian"
compile "edu.wpi.first.thirdparty.frc2020.opencv:opencv-jni:$openCVVersion:linuxx86-64"
compile "edu.wpi.first.thirdparty.frc2020.opencv:opencv-jni:$openCVVersion:osxx86-64"
compile "edu.wpi.first.thirdparty.frc2020.opencv:opencv-jni:$openCVVersion:windowsx86-64"
implementation 'edu.wpi.first.wpimath:wpimath-java:2021.1.2-9-g26584ff'
// test stuff
testImplementation('org.junit.jupiter:junit-jupiter:5.6.0')
}
test {
useJUnitPlatform()
testLogging {
events 'passed', 'skipped', 'failed', 'standardOut', 'standardError'
}
}
task testHeadless(type: Test) {
group = 'verification'
systemProperty("java.awt.headless", "true")
useJUnitPlatform()
}
task generateJavaDocs(type: Javadoc) {
source = sourceSets.main.allJava
classpath = sourceSets.main.compileClasspath
destinationDir = file("${projectDir}/build/docs")
}
jacocoTestReport {
dependsOn test // Tests are required to run before generating the report
reports {
xml.enabled true
}
afterEvaluate {
classDirectories.setFrom(files(classDirectories.files.collect {
fileTree(dir: it,
exclude: 'edu/wpi/**'
)
}))
}
}