Groovy AntBuilder выполняет задачу в фоновом режиме

#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;