| 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') |
| testImplementation 'org.mockito:mockito-core:4.1.0' |
| } |
| |
| nativeUtils.exportsConfigs { |
| wpilibNewCommands { |
| x64ExcludeSymbols = [ |
| '_CT??_R0?AV_System_error', |
| '_CT??_R0?AVexception', |
| '_CT??_R0?AVfailure', |
| '_CT??_R0?AVruntime_error', |
| '_CT??_R0?AVsystem_error', |
| '_CTA5?AVfailure', |
| '_TI5?AVfailure', |
| '_CT??_R0?AVout_of_range', |
| '_CTA3?AVout_of_range', |
| '_TI3?AVout_of_range', |
| '_CT??_R0?AVbad_cast' |
| ] |
| } |
| } |
| |
| model { |
| components {} |
| 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' |
| } |
| if ((it instanceof NativeExecutableBinarySpec || it instanceof GoogleTestTestSuiteBinarySpec) && it.targetPlatform.name == nativeUtils.wpi.platforms.roborio) { |
| nativeUtils.useRequiredLibrary(it, 'ni_link_libraries', 'ni_runtime_libraries') |
| } |
| } |
| } |
| 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 |
| } |
| } |