我希望sbt package
或任何变体从我的项目中生成一个".jar",其中还包括源文件(".java"one_answers".scala"文件)。
这将是packageBin和packageSrc的混合。
我没有:
- 找到能做到这一点的任务了吗
- 了解如何调整包任务
- 也没有定义我实现这一目标的新任务
谢谢你的提示。
查看文档,您可能应该向packageBin
作用域中的mappings
键添加内容。以下似乎对我有效:
mappings in (Compile, packageBin) ++= (mappings in (Compile, packageSrc)).value
以下是如何设置一个独立任务来创建带有二进制文件和源代码的工件,而不影响packageBin
和packageSrc
:
val packageBinSrc = taskKey[File]("Produces an artifact containing both binaries and sources.")
artifactClassifier in packageBinSrc := Some("binsrc")
inConfig(Compile) {
import Defaults._
packageTaskSettings(packageBinSrc, concatMappings(packageBinMappings, packageSrcMappings))
}
可选地,如果您喜欢,您可以重新定义package
以使用packageBinSrc
:
Keys.`package` := (packageBinSrc in Compile).value