使用Gradle,如何确保某个位置存在文件?

时间:2014-03-30 22:27:05

标签: android intellij-idea gradle

我开始将Gradle用于Android应用程序。如果开发人员无法在./src/res/values/specialfile.xml

等特定位置创建文件,我希望构建失败

有点searching让我相信.doFirst会起作用

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

但是,Gradle说"不支持的Gradle DSL方法:' doFirst()'!"

如何断言文件的存在?

1 个答案:

答案 0 :(得分:37)

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

即使开发人员没有尝试构建(例如运行tasks任务时),也希望始终完成此测试,您只需输入build.gradle < / p>

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

然而,实际上不建议这样做,因为即使对于非构建任务,甚至在为IDE集成构建模型时,也会执行此操作。

有一个名为preBuild的任务在android构建中的任何内容之前执行,因此您可以通过其他任务或通过doFirst将测试挂钩:

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