From 795c60da010f36fe82308795e9bc5277407ba582 Mon Sep 17 00:00:00 2001 From: Thad House Date: Sun, 13 May 2018 22:00:36 -0700 Subject: [PATCH] Adds a testCpp task to all projects (#1014) --- buildSrc/src/main/groovy/ExtraTasks.groovy | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/buildSrc/src/main/groovy/ExtraTasks.groovy b/buildSrc/src/main/groovy/ExtraTasks.groovy index 2f587c6455..8b0b1232bf 100644 --- a/buildSrc/src/main/groovy/ExtraTasks.groovy +++ b/buildSrc/src/main/groovy/ExtraTasks.groovy @@ -32,11 +32,13 @@ import org.gradle.nativeplatform.toolchain.internal.ToolType; import org.gradle.nativeplatform.toolchain.internal.gcc.AbstractGccCompatibleToolChain; import org.gradle.nativeplatform.toolchain.internal.msvcpp.VisualCppToolChain; import org.gradle.nativeplatform.toolchain.internal.tools.ToolRegistry; +import org.gradle.nativeplatform.test.googletest.GoogleTestTestSuiteBinarySpec; import org.gradle.platform.base.BinarySpec; import org.gradle.platform.base.ComponentSpec; import org.gradle.platform.base.ComponentSpecContainer; import org.gradle.platform.base.ComponentType; import org.gradle.platform.base.TypeBuilder; +import org.gradle.nativeplatform.test.tasks.RunTestExecutable; import org.gradle.platform.base.BinaryContainer; import groovy.transform.CompileStatic; @@ -66,6 +68,21 @@ class ExtraTasks implements Plugin { } } - + @Mutate + @CompileStatic + void createNativeTestTask(ModelMap tasks, BinaryContainer binaries) { + tasks.create('testCpp', Task) { oTask -> + def task = (Task) oTask + task.group = 'build' + task.description = 'Uber task to run all native tests for project' + binaries.each { binary -> + if (binary instanceof GoogleTestTestSuiteBinarySpec && binary.buildable) { + binary.tasks.withType(RunTestExecutable) { testTask -> + task.dependsOn testTask + } + } + } + } + } } }