【发布时间】:2015-04-15 18:45:15
【问题描述】:
我想创建一个简单易用的 Gradle 任务,它运行我希望持续集成服务器运行的所有内容。目前,我的 app/build.gradle 文件包含以下代码(其余部分省略):
task continuousIntegrationDebug(dependsOn: [assembleDebug, lint, runCheckstyle, runPmd, runFindbugs]) {
}
遗憾的是,Gradle 抱怨它找不到 lint(lintDebug 和 lintRelease 相同):
A problem occurred evaluating project ':app'.
> Could not find property 'lint' on project ':app'.
有趣的是,以下行在我运行检查时有效:
check.dependsOn 'lint'
以下外部调用也有效(来自项目根目录):
./gradlew app:lint
我忘记了什么?我正在使用版本com.android.tools.build:gradle:1.1.0 和最新版本的构建工具等。
另外,我必须先在外部运行 pmd、checkstyle 和 findbugs,然后才能运行任务本身(之前没有安装)。如何确保在 Android Studio 中首次同步 Gradle 文件时始终下载它们?
【问题讨论】:
-
我的猜测是您定义的方式中的 dependsOn 不需要数组,因此试图将 lint 视为不存在的属性,而不是另一个任务。您可以尝试删除方括号,即将代码更改为
dependsOn: assembleDebug, lint, runCheckstyle, runPmd, runFindbugs吗? -
我已经尝试在没有 lint 的情况下运行该命令 - 可以。另外,我用 lint 尝试了
task.dependsOn otherTask语法,它也不起作用。我也尝试不使用数组 - 这会产生语法错误。
标签: android android-studio build gradle android-gradle-plugin