【发布时间】:2015-11-14 21:27:14
【问题描述】:
我们需要打包战争、迁移目录和源代码。
我们首先运行“圣杯战争” 然后我们运行“grails our-package”
其中 our-package 是我们自己在 grails 中的打包脚本。
一直在尝试添加一个步骤,从我们的 grails 应用程序下的目标目录中清除旧的构建工件,而不删除 war 文件等。
target ("clean-old" : "cleans artifacts from prev.builds") {
println "cleaning up zips and tars"
ant.delete(file: "target/*.zip")
ant.delete(file: "target/*.gz")
}
以上内容不起作用 - 没有任何内容被删除。我们假设文件集是答案,但不知道如何使用它们。
例如我们有这个:
ant.fileset(dir: "target") {
ant.include("*.zip")
ant.include("*.gz")
}
但是如何真正删除文件呢?
我们对此进行了盲目猜测:
ant.delete() {
ant.fileset(dir: "target") {
ant.include("*.zip")
ant.include("*.gz")
ant.include("*.tar")
}
}
但它会引发错误。
有什么想法吗?
奖金问题。
“圣杯战争”不会删除旧的战争。我不希望用户必须输入 3 个命令:
grails clean-old-war
grails war
grails our-package
如果我们能够掌握当前战争文件将被调用的内容(即应用程序名称和应用程序版本),那么我们可能有一种方法可以删除所有战争文件,除了我们想要在“我们的-包”
有没有办法从其中一个 ant(如构建脚本)中获取 app.version 的句柄
有没有办法删除除指定的战争之外的所有战争?
【问题讨论】: