Самый простой способ добиться этого (с точки зрения кодирования) - с помощью команды antcontrib Для задачи
<for param="file">
<path>
<fileset dir="${src.dir}" includes="*"/>
</path>
<sequential>
<basename property="@{file}.basename" file="@{file}">
<symlink link="${dest.dir}/${@{file}.basename}" resource="@{file}"/>
</sequential>
</for>
Если вы не хотите использовать зависимость от ant-contrib, вы можете попробовать следующее (Примечание: я вообще не тестировал):
- Создать пару ссылок вручную в $ {dest.dir}.
- Запустить в ${dest.dir}.
Теперь у вас есть файл свойств шаблона, который вы будете воссоздавать с инструкциями по сборке:
<pathconvert pathsep="${line.separator}" property="file.list">
<fileset dir="${src.dir}" includes="*"/>
</pathconvert>
<echo message="${file.list}" file="${file-list.file}" append="false"/>
Теперь помассируйте файл с помощью фильтра регулярных выражений
<copy file="${file-list.file}" tofile="${dest-dir}/.link.properties">
<filterchain>
<tokenfilter>
<!-- I leave regex as an exercise to the reader -->
<replaceregex pattern="..." replace="..." flags="..."/>
</tokenfilter>
</filterchain>
</copy>
Наконец, сделайте symlink-воссоздать.
<symlink action="recreate">
<fileset dir="${dest.dir}" includes=".link.properties"/>
</symlink>