2008-10-22 24 views
0

我在一个ant构建文件中使用groovy代码片段。里面的Groovy代码我想引用已Groovy的部分以外定义的文件集,这样的:groovy里面的蚂蚁:如何访问由ant标签定义的grooy

<target name="listSourceFiles" > 
    <fileset id="myfileset" dir="${my.dir}"> 
     <patternset refid="mypatterns"/> 
    </fileset> 
    <groovy> 
     def ant = new AntBuilder() 

     scanner = ant.fileScanner { 
      fileset(refid:"myfileset") 
     } 

    ... 
    </groovy> 
</target> 

当我执行此我得到以下错误信息:

Buildfile: build.xml 

listSourceFiles: 
    [groovy] 

BUILD FAILED 
d:\workspace\Project\ant\build.xml:13: 
Reference myfileset not found. 

我错过了什么?

回答

1

按照Groovy Ant Task文档中,绑定的常规任务之一,是当前AntBuilderant

所以修改你的脚本删除冲突“蚁族”高清我得到它没有任何错误运行:

<project name="groovy-build" default="listSourceFiles"> 

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

<patternset id="mypatterns"> 
    <include name="../*.groovy"/> 
</patternset> 
<target name="listSourceFiles" > 
    <fileset id="myfileset" dir="${my.dir}"> 
     <patternset refid="mypatterns"/> 
    </fileset> 
    <groovy> 
     scanner = ant.fileScanner { 
      fileset(refid:"myfileset") 
     } 
    </groovy> 
</target> 
</project>