首页 > 解决方案 > 如何在不使用 ant contrib 的情况下从 Ant 中的文件名中提取版本?

问题描述

我正在尝试扫描 ant 脚本中的文件夹并从中提取版本,假设文件名是abc-1.0.0.exe/dmg。我想在 Ant中获得1.0.0 。有什么办法可以不使用 ant contrib 吗?我只找到了我不想使用的 ant contrib 的帮助。

标签: ant

解决方案


<pathconvert>根据带有正则表达式的任务,您可能可以使用类似的东西。

这是此示例中的目录结构:

$ find folder
folder
folder/abc-1.0.0.exe
folder/abc-1.0.0.exe/dmg

这是 Ant 构建文件:

<fileset dir="folder" id="folder"/>

<echo message="file is: ${toString:folder}" />

<pathconvert property="version">
    <path path="${toString:folder}" />
    <regexpmapper from=".*-(.*).exe.*" to="\1" />
</pathconvert>

<echo message="version is: ${version}" />

输出:

 [echo] file is: abc-1.0.0.exe/dmg
 [echo] version is: 1.0.0

推荐阅读