Ant中的Groovy脚本:使用脚本任务还是常规任务?

时间:2013-05-22 19:19:57

标签: ant groovy

如果要在Ant中运行Groovy脚本,可以像这样使用script task:..

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

..或groovy task之类的:

<groovy>
//foo
</groovy>

两种方式都需要下载Groovy库。我找到了一个看起来很有希望的Ant配置,在这个答案中自动执行此操作:Execute my groovy script with ant or maven

现在我的问题

两个Ant任务中的哪一个用于运行Groovy脚本? scriptgroovy

另外,如果Ant中包含一个支持groovy的脚本任务,那么“附加”常规任务的目的是什么?

另外,我想引用我在此处找到的博文:http://jbetancourt.blogspot.co.at/2012/03/run-groovy-from-ants-script-task.html

  

当然,为什么在'groovy'任务可用时你会使用'script'任务?你不会。

有人同意这篇文章的作者吗?如果是这样 - 你能解释它背后的想法吗?

1 个答案:

答案 0 :(得分:4)

约瑟夫关于常规任务的陈述

+1(顺便说一句,他的博客http://josefbetancourt.wordpress.com/http://octodecillion.com/值得一读) 为了多种目的使用groovy,在ant我专门使用groovy任务,因为他的灵活语法提供了对ant 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的访问。