Estou tentando utilizar algum mecanismo de gerenciamento de dependencias no ANT, mas estou com problemas no classpathref do taskdef.
Já tentei utilizar o Maven Tasks for ANT 2.0.7 (http://maven.apache.org/ant-tasks.html) e o Ivy 1.4.1 (http://incubator.apache.org/ivy/). Ambos não encontram o classpath.
Para o Maven Tasks for ANT utilizei o seguinte trecho para definir o path no build (depois de ter configurado o pom.xml com as dependencias corretas):
[code]<artifact:pom id=“pom” file=“pom.xml” />
<artifact:dependencies pathId=“compile.classpath” filesetId=“compile.fileset” useScope=“compile”>
</artifact:dependencies>
[/code]
Já para o Ivy utilizei o seguinte:
[code]<ivy:configure file=“D:/Desenv/ivyconf.xml”/>
ivy:resolve/
<ivy:cachepath pathid=“compile.classpath” conf=“compile” />
[/code]
Em ambos os casos aparece um warning no Eclipse “Reference compile.classpath no found” no taskdef e a task ejbdoclet não funciona. As dependencias e a configuração aparentemente estão corretos pois ele faz o download das dependencias para o repositório/cache local.
O estranho é que a cópia das dependencias funciona nos dois casos, mas não quero duplicar os jars na máquina cliente e muito menos por projeto, para utilizar diretamente o repositório/cache local. Abaixo o código de cópia que funciona:
Maven Tasks for ANT:
<copy todir="lib">
<fileset refid="compile.fileset" />
<mapper type="flatten" />
</copy>
Ivy:
Alguém passou por situação semelhante ou tem alguma sugestão de gerência de dependências com o ANT? Ainda não posso migrar para o Maven…