如何从终端中的 build.sbt 获取值
How to fetch a value from build.sbt in terminal
任何人都可以建议,通过终端如何读取 build.sbt 中存在的值(我想读取一个名为 'version' 的变量)?我在互联网上找不到任何解决方案。谢谢
要从 build.sbt 的第 ThisBuild / version := "1.0.0"
行获取值 1.0.0
,您可以使用以下 shell 命令。
grep "ThisBuild / version" build.sbt | cut -d\" -f2
sbt v1.3.0 有一个新的 print
命令,它类似于 show
但直接打印到 标准输出 :
sbt --no-colors --error 'print ThisBuild / version'
--no-colors
禁用 ANSI 颜色代码
--error
将日志记录级别设置为仅报告错误(无 [info]
和 [warn]
日志消息)
print ThisBuild / version
是实际命令
您可能希望将 ThisBuild
替换为您的项目名称。
如果您有一个多项目并且根项目聚合了任务,那么您可能会得到每个子项目的版本输出。要关闭它,您可以使用 aggregate
设置:
sbt --no-colors --error 'set aggregate := false; print version'
请注意,此命令需要时间,它可能看起来什么也没发生,但它只是静默加载 sbt(因为我们关闭了日志)。
任何人都可以建议,通过终端如何读取 build.sbt 中存在的值(我想读取一个名为 'version' 的变量)?我在互联网上找不到任何解决方案。谢谢
要从 build.sbt 的第 ThisBuild / version := "1.0.0"
行获取值 1.0.0
,您可以使用以下 shell 命令。
grep "ThisBuild / version" build.sbt | cut -d\" -f2
sbt v1.3.0 有一个新的 print
命令,它类似于 show
但直接打印到 标准输出 :
sbt --no-colors --error 'print ThisBuild / version'
--no-colors
禁用 ANSI 颜色代码--error
将日志记录级别设置为仅报告错误(无[info]
和[warn]
日志消息)print ThisBuild / version
是实际命令
您可能希望将 ThisBuild
替换为您的项目名称。
如果您有一个多项目并且根项目聚合了任务,那么您可能会得到每个子项目的版本输出。要关闭它,您可以使用 aggregate
设置:
sbt --no-colors --error 'set aggregate := false; print version'
请注意,此命令需要时间,它可能看起来什么也没发生,但它只是静默加载 sbt(因为我们关闭了日志)。