我有一个Zip任务,它使用像DSL.Like这样的CopySpec: -
task1 {
from(src/main/pig).exclude(<some file pattern>) {
into "pigscripts"
}
}
我想要做的是遍历pig脚本,就像copySpec是与之关联的CopySpec对象一样,
Map<String,String map> = new HashMap<String,String>()
copySpec.eachfile {
map.put(it.originalpath,it.destinationpath)
}
然而,在这个讨论论坛https://discuss.gradle.org/t/iterate-over-a-copyspesc/13030/6中,似乎这并不是直截了当的。 如果我可以获得单个文件的目标路径,这也就足够了,因为我可以获得所有源文件的FileTree
FileTree filetree = (copySpec as CopySpecInternal).buildRootResolver().allSource
然后我想做类似
的事情filetree.each{
//map.put(it,copySpec.findDestinationPath(it))
}