description = "A plugin that listens on a socket so that you can use the real Driver Station software to connect to the simulation" ext { includeWpiutil = true pluginName = 'halsim_ds_socket' } apply plugin: 'google-test-test-suite' ext { staticGtestConfigs = [:] } staticGtestConfigs["${pluginName}Test"] = [] apply from: "${rootDir}/shared/googletest.gradle" apply from: "${rootDir}/shared/plugins/setupBuild.gradle" model { testSuites { def comps = $.components if (!project.hasProperty('onlylinuxathena')) { "${pluginName}Test"(GoogleTestTestSuiteSpec) { for(NativeComponentSpec c : comps) { if (c.name == pluginName) { testing c break } } sources { cpp { source { srcDirs 'src/test/native/cpp' include '**/*.cpp' } exportedHeaders { srcDirs 'src/test/native/include', 'src/main/native/cpp' } } } } } } binaries { all { lib project: ':wpinet', library: 'wpinet', linkage: 'shared' lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' } withType(GoogleTestTestSuiteBinarySpec) { project(':hal').addHalDependency(it, 'shared') lib project: ':wpinet', library: 'wpinet', linkage: 'shared' lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' lib library: pluginName, linkage: 'shared' if (it.targetPlatform.name == nativeUtils.wpi.platforms.roborio) { nativeUtils.useRequiredLibrary(it, 'ni_link_libraries', 'ni_runtime_libraries') } } } } tasks.withType(RunTestExecutable) { args "--gtest_output=xml:test_detail.xml" outputs.dir outputDir }