如何在 Groovy 中以编程方式构建 AntBuilder 调用?
How can I build up an AntBuilder call programmatically in Groovy?
假设我有这个 Groovy 代码:
ant.exec(executable:"cmd",osfamily:"windows",dir:bin) {
arg(value: "/c")
arg(value: "add-user.bat")
arg(value: user)
arg(value: pw)
arg(value: "--silent")
}
我的代码中经常有这样的 exec 调用,带有不同数量的参数,所以我认为它可能是一个带有对象数组参数的函数:
private void execute(Object... argumens) {
ant.sequential {
exec(executable:"cmd",osfamily:"windows",dir:bin) {
arg(value: "/c")
//What should I do here
}
}
}
//It would be called like this:
execute("add-user.bat",user,pw,"--silent");
我应该在 exec 元素中写什么?是否有可能在该 exec 中进行迭代?
请耐心等待,我是一个 Java 的人,想在 Maven 中编写一些脚本,所以我不了解发生在 Groovy 的 AntBuilder 中的魔法。如果您对 Groovy 中 AntBuilder 的工作原理有一些通俗易懂的解释,不胜感激。
你应该可以做到:
private void execute(Object... argumens) {
ant.sequential {
exec(executable:"cmd",osfamily:"windows",dir:bin) {
arg(value: "/c")
argumens.each {
arg(value: it)
}
}
}
}
假设我有这个 Groovy 代码:
ant.exec(executable:"cmd",osfamily:"windows",dir:bin) {
arg(value: "/c")
arg(value: "add-user.bat")
arg(value: user)
arg(value: pw)
arg(value: "--silent")
}
我的代码中经常有这样的 exec 调用,带有不同数量的参数,所以我认为它可能是一个带有对象数组参数的函数:
private void execute(Object... argumens) {
ant.sequential {
exec(executable:"cmd",osfamily:"windows",dir:bin) {
arg(value: "/c")
//What should I do here
}
}
}
//It would be called like this:
execute("add-user.bat",user,pw,"--silent");
我应该在 exec 元素中写什么?是否有可能在该 exec 中进行迭代?
请耐心等待,我是一个 Java 的人,想在 Maven 中编写一些脚本,所以我不了解发生在 Groovy 的 AntBuilder 中的魔法。如果您对 Groovy 中 AntBuilder 的工作原理有一些通俗易懂的解释,不胜感激。
你应该可以做到:
private void execute(Object... argumens) {
ant.sequential {
exec(executable:"cmd",osfamily:"windows",dir:bin) {
arg(value: "/c")
argumens.each {
arg(value: it)
}
}
}
}