Мне нужно написать объект Ant, который добавляет вместе (с разделителями-запятыми) список имен файлов «.jar» из папки в переменную, которая позже будет использоваться в качестве входных данных для внешней утилиты. Я сталкиваюсь с барьерами масштаба и неизменности. У меня есть доступ к ant-contrib, но, к сожалению, в версии, с которой я застрял, нет доступа к задаче «для». Вот то, что я до сих пор:Как создать список имен файлов?
<target name="getPrependJars">
<var name="prependJars" value="" />
<foreach param="file" target="appendJarPath">
<path>
<fileset dir="${project.name}/hotfixes">
<include name="*.jar"/>
</fileset>
</path>
</foreach>
<echo message="result ${prependJars}" />
</target>
<target name="appendJarPath">
<if>
<equals arg1="${prependJars}" arg2="" />
<then>
<var name="prependJars" value="-prependJars ${file}" />
</then>
<else>
<var name="prependJars" value="${prependJars},${file}" />
</else>
</if>
</target>
кажется, что «appendJarPath» только модифицирует «prependJars» в пределах своей собственной области. В качестве теста я попытался использовать «antcallback», который работает для одного целевого вызова, но не очень помогает мне в моем списке файлов.
Я понимаю, что я немного работаю против зерна, и лексический охват желателен в подавляющем большинстве случаев, но я действительно хотел бы, чтобы это работало так или иначе. У кого-нибудь есть творческие идеи для решения этой проблемы?
это прекрасно! Спасибо! – AndreiM