我有4种不同的构建类型:
当我想为我的项目执行
clean build
任务时,我看到Gradle正在使用单元测试进行干净的构建。可以,但是每种构建类型都可以运行单元测试,而进行干净构建的时间要长4倍。
如何仅对版本构建类型进行带有单元测试的
clean build
? 最佳答案
要做that并不是一件好事。因此,您必须自己编写。
尝试在build.gradle
旁边添加:
project.afterEvaluate {
// Grab all build types and product flavors
def buildTypes = android.buildTypes.collect { type -> type.name }
def productFlavors = android.productFlavors.collect { flavor -> flavor.name }
// When no product flavors defined, use empty
if (!productFlavors) {
productFlavors.add('')
}
productFlavors.each { productFlavorName ->
buildTypes.each { buildTypeName ->
def sourceName
if (!productFlavorName) {
sourceName = "${buildTypeName}"
} else {
sourceName = "${productFlavorName}${buildTypeName.capitalize()}"
}
def testTaskName = "test${sourceName.capitalize()}UnitTest"
def assembleTaskName = "assemble${sourceName.capitalize()}"
task "build${sourceName.capitalize()}"(dependsOn: ["$testTaskName", "$assembleTaskName"])
}
}
task 'buildRelease'(dependsOn: tasks.findAll { t -> t.name.startsWith('build') && t.name != 'build' && t.name != 'buildNeeded' })
}
关于android - 跳过特定构建类型的测试任务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45680123/