Ant文件集到逗号分隔列表

时间:2011-09-25 16:24:14

标签: ant osgi

我正在尝试将文件集传递给macrodef,并让宏生成以逗号分隔的类列表。更重要的是,我还需要更改列表以包含java包&类名而不是“/”delimmited names。

我们正在使用Ant,OSGi和bnd,我最终要做的是在Manifest中创建一个包含文件集每个条目的完全限定类名的条目。

结束目标示例:

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

2 个答案:

答案 0 :(得分:4)

您可以使用带有嵌套映射器的Ant pathconvert task来执行此操作,例如:

<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}" />

答案 1 :(得分:0)

由于您使用的是bnd,您还可以尝试使用${classes}文件中的bnd宏。