Here's how to set up a standalone task to create an artifact with binaries and sources, leaving packageBin and packageSrc unaffected:
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)) }
Optionally, if you want, you can override package to use packageBinSrc :
Keys.`package` := (packageBinSrc in Compile).value
source share