Mill:如何使用publishVersion生成uberjar?

问题描述 投票:0回答:1

Mill 可以通过

mill assembly
生成(Uber)jar。生成的文件位于
out/assembly.dest/out.jar

如何自定义输出文件名而不是

out.jar
?我想使用
publishVersion
的值(我正在使用
mill-vcs-version
)。

sbt 可以生成名字良好的 uberjar。

scala build-tools mill
1个回答
0
投票

您可以通过覆盖

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 模块

© www.soinside.com 2019 - 2024. All rights reserved.