mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
Currently the major DataLog backend API (reading and writing) is split between wpiutil and glass. In the interest of allowing code that wants to use these APIs to not need to link to glass and declutter wpiutil, all of those APIs are moved to a new library named "datalog". Signed-off-by: Jade Turner <spacey-sooty@proton.me> Co-authored-by: Jade Turner <spacey-sooty@proton.me> Co-authored-by: Gold856 <117957790+Gold856@users.noreply.github.com>
107 lines
3.3 KiB
Groovy
107 lines
3.3 KiB
Groovy
ext {
|
|
nativeName = 'wpilibNewCommands'
|
|
devMain = 'edu.wpi.first.wpilibj2.commands.DevMain'
|
|
}
|
|
|
|
evaluationDependsOn(':ntcore')
|
|
evaluationDependsOn(':cscore')
|
|
evaluationDependsOn(':hal')
|
|
evaluationDependsOn(':wpimath')
|
|
evaluationDependsOn(':wpilibc')
|
|
evaluationDependsOn(':cameraserver')
|
|
evaluationDependsOn(':wpilibj')
|
|
|
|
apply from: "${rootDir}/shared/javacpp/setupBuild.gradle"
|
|
|
|
dependencies {
|
|
implementation project(':wpiutil')
|
|
implementation project(':wpinet')
|
|
implementation project(':ntcore')
|
|
implementation project(':cscore')
|
|
implementation project(':hal')
|
|
implementation project(':wpimath')
|
|
implementation project(':wpilibj')
|
|
api project(':datalog')
|
|
testImplementation 'org.mockito:mockito-core:4.1.0'
|
|
}
|
|
|
|
sourceSets.main.java.srcDir "${projectDir}/src/generated/main/java"
|
|
|
|
nativeUtils.exportsConfigs {
|
|
wpilibNewCommands {
|
|
}
|
|
}
|
|
|
|
model {
|
|
components {
|
|
"${nativeName}Base" {
|
|
it.sources.cpp {
|
|
source {
|
|
srcDirs 'src/generated/main/native/cpp'
|
|
include '**/*.cpp'
|
|
}
|
|
exportedHeaders {
|
|
srcDirs 'src/generated/main/native/include'
|
|
}
|
|
}
|
|
}
|
|
"${nativeName}" {
|
|
it.sources.cpp.exportedHeaders {
|
|
srcDirs 'src/generated/main/native/include'
|
|
}
|
|
}
|
|
}
|
|
binaries {
|
|
all {
|
|
if (!it.buildable || !(it instanceof NativeBinarySpec)) {
|
|
return
|
|
}
|
|
lib project: ':wpilibc', library: 'wpilibc', linkage: 'shared'
|
|
project(':ntcore').addNtcoreDependency(it, 'shared')
|
|
project(':hal').addHalDependency(it, 'shared')
|
|
lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared'
|
|
lib project: ':wpinet', library: 'wpinet', linkage: 'shared'
|
|
lib project: ':wpimath', library: 'wpimath', linkage: 'shared'
|
|
|
|
if (it.component.name == "${nativeName}Dev") {
|
|
project(':ntcore').addNtcoreJniDependency(it)
|
|
lib project: ':wpinet', library: 'wpinetJNIShared', linkage: 'shared'
|
|
lib project: ':wpiutil', library: 'wpiutilJNIShared', linkage: 'shared'
|
|
lib project: ':wpimath', library: 'wpimathJNIShared', linkage: 'shared'
|
|
project(':hal').addHalJniDependency(it)
|
|
}
|
|
|
|
if (it instanceof GoogleTestTestSuiteBinarySpec) {
|
|
nativeUtils.useRequiredLibrary(it, 'opencv_shared')
|
|
lib project: ':cscore', library: 'cscore', linkage: 'shared'
|
|
}
|
|
}
|
|
}
|
|
tasks {
|
|
def c = $.components
|
|
def found = false
|
|
def systemArch = getCurrentArch()
|
|
c.each {
|
|
if (it in NativeExecutableSpec && it.name == "${nativeName}Dev") {
|
|
it.binaries.each {
|
|
if (!found) {
|
|
def arch = it.targetPlatform.name
|
|
if (arch == systemArch) {
|
|
def filePath = it.tasks.install.installDirectory.get().toString() + File.separatorChar + 'lib'
|
|
|
|
found = true
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
test {
|
|
testLogging {
|
|
outputs.upToDateWhen {false}
|
|
showStandardStreams = true
|
|
}
|
|
}
|