Especificando o Compilador Eclipse Completamente de _within_ build.xml

Como um experimento, queremos construir nossos produtos usando o compilador java Eclipse (ecj-3.5.jar baixado de eclipse.org) na versão em tempo de execução do Java 6 em vez do JDK e, pelo que entendi, é uma questão de adicionar este jar para o caminho de classe ant e definindo a propriedade build.compiler para apontar para o adaptador.

Ao incluir

<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter" />

no meu build.xml e invocando ant com um JRE, recebo o erro esperado de que o adaptador não pode ser encontrado e, adicionando ecj-3.5.jar ao caminho de classe no painel Eclipse, posso compilar meu código conforme o esperado. Eu acredito que a mesma funcionalidade esteja disponível com "-lib foo.jar" na linha de comando com formigas modernas.

Agora, eu quero especificar dedentro&nbsp;build.xml que eu quero ecj-3.5.jar no meu caminho de classe que satisfaça o mesmo que acima. Já podemos fazer isso com tarefas ant, então acredito que é possível.

Portanto, a pergunta é: como posso adicionar ao caminho de classe usado pelo javac para localizar o compiladorsó&nbsp;de dentro do build.xml?

Parece que o próximo ant4eclipse 1.0 inclui o compilador Eclipse (que era para isso que eu queria usar isso); portanto, fazer o upgrade para isso (de 0,5) deve resolver o problema que temos.

24-09-2010: O Ant4Eclipse ainda está no M4 sem indicação de quando o lançamento ocorrerá.

01/12/2011: Agora migramos de formiga para maven. Os scripts build.xml atingiram o limite de complexidade e foi necessária uma nova abordagem. Qualquer pessoa que precise escolher o que fazer - não siga o caminho ant4eclipse, exceto em projetos triviais.

30/11/2012: Um ano depois, a experiência do maven ainda é boa. Existem muitas peculiaridades e mudanças de mentalidade, mas a maioria faz sentido no contexto. O Maven pode especificar o nível do compilador em projetos individuais facilmente. Estamos pensando em usar ecj em vez de javac (por várias razões), mas para a maioria dos propósitos o javac funciona bem.