Skip to content

Commit 09379d2

Browse files
committed
Use snapshotScalaBinaryVersion when building against -SNAPSHOT
1 parent 19e8ced commit 09379d2

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

build.sbt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import VersionKeys.{snapshotScalaBinaryVersion,deriveBinaryVersion}
2+
13
organization := "org.scala-lang.modules"
24

35
name := "scala-parser-combinators"
@@ -6,9 +8,16 @@ version := "1.0.0-SNAPSHOT"
68

79
scalaVersion := "2.11.0-M7"
810

11+
snapshotScalaBinaryVersion := "2.11.0-M7"
12+
13+
// DOUBLETHINK YOUR WAY OUT OF EDITING BELOW (THERE IS NO BELOW)
14+
15+
scalaBinaryVersion := deriveBinaryVersion(scalaVersion.value, snapshotScalaBinaryVersion.value)
16+
917
// to allow compiling against snapshot versions of Scala
1018
resolvers += Resolver.sonatypeRepo("snapshots")
1119

20+
1221
libraryDependencies ++= Seq(
1322
"junit" % "junit" % "4.11" % "test",
1423
"com.novocode" % "junit-interface" % "0.10" % "test")

project/keys.scala

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1-
object TestKeys {
1+
object VersionKeys {
22
import sbt.settingKey
33

4-
// for testing with partest
5-
val includeTestDependencies = settingKey[Boolean]("Doesn't declare test dependencies.")
4+
val snapshotScalaBinaryVersion = settingKey[String]("The Scala binary version to use when building against Scala SNAPSHOT.")
65

7-
val partestVersion = settingKey[String]("Partest version.")
8-
}
6+
def deriveBinaryVersion(sv: String, snapshotScalaBinaryVersion: String) = sv match {
7+
case snap_211 if snap_211.startsWith("2.11") &&
8+
snap_211.contains("-SNAPSHOT") => snapshotScalaBinaryVersion
9+
case sv => sbt.CrossVersion.binaryScalaVersion(sv)
10+
}
11+
}

0 commit comments

Comments
 (0)