Грааль муравей задание, поставь другую среду - PullRequest
0 голосов
/ 01 сентября 2010

Попытка создать задачу муравья Грааля, в которой есть другие среды, кроме программы для военного задания.

Я пробовал

<target name="war" depends="-init-grails" description="--> Creates a WAR of a Grails application">
        <grails script="War" args="grails.env=${env} ${war.filename}"/>
</target>

и

<target name="war" depends="-init-grails" description="--> Creates a WAR of a Grails application">
        <grails script="War" args="-Dgrails.env=${env} ${war.filename}"/>
</target>

Ни одна из этих двух работ и не всегда просто запустить производственную среду.Обратите внимание, что я также жестко запрограммировал $ {env}, так что это не значит, что он отсутствует

Ответы [ 3 ]

6 голосов
/ 01 сентября 2010

Я использую макроопределение для этого:

<property environment='env'/>

<property name='grails.home' value='${env.GRAILS_HOME}' />

<condition property='grails' value='grails.bat'>
   <os family='windows'/>
</condition>
<property name='grails' value='grails' />

<macrodef name='grails'>
   <attribute name='action' />
   <attribute name='environment' default='dev' />
   <element name='preargs' optional='true' />
   <element name='args' optional='true' />
   <sequential>
      <exec executable='${grails}' failonerror='true'>
         <preargs />
         <arg value='@{environment}'/>
         <arg value='@{action}'/>
         <args />
      </exec>
   </sequential>
</macrodef>

Вы можете выполнять простые команды:

<grails action='clean' />

или более сложные, такие как ваше военное задание:

<grails action='war' environment='${env}'>
   <args>
      <arg value="${war.filename}" />
   </args>
</grails>
1 голос
/ 01 сентября 2010

вы можете захотеть взглянуть на скрипты Grails, чтобы решить вашу проблему

http://www.grails.org/Command+Line+Scripting

он содержит ANT, так что вы можете использовать задачи ant в скриптах, и я полагаю, что у вас есть доступ к окружению и множеству других "отличных" вещей

я думаю, что вы также можете сделать это, если вы настроены на использование муравья, хотя я не пробовал это делать со скриптами grails

<exec executable="grails"  failonerror="true">
    <arg line='-c war grails.env=${env} ${war.filename}' />
</exec>
0 голосов
/ 28 июля 2011

если вы зайдете в каталог вашего проекта и запустите "grails --integrate-with -ant", он создаст build.xml, который будет автоматически использовать ivy для загрузки зависимостей и grails, и создаст для вас макрос def.

Вы можете использовать build.xml в качестве отправной точки для вашего проекта

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...