2013-05-22 4 views
2

Если вы хотите запустить скрипт Groovy в Ant, вы можете использовать либо script task как это: ..Скрипты Groovy в Ant: используйте задачу сценария или деловую задачу?

<script language="groovy"> 
//foo 
</script> 

..or в groovy task подобное:

<groovy> 
//foo 
</groovy> 

Оба способа требуют, чтобы Библиотеки Groovy для загрузки. Я нашел многообещающую глядя Ant конфигурации, которая делает это автоматически в этом ответе: Execute my groovy script with ant or maven

Теперь мой вопрос :

Какой из двух Ant задач предназначен для использования для запуска Groovy сценариев? script или groovy?

Кроме того, что является целью «дополнительной» задачи, если есть задача скрипта, включенная в Ant, которая поддерживает groovy?

Кроме того, я хотел бы процитировать в блоге я нашел здесь: http://jbetancourt.blogspot.co.at/2012/03/run-groovy-from-ants-script-task.html

Конечно, почему бы вы использовать задачу «сценария», когда «заводной» задача доступна? Вы бы этого не сделали.

Согласен ли кто-нибудь с автором этой публикации? Если это так - не могли бы вы объяснить эту идею?

ответ

4

+1 за заявление Иосифа о заводной задаче (кстати, его блог http://josefbetancourt.wordpress.com/ и http://octodecillion.com/ стоит чтение)
Использования заводных много для нескольких целей, в муравья я исключительно с помощью заводной задачи из-за его скользкий синтаксис обеспечивая простым доступ к муравьиной API, рассмотрим следующий пример:

<project> 
    <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy"/> 

    <property name="foo" value="bar"/> 

    <script language="groovy"> 
    project.setProperty 'foo', 'baz' 
    echo = project.createTask 'echo' 
    echo.setMessage 'Howdie :-)' 
    echo.execute() 
    </script> 

    <echo>1. $${foo} => ${foo}</echo> 

    <groovy> 
    properties.'foo' = 'baaz' 
    ant.echo 'Howdie :-)' 
    </groovy> 

    <echo>2. $${foo} => ${foo}</echo> 

</project> 

Что вы предпочитаете? ОК, обычно вместо эха. ... вы использовали бы print или println,
это просто для демонстрации доступа к ant api.

+0

Но разве вы не можете запускать скрипты из файла, используя задачу сценария и определяя файл в атрибуте src? Здесь он говорит так: http://ant.apache.org/manual/Tasks/script.html 'src \t Местоположение скрипта как файла, если не встроенного'. – UnPlan2ned

+0

, конечно, вы правы, забыли об этом, потому что я никогда не использовал задачу скрипта :) удалил ту часть моего ответа – Rebse

+0

Спасибо, например, я немного поиграл с ней и решил использовать грандиозную задачу! Доступ к свойствам на самом деле намного проще. – UnPlan2ned

Смежные вопросы