在复制类型任务期间更新zip存档中特定xml文件的最佳方法是什么?
到目前为止我所拥有的:
def unzip() {
copy {
def zipFile = configurations.tomcat.singleFile
from zipTree(zipFile)
into 'dir'
eachFile { fileCopyDetails ->
file = fileCopyDetails.file
if ( file.getAbsolutePath().endsWith('conf' + File.separator + 'context.xml') ) {
def contextXml = new XmlSlurper().parse(file)
String contextStr = groovy.xml.XmlUtil.serialize(contextXml)
println 'xml before:\n' + contextStr
contextXml.appendNode {
a('value')
}
contextStr = groovy.xml.XmlUtil.serialize(contextXml)
println 'xml after:\n' + contextStr
file.withWriter { outWriter ->
XmlUtil.serialize( new StreamingMarkupBuilder().bind{ mkp.yield contextXml }, outWriter )
}
}
}
}
}
此代码的问题在于它只更新'tmp'文件夹中的xml文件,而不更新最终'dir'文件夹中的xml文件。
提前致谢, PM