0

有没有办法以编程方式检查是否可以加载 sbt 构建而不冒 sbt 等待用户输入的风险?我想作为自动化 git/hg bisect 的一部分运行“sbt 测试”,但是由于构建定义中的错误,我得到了 sbt 无法启动的提交,然后询问用户它应该做什么。

另请参阅:项目加载失败时是否 sbt 失败(而不是等待用户输入)?

4

1 回答 1

1

使用该--batch标志,可以指示sbt放弃交互式提问。1如果出现错误,它仍会以退出代码退出:

$ sbt --batch; echo $?
[info] welcome to sbt 1.5.5 (Ubuntu Java 11.0.13)
[info] loading settings for project dl-tools-build from plugins.sbt ...
[info] loading project definition from /harddisk1/home/user/dl-tools/project
/harddisk1/home/user/dl-tools/build.sbt:63: error: not found: value asdf
asdf
^
sbt.compiler.EvalException: Type error in expression
[error] sbt.compiler.EvalException: Type error in expression
[error] Use 'last' for the full log.
[warn] Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? (default: r)
1
$ 
于 2021-12-21T10:44:05.960 回答