mirror of
https://github.com/PhotonVision/photonvision
synced 2026-06-28 02:11:40 +00:00
* Refactor package structure, various cleanups * Add pipeline classes, settings, separate enums * updated Largest ContourSortMode and added centermost * Add DriverPipeline classes, apply spotless * Add crosshair to DriverMode, cleanups * Add FrameStaticProperties as member in Frame Add FrameStaticProperties as member in Frame * Finish ReflectivePipeline, various tweaks * Apply Spotless * Move test images * add Releasable interface, implement in classes * add TestUtils class, move testimages * Refactor CVPipeline, add ReflectivePipelineTest * Fix ConcurrentModificationException bug in group contours pipe with potential targets * Resolve memory leaks due to unnecessary instantiation of Points * Apply spotless * Add CVMat, ReflectionUtils to help track rogue Mats * various cleanups, add DummyFrameConsumer * Add logback * Add slv4j logger to replace the current debugLogger I'm waiting on stuff to be less skeletoned to add more * Add perimeter, MatOfPoint2f getters to Contour * Create CornerDetectionPipe based on old solvePNPPipe * Add ContourShape class for approxPolyDp Start on ColoredShape tracking * Add point detection, fix convex hull calculation in Contour * Make Draw2dContours pipe respect showMultiple * Update Contour.java * Clean up draw 3d, fix convex hull bug in corner detection * Update geometry classes * Add lifecam calibration data * Implement solvePNP, bounding box top and bottom * Fix JSON mat bug and lifecam default calibration for tests, fix 3d drawing * run spotless * Refactor calibration into `common.calibration` * Update .gitignore * Add offset method to get2020Target * Various cleanups, add PipelineType enum * Apply spotless Co-authored-by: ori agranat <oriagranat9@gmail.com> Co-authored-by: Matt <matthew.morley.ca@gmail.com>
129 lines
5.0 KiB
Groovy
129 lines
5.0 KiB
Groovy
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"
|
|
|
|
testCompile "ch.qos.logback:logback-classic:0.9.26"
|
|
|
|
// 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 {
|
|
exclude '**/_2/**'
|
|
}
|
|
}
|
|
}
|
|
|
|
test {
|
|
test {
|
|
useJUnitPlatform()
|
|
}
|
|
}
|
|
|
|
spotless {
|
|
java {
|
|
googleJavaFormat()
|
|
paddedCell()
|
|
indentWithTabs(2)
|
|
indentWithSpaces(4)
|
|
removeUnusedImports()
|
|
}
|
|
}
|