Ant: конвертировать разделенный запятыми список относительных путей к пути - PullRequest
1 голос
/ 27 января 2012

У меня есть список каталогов, разделенных запятыми:

foo,bar,baz,qux

Я хочу преобразовать его в путь Ant, содержащий (что-то вроде) следующее:

${basedir}/build/foo/classes
${basedir}/build/bar/classes
${basedir}/build/baz/classes
${basedir}/build/qux/classes

Кажетсявроде должен быть способ сделать это с <pathconvert>, но для меня не очевидно, что это будет.Предложения?

1 Ответ

2 голосов
/ 27 января 2012

Вы можете использовать dirset для хранения списка каталогов, а затем передать его в pathconvert.Что-то вроде:

<property name="dirs" value="foo,bar,baz,qux" />
<dirset id="dir_list" dir="${basedir}" includes="${dirs}" />

<pathconvert refid="dir_list" property="dirs_prop">
    <regexpmapper from="(${basedir})/(.*)" to="\1/build/\2/classes" />
</pathconvert>

Тогда свойство ${dirs_prop} будет содержать путь, который вы хотите ... или почти.Проблема с dirset заключается в том, что порядок каталогов не определен.Чтобы сохранить порядок исходного списка, используйте filelist вместо dirlist:

<filelist id="dir_list" dir="${basedir}" files="${dirs}" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...