sbt/project/NightlyPlugin.scala

46 lines
1.3 KiB
Scala

import sbt._
import Keys._
import Dependencies._
object NightlyPlugin extends AutoPlugin {
import autoImport._
override def trigger = allRequirements
override def requires = plugins.JvmPlugin
object autoImport {
lazy val includeTestDependencies = SettingKey[Boolean]("includeTestDependencies", "Doesn't declare test dependencies.")
def testDependencies = libraryDependencies <++= includeTestDependencies { incl =>
if (incl) Seq(
scalaCheck % Test,
specs2 % Test,
junit % Test
)
else Seq()
}
}
override def buildSettings: Seq[Setting[_]] = Seq(
// 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.")
}
)
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")
)
}