如何在gradle中迭代CopySpec,甚至从copyspec获取文件的目标路径名

时间:2016-07-07 09:12:37

标签: gradle groovy build.gradle

我有一个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))
}

0 个答案:

没有答案