使用sbt在fat jar清单中添加git提交id

使用sbt在fat jar清单中添加git提交id,sbt,sbt-assembly,fatjar,Sbt,Sbt Assembly,Fatjar,我正在使用sbt汇编插件为我的scala项目构建一个胖Jar。有没有一种方法可以将git提交id包含在jar清单中,类似于git提交id插件对maven的作用 谢谢老问题,但我要说的是 您可以使用带有sbt程序集的插件在MANIFEST.MF文件中包含git信息 要将信息添加到您的MANIFEST.MF文件,您可以通过以下方式使用packageOptionssbt键: import sbt.Package.ManifestAttributes import com.typesafe.sbt.Sb

我正在使用sbt汇编插件为我的scala项目构建一个胖Jar。有没有一种方法可以将git提交id包含在jar清单中,类似于git提交id插件对maven的作用


谢谢

老问题,但我要说的是

您可以使用带有sbt程序集的插件在
MANIFEST.MF
文件中包含git信息

要将信息添加到您的
MANIFEST.MF
文件,您可以通过以下方式使用
packageOptions
sbt键:

import sbt.Package.ManifestAttributes
import com.typesafe.sbt.SbtGit.git
packageOptions := Seq(ManifestAttributes(("Repository-Commit", git.gitHeadCommit.value.get)))
请参见此处的示例:

此信息将存储在sbt程序集生成的fat jar中包含的
MANIFEST.MF
文件中:

Manifest-Version: 1.0 
Implementation-Title: spark-authorizer
Repository-Commit: 12538262c1be14800eb820163de6c46cdbd69c99
Implementation-Version: 0.1.0-SNAPSHOT
Specification-Vendor: de.example.playground.spark.authorizer
Specification-Title: spark-authorizer
Implementation-Vendor-Id: de.example.playground.spark.authorizer
Specification-Version: 0.1.0-SNAPSHOT
Implementation-Vendor: de.example.playground.spark.authorizer
您可以添加任意数量的值
packageOptions
。所有这些文件都将包含在MANIFEST.MF文件中