我正在使用 sbt-assembly 插件为我的 scala 项目构建一个胖 Jar。有没有办法可以在 jar 清单中包含 git commit id,类似于git-commit-id-plugin
对 maven 执行的操作。
谢谢
我正在使用 sbt-assembly 插件为我的 scala 项目构建一个胖 Jar。有没有办法可以在 jar 清单中包含 git commit id,类似于git-commit-id-plugin
对 maven 执行的操作。
谢谢
老问题,但我去...
您可以将sbt-git插件与 sbt-assembly 一起使用,以便在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)))
请参阅此处的示例:spark-authorizer
此信息将存储在MANIFEST.MF
sbt-assembly 生成的 fat jar 中包含的文件中:
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 文件中。