groovy inside ant:antタグで定義されたgrooyのrefidにアクセスする方法
質問
antビルドファイルでグルーヴィーなコードスニペットを使用しています。 groovyコード内では、次のように、groovyパートの外部で定義されたファイルセットを参照しようとしています:
<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.
不足しているものは何ですか?
解決
Groovy Antタスクドキュメント、groovyタスクの バインディング の1つは、現在の AntBuilder 、 ant
です。
それで、衝突する 'ant' defをドロップするようにスクリプトを修正しました。エラーなしで実行できました:
<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>
所属していません StackOverflow