如何在命令行上从sbt-dynver获取版本?

时间:2017-10-22 12:40:45

标签: bash sbt

为了在我的sbt项目中动态生成版本,我使用的是sbt-dynver插件。但是为了集成构建系统,我想从bash脚本中获取版本字符串,如:

DYNVER=`sbt dynver`

但是上一个命令没有返回任何内容。

2 个答案:

答案 0 :(得分:1)

我设法通过将'show'命令添加到sbt并解析输出值来获得我想要的内容,如下所示:

VERSION=`sbt "show dynver" | grep -oE "\w{7}-\w{8}-\w{4}"`
echo $VERSION
4bbbb2a-20171022-1508

答案 1 :(得分:0)

最简单的解决方案是忽略最后一行的其他SBT输出。 另外,最好打印出version而不是dynver,因为它会影响version.sbt文件中的覆盖。

VERSION=$(sbt 'print version' | tail -n 1)
echo $VERSION
0.1.7-2-6853afe4