grails2.5,如何使用ant删除构建脚本中的文件



我们需要打包war、migrations dir和source。

我们首先运行"圣杯战争"然后我们运行"grails我们的包"

我们的包是grails中我们自己的打包脚本。

一直在尝试添加一个步骤,在不删除war文件等的情况下,从我们的grails应用程序下的目标目录中清除旧的构建工件。

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")
    }
}

但它抛出了一个错误。

有什么想法吗?

奖金问题

"grailswar"并没有删除旧的war。我不希望用户必须输入3个命令:

grails clean-old-war
grails war
grails our-package

如果我们能掌握当前战争文件的名称(即应用程序名称和应用程序版本),那么我们可能有一种方法可以删除所有战争文件,除了我们想要的"我们的包"中的文件

  1. 有没有一种方法可以从类似蚂蚁的构建脚本中获取app.version

  2. 有没有办法删除除指定战争以外的所有战争?

试错盛行,以下并不优雅,但有效:

println "cleaning up zips and tars"
ant.delete(dir:"target", includes: "*.zip")
ant.delete(dir:"target", includes: "*.gz")

相关内容

  • 没有找到相关文章

最新更新