合并Gradle的不同buildType任务名称

时间:2018-09-01 22:48:36

标签: android gradle build.gradle gradlew

https://stackoverflow.com/a/48494454/3286489之后,我现在可以在编译应用程序之前运行linting任务(在CLI和Android Studio中均运行)。

我的代码如下。

android {
//....
    lintOptions {
        abortOnError true
    }
}

tasks.whenTaskAdded { task ->
    if (task.name == 'compileDebugSources' || task.name == 'compileReleaseSources') {
        task.dependsOn lint
        task.mustRunAfter lint
    }
}

但是我不喜欢

task.name == 'compileDebugSources' || task.name == 'compileReleaseSources'

有没有一种方法可以将它们结合起来并使其正常工作?

1 个答案:

答案 0 :(得分:0)

您可以使用正则表达式:

tasks.whenTaskAdded { task ->
    if (task.name.matches('compile(.*)Sources')) {
        task.dependsOn lint
        task.mustRunAfter lint
    }
}