sbt/project/PublishBinPlugin.scala

29 lines
955 B
Scala
Raw Normal View History

import sbt._, Keys._
/** This local plugin provides ways of publishing just the binary jar. */
object PublishBinPlugin extends AutoPlugin {
override def requires = plugins.JvmPlugin
2017-04-21 09:14:31 +02:00
override def trigger = allRequirements
object autoImport {
2017-04-21 09:14:31 +02:00
val publishLocalBin = taskKey[Unit]("")
val publishLocalBinConfig = taskKey[PublishConfiguration]("")
}
import autoImport._
override def globalSettings = Seq(publishLocalBin := (()))
override def projectSettings = Def settings (
2017-04-21 09:14:31 +02:00
publishLocalBin := Classpaths.publishTask(publishLocalBinConfig, deliverLocal).value,
publishLocalBinConfig := Classpaths.publishConfig(
2017-04-21 09:14:31 +02:00
(packagedArtifacts in publishLocalBin).value,
Some(deliverLocal.value),
(checksums in publishLocalBin).value,
logging = ivyLoggingLevel.value,
overwrite = isSnapshot.value
),
packagedArtifacts in publishLocalBin := Classpaths.packaged(Seq(packageBin in Compile)).value
)
}