Groovy AntBuilder在后台执行任务

时间:2014-06-19 21:55:07

标签: groovy antbuilder

可以使用你的帮助:

尝试在Groovy中执行ant任务,以便它不会等待脚本的响应(即在后台运行)

我尝试了以下两种方法但没有成功

//Cannot find script
ant.exec(failonerror: "true", executable: "scriptname.sh &") 

// Says: You have used an attribute or nested element which is not compatible with spawn 
ant.exec(failonerror: "true", spawn:"true", executable: "scriptname.sh") 

有关如何完成此任务的任何建议?我搜索过谷歌,但找不到Groovy的任何好例子。

谢谢你们,我感谢你的帮助。

2 个答案:

答案 0 :(得分:1)

<强> script.sh

#!/bin/bash

cat > foo.conf << EOF
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
    ServerName localhost
</VirtualHost>
EOF

<强>的build.gradle

task external << {
    ant.exec(spawn:'true', executable: "${project.projectDir}/script.sh") 
}

build.gradlescript.sh必须位于此解决方案的同一文件夹中。您需要提供executable的完整路径。

答案 1 :(得分:0)

我没有试图弄清楚在文档有限的AntBuilder中如何做到这一点,而是创建了第二个shell脚本,它在后台执行了所需的shell脚本。

#!/bin/bash

command="./scriptname.sh  $1 $2 $3 $4"

nohup $command > /dev/null 2>&1 &