我需要保持inside
文件夹与名为outside
的文件夹同步。 inside
文件夹必须是outside
文件夹的精确副本-所有子目录,文件等。Copy
任务可以很好地工作,除了它只会覆盖文件-如果那些文件不再位于inside
文件夹中,则它不会删除仍在outside
文件夹中的文件。
现在,我正在使用Delete
任务所依赖的Copy
任务。 Delete
任务每隔一个构建都会失败,并显示以下错误。确实删除了inside
文件夹,但没有复制Copy
任务中的新文件。
Error:(117) A problem occurred evaluating project ':android'.
> Cannot convert the provided notation to a File or URI: true.
The following types/formats are supported:
- A String or CharSequence path, e.g 'src/main/java' or '/usr/include'
- A String or CharSequence URI, e.g 'file:/usr/include'
- A File instance.
- A URI or URL instance.
我猜测这是由于某种类型的Gradle缓存问题而发生的-我该如何解决此问题,或设计更好的过程?谢谢!
最佳答案
看起来使用task参数声明任务类型/依赖关系与在task方法主体中进行声明之间有很大的区别。
这样的事情很棒
task deleteFiles(type: Delete) {
delete destinationHtmlFolder
}
task copyFiles(dependsOn: tasks.withType(Copy)){
println "copying all files"
}
关于groovy - 如何使用Gradle同步两个文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29214170/