ant 转换路径分隔符

ant convert path separator

在一个 ant 文件中,我试图将 windows 风格的路径分隔符转换为 unix 风格。我有以下内容:

<path id="basedir.path">
    <!-- ${basedir} is a project attribute. -->
    <pathelement path="${basedir}" />
</path>
<pathconvert property="adjusted_basedir" refid="basedir.path">
    <mapper>
        <globmapper from="*" to="*" handledirsep="yes"/>
    </mapper>
</pathconvert>
<echo level="verbose" message="Basedir: ${basedir}" /> 
<echo level="verbose" message="Adj Basedir: ${adjusted_basedir}" />

adjusted_basedir 的输出与 basedir 相同。我试过使用

<mapper type="regexp" from="\" to="/" />

但是 adjusted_basedir 的输出只是“/”。如何将路径分隔符从 windows 转换为 unix 样式?我想避免为此使用 ant 的附加组件(因此 ant-contrib 已退出)。

尝试使用 filtermapper:

<pathconvert property="adjusted_basedir" refid="basedir.path">
    <filtermapper>
        <replacestring from="\" to="/" />
    </filtermapper>
</pathconvert>

https://ant.apache.org/manual/Types/mapper.html

pathconvert任务中也有一个属性可以做到这一点:

<pathconvert property="adjusted_basedir" refid="basedir.path" dirsep="/" />