Gradle - 哪个任务创建了 'build' 目录?
Gradle - Which task creates the 'build' directory?
我在 Mac 上使用 Android Studio 1.3.2。
Gradle 版本列为 2.2.1,Android 插件版本 1.3.1。
我已经应用了 FindBugs Gradle plugin,并且我创建了一个任务,成功地 运行 对目录 'build/intermediates/classes'.
进行了分析
为了在 Gradle 同步时触发此任务,我已将其添加为 preBuild
任务的依赖项,如下所示:
preBuild.dependsOn findBugs
此依赖项的问题是,在预构建时,生成的 class 文件要么不存在(第一次同步),要么过时(从上一次同步中保留下来)。基本上,我希望我的任务在 'build/intermediates/classes' 目录创建后立即 运行,或者当作为 'Sync' 操作的一部分刷新那里的文件时 .
查看可用任务,我可以看到 'clean' 任务具有以下描述:
clean - Deletes the build directory.
但是,我看到的 none 其他任务描述了目录的 创建 。我的第一个想法是 "Well, it's got to be the build task, right?"。不幸的是,和往常一样,它并不是那么简单(按下 gradle 'sync' 按钮,当我将它添加为 'build' 任务的依赖项时不会触发我的任务)。没有这样的任务吗?如果是这样,哪项任务最适合我要实现的目标?
您可以使用 ./gradlew tasks
查看所有任务
build 任务是主要任务。它构建一切,生成 APK 和 运行s 所有检查。
我建议您将以下内容添加到 build.gradle 文件中:
check.dependsOn 'findbugs'
所以当你运行 check 任务时,它也会执行 findbugs。
然后还要为编译任务设置对findBugs的依赖:
task findbugs(type: FindBugs, dependsOn: 'compileDebugSources') {...}
这将编译源代码,以防您 运行 在没有事先编译的情况下发现错误。
我在 Mac 上使用 Android Studio 1.3.2。
Gradle 版本列为 2.2.1,Android 插件版本 1.3.1。
我已经应用了 FindBugs Gradle plugin,并且我创建了一个任务,成功地 运行 对目录 'build/intermediates/classes'.
进行了分析为了在 Gradle 同步时触发此任务,我已将其添加为 preBuild
任务的依赖项,如下所示:
preBuild.dependsOn findBugs
此依赖项的问题是,在预构建时,生成的 class 文件要么不存在(第一次同步),要么过时(从上一次同步中保留下来)。基本上,我希望我的任务在 'build/intermediates/classes' 目录创建后立即 运行,或者当作为 'Sync' 操作的一部分刷新那里的文件时 .
查看可用任务,我可以看到 'clean' 任务具有以下描述:
clean - Deletes the build directory.
但是,我看到的 none 其他任务描述了目录的 创建 。我的第一个想法是 "Well, it's got to be the build task, right?"。不幸的是,和往常一样,它并不是那么简单(按下 gradle 'sync' 按钮,当我将它添加为 'build' 任务的依赖项时不会触发我的任务)。没有这样的任务吗?如果是这样,哪项任务最适合我要实现的目标?
您可以使用 ./gradlew tasks
查看所有任务build 任务是主要任务。它构建一切,生成 APK 和 运行s 所有检查。
我建议您将以下内容添加到 build.gradle 文件中:
check.dependsOn 'findbugs'
所以当你运行 check 任务时,它也会执行 findbugs。
然后还要为编译任务设置对findBugs的依赖:
task findbugs(type: FindBugs, dependsOn: 'compileDebugSources') {...}
这将编译源代码,以防您 运行 在没有事先编译的情况下发现错误。