mirror of
https://github.com/PhotonVision/photonvision
synced 2026-06-21 01:01:41 +00:00
Fixes GPL violation, the license has been missing since 2024. This also puts licenses in as many JARs and native library archives as possible (for good measure.)
75 lines
2.8 KiB
Groovy
75 lines
2.8 KiB
Groovy
plugins {
|
|
id 'edu.wpi.first.WpilibTools' version '1.3.0'
|
|
}
|
|
|
|
import java.nio.file.Path
|
|
|
|
ext.licenseFile = file("$rootDir/LICENSE")
|
|
apply from: "${rootDir}/shared/common.gradle"
|
|
|
|
wpilibTools.deps.wpilibVersion = wpi.versions.wpilibVersion.get()
|
|
|
|
def nativeConfigName = 'wpilibNatives'
|
|
def nativeConfig = configurations.create(nativeConfigName)
|
|
|
|
def nativeTasks = wpilibTools.createExtractionTasks {
|
|
configurationName = nativeConfigName
|
|
}
|
|
|
|
nativeTasks.addToSourceSetResources(sourceSets.main)
|
|
|
|
nativeConfig.dependencies.add wpilibTools.deps.wpilib("wpilibc")
|
|
nativeConfig.dependencies.add wpilibTools.deps.wpilib("wpimath")
|
|
nativeConfig.dependencies.add wpilibTools.deps.wpilib("wpinet")
|
|
nativeConfig.dependencies.add wpilibTools.deps.wpilib("wpiutil")
|
|
nativeConfig.dependencies.add wpilibTools.deps.wpilib("ntcore")
|
|
nativeConfig.dependencies.add wpilibTools.deps.wpilib("cscore")
|
|
nativeConfig.dependencies.add wpilibTools.deps.wpilib("apriltag")
|
|
nativeConfig.dependencies.add wpilibTools.deps.wpilib("hal")
|
|
nativeConfig.dependencies.add wpilibTools.deps.wpilibOpenCv("frc" + openCVYear, wpi.versions.opencvVersion.get())
|
|
|
|
dependencies {
|
|
// JOGL stuff (currently we only distribute for aarch64, which is Pi 4)
|
|
implementation "org.jogamp.gluegen:gluegen-rt:$joglVersion"
|
|
implementation "org.jogamp.jogl:jogl-all:$joglVersion"
|
|
implementation "org.jogamp.gluegen:gluegen-rt:$joglVersion:natives-linux-aarch64"
|
|
implementation "org.jogamp.jogl:jogl-all:$joglVersion:natives-linux-aarch64"
|
|
|
|
// Zip
|
|
implementation 'org.zeroturnaround:zt-zip:1.14'
|
|
|
|
implementation "org.xerial:sqlite-jdbc:3.41.0.0"
|
|
implementation("org.photonvision:rknn_jni-jni:$rknnVersion:linuxarm64") {
|
|
transitive = false
|
|
}
|
|
implementation("org.photonvision:rknn_jni-java:$rknnVersion") {
|
|
transitive = false
|
|
}
|
|
implementation("org.photonvision:photon-libcamera-gl-driver-jni:$libcameraDriverVersion:linuxarm64") {
|
|
transitive = false
|
|
}
|
|
implementation "org.photonvision:photon-libcamera-gl-driver-java:$libcameraDriverVersion"
|
|
|
|
implementation "org.photonvision:photon-mrcal-java:$mrcalVersion"
|
|
|
|
// Only include mrcal natives on platforms that we build for
|
|
if (!(jniPlatform in [
|
|
"osxx86-64",
|
|
"osxarm64"
|
|
])) {
|
|
implementation("org.photonvision:photon-mrcal-jni:$mrcalVersion:$wpilibNativeName") {
|
|
transitive = false
|
|
}
|
|
}
|
|
|
|
testImplementation group: 'org.junit-pioneer' , name: 'junit-pioneer', version: '2.2.0'
|
|
}
|
|
|
|
task writeCurrentVersion {
|
|
def versionFileIn = file("${rootDir}/shared/PhotonVersion.java.in")
|
|
writePhotonVersionFile(versionFileIn, Path.of("$projectDir", "src", "main", "java", "org", "photonvision", "PhotonVersion.java"),
|
|
versionString)
|
|
}
|
|
|
|
build.dependsOn writeCurrentVersion
|