我想创建一个简单易用的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文件时始终下载它们?
答案 0 :(得分:1)
这是一个提示,而不是一个有效的解决方案,但它可能会指向正确的方向。
我检查了内部Groovy代码,它添加了lint任务[1]。他们做了类似的事情:
lint = project.tasks.create("lint", Lint)
...以便定义Lint任务。那么也许您需要先自己创建lint任务?
我偶然发现的另一个解决方案在[2]中指出:
def compileLintTask = project.tasks.find {it.name == 'compileLint'}
compileLintTask.dependsOn(copyLintJar)
使用tasks.find
来查找compileLint任务。也许你可以用同样的方式找到你正在寻找的任务?