我正在尝试将文件集传递给macrodef,并让宏生成以逗号分隔的类列表。更重要的是,我还需要更改列表以包含java包&类名而不是“/”delimmited names。
我们正在使用Ant,OSGi和bnd,我最终要做的是在Manifest中创建一个包含文件集每个条目的完全限定类名的条目。
结束目标示例:
Manifest-Entry: org.foo.bar.ClassOne, org.foo.bar.ClassTo
答案 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
宏。