2016-09-01 02:14:14 +02:00
|
|
|
import sbt._, Keys._
|
|
|
|
|
|
2017-07-20 04:00:42 +02:00
|
|
|
import sbt.librarymanagement.PublishConfiguration
|
|
|
|
|
import sbt.librarymanagement.ConfigRef
|
2017-05-03 16:52:36 +02:00
|
|
|
|
2016-09-01 02:14:14 +02:00
|
|
|
/** This local plugin provides ways of publishing just the binary jar. */
|
|
|
|
|
object PublishBinPlugin extends AutoPlugin {
|
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 (
|
2020-01-08 15:41:29 +01:00
|
|
|
publishLocalBin := Classpaths.publishTask(publishLocalBinConfig).value,
|
2017-07-20 04:00:42 +02:00
|
|
|
publishLocalBinConfig := {
|
|
|
|
|
Classpaths.publishConfig(
|
2018-01-24 14:53:11 +01:00
|
|
|
false, // publishMavenStyle.value,
|
|
|
|
|
Classpaths.deliverPattern(crossTarget.value),
|
2017-07-20 04:00:42 +02:00
|
|
|
if (isSnapshot.value) "integration" else "release",
|
|
|
|
|
ivyConfigurations.value.map(c => ConfigRef(c.name)).toVector,
|
|
|
|
|
(packagedArtifacts in publishLocalBin).value.toVector,
|
2017-07-31 15:55:54 +02:00
|
|
|
(checksums in publishLocalBin).value.toVector,
|
2017-07-20 04:00:42 +02:00
|
|
|
logging = ivyLoggingLevel.value,
|
2017-08-10 17:23:15 +02:00
|
|
|
overwrite = isSnapshot.value
|
|
|
|
|
)
|
2017-07-20 04:00:42 +02:00
|
|
|
},
|
2016-09-01 02:14:14 +02:00
|
|
|
packagedArtifacts in publishLocalBin := Classpaths.packaged(Seq(packageBin in Compile)).value
|
|
|
|
|
)
|
|
|
|
|
}
|