我正在为Android项目使用gradle。
我有一个任务,可以下载一些文件以将其放入构建中(作为Android Assets )。
我希望有一个任务可以从Web上下载一些文件并将它们放到temp目录中,在构建过程中将文件从中复制(通过单独的复制任务)到 Assets 目录中。
我想确保如果输出目录以任何方式更改(例如,文件更改或丢失,目录丢失,子目录中的文件丢失等),递归都将重新运行downloader任务(而不是UP-TO-DATE)。 。当前,我将输出目录指定为@OutputDirectory,但似乎不执行我想要的操作:
class AssetDownloaderTask extends DefaultTask {
@OutputDirectory
def File outputDir
@Input
def String databaseChecksum
....
例如。如果我从其中一个子目录中删除文件,gradle仍将任务视为UP-TO-DATE。 gradle不应该存储输出的哈希吗?
我怎样才能实现自己想要的?
最佳答案
无论如何,我不是Gradle专家,但我相信您想改用@InputDirectory
注释。
This will cause the task to be considered out-of-date when the directory location or contents have changed.
https://docs.gradle.org/current/javadoc/org/gradle/api/tasks/InputDirectory.html
编辑:哇,没注意到这太老了。对不起,如果坏死是坏SA礼节。
关于gradle - 在Android gradle构建中,当输出目录不完全相同时,如何使它考虑不是UP-TO-DATE的任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33346423/