gpt4 book ai didi

playframework - 如何将提交哈希添加到 Play 模板?

转载 作者:行者123 更新时间:2023-12-04 05:35:50 27 4
gpt4 key购买 nike

我想将提交哈希放入 Play Framework 模板文件中,以便我可以通过 REST GET 调用查看构建信息。

在 sbt 中,我可以获得 git commit hash 和 git 分支名称,无论如何在构建过程中将此信息放入模板文件中?

build.sbt

name := "my-project"

val branch = "git rev-parse --abbrev-ref HEAD".!!.trim
val commit = "git rev-parse HEAD".!!.trim
val buildTime = (new java.text.SimpleDateFormat("yyyyMMdd-HHmmss")).format(new java.util.Date())

version := "%s-%s-%s".format(branch, commit, buildTime)

最佳答案

添加我丑陋的解决方案以添加 git head hash 来构建:
(除了来自 Bob Kuhar 的回答的链接)
我已经有了“lazy val root”,所以这就是它现在的样子。

lazy val root = (project in file(".")).
enablePlugins(PlayScala).
enablePlugins(BuildInfoPlugin).
settings(
buildInfoKeys := Seq[BuildInfoKey](
name, version, scalaVersion, sbtVersion,
"hostname" -> java.net.InetAddress.getLocalHost().getHostName(),
"whoami" -> System.getProperty("user.name"),
"buildTimestamp" -> new java.util.Date(System.currentTimeMillis()),
"gitHash" -> new java.lang.Object(){
override def toString(): String = {
try {
val extracted = new java.io.InputStreamReader(
java.lang.Runtime.getRuntime().exec("git rev-parse HEAD").getInputStream())
(new java.io.BufferedReader(extracted)).readLine()
} catch { case t: Throwable => "get git hash failed" }
}}.toString()
),
buildInfoPackage := "buildpkg"
)

关于playframework - 如何将提交哈希添加到 Play 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24191469/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com