Ant:将逗号分隔的相对路径列表转换为路径



我有一个逗号分隔的目录列表:

foo,bar,baz,qux

我想将其转换为Ant路径,其中包含(类似于)以下内容:

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

似乎应该有一种方法可以用<pathconvert>做到这一点,但我不清楚它会是什么。建议?

您可以使用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}" />

相关内容

  • 没有找到相关文章

最新更新