Files
allwpilib/commandsv2/build.gradle

110 lines
3.4 KiB
Groovy
Raw Permalink Normal View History

ext {
2025-11-07 19:55:39 -05:00
nativeName = 'commandsv2'
2025-11-07 20:00:38 -05:00
devMain = 'org.wpilib.commandsv2.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')
implementation project(':wpiannotations')
api project(':datalog')
testImplementation libs.bundles.mockito
annotationProcessor project(':javacPlugin')
testAnnotationProcessor project(':javacPlugin')
}
sourceSets.main.java.srcDir "${projectDir}/src/generated/main/java"
nativeUtils.exportsConfigs {
2025-11-07 19:55:39 -05:00
commandsv2 {
}
}
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'
2022-10-08 10:01:31 -07:00
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") {
2022-10-08 10:01:31 -07:00
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
}
}