在gradle中运行shell命令,但不要在任务中运行

在gradle中运行shell命令,但不要在任务中运行,shell,gradle,build.gradle,Shell,Gradle,Build.gradle,我目前拥有的是: task myTask (type : Exec) { executable "something.sh" ... (a lot of other things) args "-t" args ext.target } task doIt { myTask.ext.target = "/tmp/foo" myTask.execute(); myTask.ext.target = "/tmp/gee" myTask.execut

我目前拥有的是:

task myTask (type : Exec) {
   executable "something.sh"
   ... (a lot of other things)
   args "-t"
   args ext.target
}

task doIt {
   myTask.ext.target = "/tmp/foo"
   myTask.execute();

   myTask.ext.target = "/tmp/gee"
   myTask.execute();
}
有了这个,我想我可以在启动“doIt”时使用不同的参数运行“myTask”。但只在第一次执行脚本时执行,因为gradle注意到任务只运行一次。
如何重写“myTask”以便可以多次调用它?无需将其作为单独的任务。

您可以执行以下操作:

def doMyThing(字符串目标){
执行官{
可执行文件“something.sh”
args“-t”,目标
}
}
任务doIt{
多拉斯特{
doMyThing(“/tmp/foo”)
域名(“/tmp/gee”)
}
}

这里的
exec
不是任务,而是方法。

如何在数组或列表中提供多个参数?@IgorGanapolsky-使用
args myList