Вызов Ant для Grails завершается с ошибкой: «[exec] Приложение - pre-Grails 0.5, пожалуйста, запустите: обновление Grails» - PullRequest
0 голосов
/ 16 марта 2012

Я столкнулся с довольно странной проблемой с нашим отличным скриптом сборки.Весь проект использует вспомогательный скрипт groovy, который вызывает все остальные сценарии сборки (maven и ant).Одна из целей муравья, вызываемая вызовами groovy script, вызывается через exec grails war:

    <exec executable="cmd" dir="${parentDir}/${grails.appname}">
        <arg value="/c"/>
        <arg path="${env.GRAILS_HOME}/bin/grails.bat"/>
        <arg value="war"/>
        <arg value="${grails.appname}-${app.version}.war"/>
    </exec>

Вызов этого блока завершается неудачно с:

     [exec] Application is pre-Grails 0.5, please run: grails upgrade

Любые предложения, какобойти эту проблему?

Спасибо за ваше время.

1 Ответ

1 голос
/ 05 апреля 2012

Я наконец нашел решение проблемы, я не знаю, является ли это лучшим способом, но это решило мою проблему.Поэтому в той же цели, что и в блоке «exec», я добавил новый блок «exec», чтобы вызвать обновление на grails.bat.Пока все хорошо, вызов этой команды без параметров вызовет вопрос подтверждения, следует ли продолжать запрошенную операцию - в ant это создаст бесконечный цикл.Чтобы избежать этого, я добавил параметр "-f".Весь блок exec:

    <exec executable="cmd" dir="${parentDir}/${grails.appname}">
        <arg value="/c"/>
        <arg path="${env.GRAILS_HOME}/bin/grails.bat"/>
        <arg value="upgrade"/>
        <arg value="-force"/>
    </exec>

Надеюсь, это кому-нибудь поможет.

...