mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
110 lines
3.5 KiB
Groovy
110 lines
3.5 KiB
Groovy
ext {
|
|
nativeName = 'commandsv2'
|
|
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')
|
|
implementation project(':wpiannotations')
|
|
api project(':datalog')
|
|
testImplementation 'org.mockito:mockito-core:4.1.0'
|
|
annotationProcessor project(':javacPlugin')
|
|
testAnnotationProcessor project(':javacPlugin')
|
|
}
|
|
|
|
sourceSets.main.java.srcDir "${projectDir}/src/generated/main/java"
|
|
|
|
nativeUtils.exportsConfigs {
|
|
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'
|
|
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
|
|
}
|
|
}
|