diff --git a/buildSrc/src/main/groovy/MultiBuilds.groovy b/buildSrc/src/main/groovy/MultiBuilds.groovy index 1d5044d3bf..ab8db67fbd 100644 --- a/buildSrc/src/main/groovy/MultiBuilds.groovy +++ b/buildSrc/src/main/groovy/MultiBuilds.groovy @@ -9,7 +9,9 @@ import org.gradle.language.base.internal.ProjectLayout; import org.gradle.language.base.plugins.ComponentModelBasePlugin; import org.gradle.language.nativeplatform.tasks.AbstractNativeSourceCompileTask; import org.gradle.model.ModelMap; +import edu.wpi.first.toolchain.ToolchainExtension import org.gradle.model.Mutate; +import org.gradle.api.plugins.ExtensionContainer; import org.gradle.nativeplatform.test.googletest.GoogleTestTestSuiteBinarySpec; import org.gradle.model.RuleSource; import org.gradle.model.Validate; @@ -52,6 +54,20 @@ class MultiBuilds implements Plugin { binary.buildable = false } + @Validate + @CompileStatic + // TODO: Move this to tc plugin + void disableCrossTests(BinaryContainer binaries, ExtensionContainer extContainer) { + final ToolchainExtension ext = extContainer.getByType(ToolchainExtension.class); + + for (GoogleTestTestSuiteBinarySpec binary : binaries.withType(GoogleTestTestSuiteBinarySpec.class)) { + if (ext.getCrossCompilers().findByName(binary.getTargetPlatform().getName()) != null) { + setBuildableFalseDynamically(binary) + } + } + } + + @Mutate @CompileStatic void disableReleaseGoogleTest(BinaryContainer binaries, ProjectLayout projectLayout) { diff --git a/shared/javacpp/setupBuild.gradle b/shared/javacpp/setupBuild.gradle index 078af7df36..4e6dba77f4 100644 --- a/shared/javacpp/setupBuild.gradle +++ b/shared/javacpp/setupBuild.gradle @@ -103,11 +103,7 @@ model { } binaries { withType(GoogleTestTestSuiteBinarySpec) { - if (!project.hasProperty('onlylinuxathena') && !project.hasProperty('onlylinuxraspbian')) { - lib library: nativeName, linkage: 'shared' - } else { - it.buildable = false - } + lib library: nativeName, linkage: 'shared' } } tasks { diff --git a/shared/jni/setupBuild.gradle b/shared/jni/setupBuild.gradle index 2951afe7d8..39776909f9 100644 --- a/shared/jni/setupBuild.gradle +++ b/shared/jni/setupBuild.gradle @@ -232,12 +232,8 @@ model { } binaries { withType(GoogleTestTestSuiteBinarySpec) { - if (!project.hasProperty('onlylinuxathena') && !project.hasProperty('onlylinuxraspbian')) { - lib library: nativeName, linkage: 'shared' - lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' - } else { - it.buildable = false - } + lib library: nativeName, linkage: 'shared' + lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' } } tasks { diff --git a/wpilibc/build.gradle b/wpilibc/build.gradle index 61154d3c23..97ca1f4a5c 100644 --- a/wpilibc/build.gradle +++ b/wpilibc/build.gradle @@ -203,16 +203,12 @@ model { } } withType(GoogleTestTestSuiteBinarySpec) { - if (!project.hasProperty('onlylinuxathena') && !project.hasProperty('onlylinuxraspbian')) { - lib project: ':ntcore', library: 'ntcore', linkage: 'shared' - lib project: ':cscore', library: 'cscore', linkage: 'shared' - project(':hal').addHalDependency(it, 'shared') - lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' - lib project: ':cameraserver', library: 'cameraserver', linkage: 'shared' - lib library: nativeName, linkage: 'shared' - } else { - it.buildable = false - } + lib project: ':ntcore', library: 'ntcore', linkage: 'shared' + lib project: ':cscore', library: 'cscore', linkage: 'shared' + project(':hal').addHalDependency(it, 'shared') + lib project: ':wpiutil', library: 'wpiutil', linkage: 'shared' + lib project: ':cameraserver', library: 'cameraserver', linkage: 'shared' + lib library: nativeName, linkage: 'shared' } } tasks {