我需要将文件夹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缓存问题 - 如何解决这个问题,或者更好地设计流程?谢谢!
答案 0 :(得分:0)
看起来使用tasks参数声明任务类型/依赖关系并在任务方法体中执行此操作之间存在很大差异。
这样的事情很有效
task deleteFiles(type: Delete) {
delete destinationHtmlFolder
}
task copyFiles(dependsOn: tasks.withType(Copy)){
println "copying all files"
}