2016-09-01 02:14:14 +02:00
|
|
|
import sbt._, Keys._
|
|
|
|
|
|
2017-05-03 16:52:36 +02:00
|
|
|
import sbt.internal.librarymanagement.PublishConfiguration
|
|
|
|
|
|
2016-09-01 02:14:14 +02:00
|
|
|
/** 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
|
2016-09-01 02:14:14 +02:00
|
|
|
|
|
|
|
|
object autoImport {
|
2017-04-21 09:14:31 +02:00
|
|
|
val publishLocalBin = taskKey[Unit]("")
|
2016-09-01 02:14:14 +02:00
|
|
|
val publishLocalBinConfig = taskKey[PublishConfiguration]("")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
import autoImport._
|
|
|
|
|
|
2016-11-24 15:15:38 +01:00
|
|
|
override def globalSettings = Seq(publishLocalBin := (()))
|
|
|
|
|
|
2016-09-01 02:14:14 +02:00
|
|
|
override def projectSettings = Def settings (
|
2017-04-21 09:14:31 +02:00
|
|
|
publishLocalBin := Classpaths.publishTask(publishLocalBinConfig, deliverLocal).value,
|
2016-09-01 02:14:14 +02:00
|
|
|
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
|
|
|
|
|
),
|
2016-09-01 02:14:14 +02:00
|
|
|
packagedArtifacts in publishLocalBin := Classpaths.packaged(Seq(packageBin in Compile)).value
|
|
|
|
|
)
|
|
|
|
|
}
|