#groovy #antbuilder
#groovy #antbuilder
Вопрос:
Может понадобиться ваша помощь:
Попытка выполнить задачу ant в Groovy, чтобы она не ждала ответа от скрипта (т. Е. Выполнялась в фоновом режиме)
Я безуспешно пробовал следующие два способа
//Cannot find script
ant.exec(failonerror: "true", executable: "scriptname.sh amp;")
// Says: You have used an attribute or nested element which is not compatible with spawn
ant.exec(failonerror: "true", spawn:"true", executable: "scriptname.sh")
Любой совет о том, как это сделать? Я искал в Google, но не могу найти хороших примеров для Groovy.
Спасибо, ребята, я ценю помощь.
Ответ №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.gradle
и script.sh
должен находиться в той же папке в этом решении. Вам необходимо указать полный путь к executable
.
Комментарии:
1. К сожалению, я не особенно знаком с gradle, и моя системная архитектура довольно продвинута, с подключенными дисками, на которых размещены сценарии оболочки. Я попытался упростить свое решение, написав второй сценарий оболочки для его выполнения, и это сработало. Я ценю, что вы нашли время ответить.
Ответ №2:
Вместо того, чтобы пытаться выяснить, как это сделать в AntBuilder, где имеется ограниченная документация, я создал второй сценарий оболочки, который вместо этого выполнял желаемый сценарий оболочки в фоновом режиме.
#!/bin/bash
command="./scriptname.sh $1 $2 $3 $4"
nohup $command > /dev/null 2>amp;1 amp;