在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'
有没有办法将它们结合起来仍然可以使它工作?
你可以使用正则表达式:
tasks.whenTaskAdded { task ->
if (task.name.matches('compile(.*)Sources')) {
task.dependsOn lint
task.mustRunAfter lint
}
}