Набор файлов Ant для списка, разделенного запятыми - PullRequest
1 голос
/ 25 сентября 2011

Я пытаюсь передать набор файлов в macrodef и заставить макрос генерировать список классов через запятую. Более того, мне также нужно изменить список, чтобы он содержал имена пакетов java и классов вместо имен "/" с разделителями.

Мы используем Ant, OSGi и bnd, и в конечном итоге я пытаюсь создать запись в манифесте, которая содержит полное имя класса для каждой записи набора файлов.

Пример конечной цели:

Manifest-Entry: org.foo.bar.ClassOne, org.foo.bar.ClassTo

Ответы [ 2 ]

4 голосов
/ 25 сентября 2011

Это можно сделать с помощью задачи Ant pathconvert с вложенным преобразователем, например:

<property name="classes" location="classes" />
<fileset dir="${classes}" id="classes" />

<pathconvert dirsep="." refid="classes" property="manifest.entry" pathsep=", ">
    <mapper type="regexp" from="${classes}/(.*).class" to="\1" />
</pathconvert>

<echo message="Manifest-Entry: ${manifest.entry}" />
0 голосов
/ 26 сентября 2011

Поскольку вы используете bnd, вы также можете попробовать использовать макрос ${classes} в файле bnd.

...