在ANT构建文件中,我们有时称之为groovy脚本。
<groovy src="${groovy.script.dir}/DoIt.groovy"/>有没有办法指定一个或多个额外的Groovy文件?我们的用例是,我们在单独的中定义了一些常量,这些常量应该在几个脚本中使用。
我们是否必须将您的脚本编译为.class文件才能按预期使用它们,或者是否有更好的方法来实现我们的目标?
发布于 2013-01-11 19:28:12
<groovy>任务的The docs表示,当您指定src属性时:
将包含该文件的目录添加到类路径中
因此,应该可以从您声明的脚本访问同一文件夹中的其他groovy类文件。
这是不是不起作用?
发布于 2013-02-13 18:28:21
我在过去使用Groovy 1.8.1时也遇到过类似的问题。我在文档中找不到如何在同一个<groovy>任务中使用多个脚本文件(另请参阅ant <script>任务的文档)。使用多个任务对我来说也不起作用,因为它们之间的上下文是重置的。
我还没有升级到Groovy 2.x.y,因为我不经常使用它。下面我将说明1.8.1的一种可能的变通方法;也许它仍然有效。
<property name="home" location="/Users/coyote/mytest/ant/src"/>
<property name="gscript1" location="${home}/my/own/pack/foo.groovy"/>
<property name="gscript2" location="${home}/my/own/pack/bar.groovy"/>
<groovy>
evaluate( new File(properties.'gscript1') );
evaluate( new File(properties.'gscript2') );
</groovy>evaluate()接受字符串或脚本文件,并使用当前绑定对其执行API文档的动态评估-according。我猜想这些就是<groovy>任务的绑定。
我不确定我是否理解了您的用例,但是使用这个模型,您当然可以首先定义常量;硬编码,作为属性+代码,或者在groovy-script-file + evaluate中。
https://stackoverflow.com/questions/14274925
复制相似问题