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="/" />
在一个 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="/" />