2008-10-22 28 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>