scala Mill:如何使用UbershVersion生成uberjar?

2sbarzqh  于 7个月前  发布在  Scala
关注(0)|答案(1)|浏览(59)

Mill可以通过mill assembly生成(Uber)jar。生成的文件位于out/assembly.dest/out.jar
如何自定义输出文件名而不是out.jar?我想使用publishVersion的值(我正在使用mill-vcs-version)。
SBT可以生成名为Uberjar的文件。

kzipqqlq

kzipqqlq1#

您可以通过覆盖assembly目标来自定义结果。

def assembly(): T[PathRef] = T {
  val dest = T.dest / s"${artifactName()}-${publishVersion()}-assembly.jar"
  os.copy(super.assembly().path, dest)
  PathRef(dest)
}

除了artifactName,你还可以使用artifactId,它也包含Scala版本后缀和潜在的平台后缀。
如果你需要在多个地方进行这种定制,你应该考虑使用trait模块。

相关问题