如何在不使用 ant contrib 的情况下从 Ant 中的文件名中提取版本?
How can I extract version from a file name in Ant without using ant contrib?
我正在尝试扫描 ant 脚本中的文件夹并从中提取版本,假设文件名为 abc-1.0.0.exe/dmg。我想在 Ant 中获取 1.0.0。有什么办法可以不使用 ant contrib 吗?我只找到了我不想使用的 ant contrib 的帮助。
基于 <pathconvert>
task 和正则表达式映射器,您也许可以使用类似的东西。
本例中的目录结构如下:
$ 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="" />
</pathconvert>
<echo message="version is: ${version}" />
输出:
[echo] file is: abc-1.0.0.exe/dmg
[echo] version is: 1.0.0
我正在尝试扫描 ant 脚本中的文件夹并从中提取版本,假设文件名为 abc-1.0.0.exe/dmg。我想在 Ant 中获取 1.0.0。有什么办法可以不使用 ant contrib 吗?我只找到了我不想使用的 ant contrib 的帮助。
基于 <pathconvert>
task 和正则表达式映射器,您也许可以使用类似的东西。
本例中的目录结构如下:
$ 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="" />
</pathconvert>
<echo message="version is: ${version}" />
输出:
[echo] file is: abc-1.0.0.exe/dmg
[echo] version is: 1.0.0