Gradle - 哪个任务创建'build'目录?

时间:2015-09-04 20:24:42

标签: android android-studio gradle findbugs gradle-plugin

我在Mac上使用Android Studio 1.3.2。

Gradle版本列为2.2.1,Android插件版本1.3.1。

我已经应用了FindBugs Gradle plugin,并且我已经创建了一个成功运行目录'build / intermediates / classes'的分析的任务。

要在Gradle Sync上触发此任务,我已将其作为依赖项添加到preBuild任务中,如下所示:

preBuild.dependsOn findBugs

此依赖关系的问题在于,在preBuild时,生成的类文件不存在(第一次同步)或过时(从先前的同步中保留)。基本上,我希望我的任务在创建'build / intermediates / classes'目录后立即运行,或者在'Sync'操作中刷新那些文件时。

查看可用的任务,我可以看到'clean'任务有以下描述:

clean - Deletes the build directory.

但是,我看到的其他任务都没有描述目录的创建。我的第一个想法是“嗯,它必须是构建任务,对吧?”。不幸的是,像往常一样,它不是那么简单(按下gradle'同步'按钮,当我将它作为'build'任务的依赖项添加时,不会触发我的任务)。没有这样的任务吗?如果是这样,哪个任务最适合我想要实现的目标?

1 个答案:

答案 0 :(得分:1)

您可以使用 ./ gradlew tasks

查看所有任务

构建任务是主要任务。它构建所有内容,生成APK并运行所有检查。

我建议您将以下内容添加到build.gradle文件中:

check.dependsOn 'findbugs'

因此,当您运行检查任务时,它也将执行findbugs。

然后还为编译任务设置了对findBugs的依赖:

task findbugs(type: FindBugs, dependsOn: 'compileDebugSources') {...}

这将编译源代码,以防你在没有事先编译它的情况下运行findbugs。