plugins { id 'java' id 'com.github.johnrengelman.shadow' version '5.2.0' id "com.diffplug.gradle.spotless" version "3.28.0" } group 'com.chameleonvision' version '3.0-SNAPSHOT' shadowJar { configurations = [project.configurations.compile] archiveFileName.set("chameleonvision-${project.version}.jar") } sourceCompatibility = 11 repositories { mavenCentral() maven { url = 'https://frcmaven.wpi.edu:443/artifactory/release' } } ext { wpilibVersion = '2020.2.2' openCVVersion = '3.4.7-2' } dependencies { implementation "io.javalin:javalin:3.7.0" 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" implementation "org.msgpack:msgpack-core:0.8.20" implementation "org.msgpack:jackson-dataformat-msgpack:0.8.20" 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 "org.apache.commons:commons-collections4:4.4" implementation "org.apache.commons:commons-exec:1.3" implementation "com.moandjiezana.toml:toml4j:0.7.2" // wpilib stuff 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" // javacv (ew) // def withoutJunk = { // exclude group: 'org.bytedeco', module: 'artoolkitplus' // exclude group: 'org.bytedeco', module: 'artoolkitplus-platform' // exclude group: 'org.bytedeco', module: 'flandmark' // exclude group: 'org.bytedeco', module: 'flandmark-platform' // exclude group: 'org.bytedeco', module: 'flycapture' // exclude group: 'org.bytedeco', module: 'flycapture-platform' // exclude group: 'org.bytedeco', module: 'leptonica' // exclude group: 'org.bytedeco', module: 'leptonica-platform' // exclude group: 'org.bytedeco', module: 'libdc1394' // exclude group: 'org.bytedeco', module: 'libdc1394-platform' // exclude group: 'org.bytedeco', module: 'libfreenect' // exclude group: 'org.bytedeco', module: 'libfreenect-platform' // exclude group: 'org.bytedeco', module: 'libfreenect2' // exclude group: 'org.bytedeco', module: 'libfreenect2-platform' // exclude group: 'org.bytedeco', module: 'librealsense' // exclude group: 'org.bytedeco', module: 'librealsense-platform' // exclude group: 'org.bytedeco', module: 'librealsense2' // exclude group: 'org.bytedeco', module: 'librealsense2-platform' // exclude group: 'org.bytedeco', module: 'openblas' // exclude group: 'org.bytedeco', module: 'openblas-platform' // exclude group: 'org.bytedeco', module: 'tesseract' // exclude group: 'org.bytedeco', module: 'tesseract-platform' // exclude group: 'org.bytedeco', module: 'ffmpeg' // exclude group: 'org.bytedeco', module: 'ffmpeg-platform' // } // compile 'org.bytedeco:javacv-platform:1.5.2', withoutJunk // test stuff testImplementation('org.junit.jupiter:junit-jupiter:5.6.0') } sourceSets { main { java { srcDir 'src' exclude '**/_2/**' } } } test { test { useJUnitPlatform() testLogging { events "passed", "skipped", "failed" } } } spotless { java { googleJavaFormat() paddedCell() indentWithTabs(2) indentWithSpaces(4) } }