groovy formiga dentro: como refids acesso de grooy que são definidas por tags formiga
Pergunta
Eu estou usando um trecho de código Groovy em um arquivo de construção Ant. Dentro do código Groovy eu estou tentando fazer referência a um conjunto de arquivos que foi definido fora da parte groovy, assim:
<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>
Quando eu executar este eu recebo a seguinte mensagem de erro:
Buildfile: build.xml
listSourceFiles:
[groovy]
BUILD FAILED
d:\workspace\Project\ant\build.xml:13:
Reference myfileset not found.
O que eu estou ausente?
Solução
De acordo com a Groovy Ant Task documentação, um dos ligações para a tarefa Groovy é a corrente AntBuilder , ant
.
Assim, modificando o seu script para soltar o confronto 'formiga' def que eu comecei a correr sem erros:
<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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow