mirror of https://github.com/sbt/sbt.git
46 lines
1.3 KiB
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")
|
|
)
|
|
}
|