使用Gradle,我怎样才能确保文件存在于某个位置?

我开始为Android应用程序使用Gradle。 如果开发人员无法在特定位置创build文件,比如./src/res/values/specialfile.xml我希望构build失败

有点search让我相信一个.doFirst会起作用

 android.doFirst { assert file("./src/res/values/specialfile.txt").exists() } 

但是,Gradle说: “不支持的Gradle DSL方法发现:'doFirst()'!”

我能做些什么来断言一个文件的存在?

Solutions Collecting From Web of "使用Gradle,我怎样才能确保文件存在于某个位置?"

doFirst只存在于任务对象上。 android不是一项任务。

如果开发人员不尝试构build(例如,在运行tasks任务时),那么总是要做这个testing,你应该简单地把你的build.gradle

 assert file("./src/res/values/specialfile.txt").exists() 

但是,这并不是build议的,因为即使是非构build任务,甚至是为IDE集成构build模型时,都会执行此操作。

有一个叫做preBuild的任务是在android构build中的任何东西之前执行的,所以你可以通过另一个任务或者通过doFirst把你的testing钩住它:

 preBuild.doFirst { assert file("./src/res/values/specialfile.txt").exists() }