如何运行sbt,评估表达式并离开?

时间:2018-09-20 23:59:37

标签: sbt sh

我要运行此shell脚本:

#!/usr/bin/env sh

set -e

sbt <<_EOF_
set name := "foo"
set organization := "bar"
publish
_EOF_

我不需要交互模式,当我运行此脚本时,sbt不会在最后一行之后停止工作。 如何以这种方式传递多个集合表达式并退出交互模式?我需要在此脚本中传递许多设置参数,我不知道最好的方法

更新: 发布命令可能会失败。 我想要这种情况:如果失败,则sh脚本将具有非零的退出,否则退出0(无错误)

1 个答案:

答案 0 :(得分:1)

使用SBT batch mode指定以空格分隔的sbt命令列表作为参数:

#!/usr/bin/env sh
set -e
sbt 'set name := "foo"' 'set organization := "bar"' publish

如果publish抛出java.lang.RuntimeException: Repository for publishing is not specified,则echo $?应该返回非零退出代码。