У меня есть набор файлов, для которых я хочу запустить скрипт perl.Проблема в том, что они не находятся в одном каталоге.Фактически все они являются частью упорядоченной, но сложной иерархии каталогов.
Я написал скрипт Bash, который делает то, что я хочу:
if [ ${HOME:+1} ]; then
for A in ${HOME}/a/b/*; do
for B in ${A}/c/*; do
for C in ${B}/*; do
if [ -f $C/somefile ]; then
some_perl_script $C/somefile;
fi
done;
done;
done;
fi
Так что это работает, и это не слишком сложно.Однако мне нужно, чтобы эта функциональность была доступна с помощью Ant.Конечно, я мог бы просто вызвать этот сценарий из Ant, но я хочу знать, есть ли у Ant возможность сделать это в первую очередь, что кажется более простым способом выполнения действий.По сути, я хочу что-то похожее на следующий build.xml:
<project name="application" basedir=".">
<target name="apply_to_all">
<exec executable="perl" dir="${basedir}">
<arg value="some_perl_script.pl"/>
<arg value="a/b/**/c/**/**/somefile"/>
</exec>
</target>
</project>
Я нашел это SO сообщение .Тем не менее, я хотел бы сделать это без ant-contrib.