From ab58d7384a8a0fe83d72751c3081c20d89fae181 Mon Sep 17 00:00:00 2001 From: Roland Kuhn Date: Wed, 19 Mar 2014 12:43:04 +0100 Subject: [PATCH] +pro #3907 fix OSGi Scala version constraint --- project/AkkaBuild.scala | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/project/AkkaBuild.scala b/project/AkkaBuild.scala index 623dc08b5e..7ef2e63298 100644 --- a/project/AkkaBuild.scala +++ b/project/AkkaBuild.scala @@ -36,6 +36,7 @@ object AkkaBuild extends Build { val enableMiMa = false val requestedScalaVersion = System.getProperty("akka.scalaVersion", "2.10.3") + val Seq(scalaEpoch, scalaMajor) = """(\d+)\.(\d+)\..*""".r.unapplySeq(requestedScalaVersion).get.map(_.toInt) lazy val buildSettings = Seq( organization := "com.typesafe.akka", @@ -1002,11 +1003,12 @@ object AkkaBuild extends Build { OsgiKeys.exportPackage := packages ) def defaultImports = Seq("!sun.misc", akkaImport(), configImport(), scalaImport(), "*") - def akkaImport(packageName: String = "akka.*") = "%s;version=\"[2.4,2.5)\"".format(packageName) - def configImport(packageName: String = "com.typesafe.config.*") = "%s;version=\"[1.2.0,1.3.0)\"".format(packageName) - def protobufImport(packageName: String = "com.google.protobuf.*") = "%s;version=\"[2.5.0,2.6.0)\"".format(packageName) - def scalaImport(packageName: String = "scala.*") = "%s;version=\"[2.10,2.11)\"".format(packageName) + def akkaImport(packageName: String = "akka.*") = versionedImport(packageName, "2.4", "2.5") + def configImport(packageName: String = "com.typesafe.config.*") = versionedImport(packageName, "1.2.0", "1.3.0") + def protobufImport(packageName: String = "com.google.protobuf.*") = versionedImport(packageName, "2.5.0", "2.6.0") + def scalaImport(packageName: String = "scala.*") = versionedImport(packageName, s"$scalaEpoch.$scalaMajor", s"$scalaEpoch.${scalaMajor+1}") def optionalResolution(packageName: String) = "%s;resolution:=optional".format(packageName) + def versionedImport(packageName: String, lower: String, upper: String) = s"""$packageName;version="[$lower,$upper)"""" } }