Gradle Groovy删除数组元素
我有一个gradle任务来获取zip内容并将其放入另一个zip。 从src-zip中,我想获取目录“r”中的所有内容,并将其复制到目标zip目录“x/y/z”中。Gradle Groovy删除数组元素,gradle,groovy,Gradle,Groovy,我有一个gradle任务来获取zip内容并将其放入另一个zip。 从src-zip中,我想获取目录“r”中的所有内容,并将其复制到目标zip目录“x/y/z”中。 代码可以工作,但我想知道它是否可以更优雅 from( zipTree("a.zip") ) { include "r/**" includeEmptyDirs = false into "x/y/z" eachFile { fcd ->
代码可以工作,但我想知道它是否可以更优雅
from( zipTree("a.zip") ) {
include "r/**"
includeEmptyDirs = false
into "x/y/z"
eachFile { fcd ->
def segs1 = [fcd.relativePath.segments].flatten().findAll { it2 -> it2 != null };
segs1.removeAt(3)
fcd.relativePath = new RelativePath(true, segs1.toArray(new String[0]))
}
}
我遇到的问题是fcd.relativePath.segments是字符串[],我想删除索引为3的元素。在这里,我将转换为列表,并返回到数组brrr 想法 Frank基于java的groovy 在java中: 数组是一个容器对象,它包含固定数量的单一类型的值。数组的长度是在创建数组时确定的创建后,其长度是固定的。 所以,您可以将其转换为列表,修改大小,然后再转换回数组 或者创建具有新大小的新数组,并将所需元素复制到其中