2014-12-18 23:40:20 +01:00
|
|
|
import sbt._
|
|
|
|
|
import Keys._
|
|
|
|
|
import Dependencies._
|
|
|
|
|
|
|
|
|
|
object NightlyPlugin extends AutoPlugin {
|
|
|
|
|
override def trigger = allRequirements
|
|
|
|
|
override def requires = plugins.JvmPlugin
|
2017-03-29 15:43:38 +02:00
|
|
|
|
2014-12-18 23:40:20 +01:00
|
|
|
object autoImport {
|
2017-03-29 15:43:38 +02:00
|
|
|
val includeTestDependencies = settingKey[Boolean]("Doesn't declare test dependencies.")
|
2014-12-18 23:40:20 +01:00
|
|
|
|
2017-03-29 15:43:38 +02:00
|
|
|
def testDependencies = libraryDependencies ++= (
|
|
|
|
|
if (includeTestDependencies.value) Seq(scalaCheck % Test, specs2 % Test, junit % Test)
|
2014-12-18 23:40:20 +01:00
|
|
|
else Seq()
|
2017-03-29 15:43:38 +02:00
|
|
|
)
|
2014-12-18 23:40:20 +01:00
|
|
|
}
|
2017-03-29 15:43:38 +02:00
|
|
|
import autoImport._
|
2014-12-18 23:40:20 +01:00
|
|
|
|
|
|
|
|
override def buildSettings: Seq[Setting[_]] = Seq(
|
2015-02-03 04:44:02 +01:00
|
|
|
// Avoid 2.12.x nightlies
|
|
|
|
|
// Avoid 2.9.x precompiled
|
|
|
|
|
// Avoid 2.8.x precompiled
|
|
|
|
|
includeTestDependencies := {
|
|
|
|
|
val v = scalaVersion.value
|
|
|
|
|
v.startsWith("2.10.") || v.startsWith("2.11.")
|
|
|
|
|
}
|
2014-12-18 23:40:20 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
override def projectSettings: Seq[Setting[_]] = Seq(
|
|
|
|
|
crossVersion in update := {
|
|
|
|
|
scalaVersion.value match {
|
|
|
|
|
case sv if sv startsWith "2.8." => crossVersion.value
|
|
|
|
|
case sv if sv startsWith "2.9." => crossVersion.value
|
|
|
|
|
case sv if sv startsWith "2.10." => crossVersion.value
|
|
|
|
|
case sv if sv startsWith "2.11." => CrossVersion.full
|
|
|
|
|
case sv if sv startsWith "2.12." => CrossVersion.full
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
resolvers += Resolver.typesafeIvyRepo("releases")
|
|
|
|
|
)
|
|
|
|
|
}
|