support akka.build.version=file

* forward port from release-2.5 branch
* needed for nightly snapshots
This commit is contained in:
Patrik Nordwall 2019-06-04 16:41:47 +02:00
parent 7075c7ad26
commit 97b10273a6

View file

@ -4,6 +4,7 @@
package akka package akka
import java.io.FileReader
import java.io.{FileInputStream, InputStreamReader} import java.io.{FileInputStream, InputStreamReader}
import java.util.Properties import java.util.Properties
import java.time.format.DateTimeFormatter import java.time.format.DateTimeFormatter
@ -13,7 +14,6 @@ import java.time.ZoneOffset
import sbt.Keys._ import sbt.Keys._
import sbt._ import sbt._
import org.scalafmt.sbt.ScalafmtPlugin.autoImport._ import org.scalafmt.sbt.ScalafmtPlugin.autoImport._
import scala.collection.breakOut import scala.collection.breakOut
object AkkaBuild { object AkkaBuild {
@ -39,12 +39,25 @@ object AkkaBuild {
} }
def akkaVersion: String = { def akkaVersion: String = {
sys.props.getOrElse("akka.build.version", "2.6-SNAPSHOT") match { val default = "2.6-SNAPSHOT"
sys.props.getOrElse("akka.build.version", default) match {
case "timestamp" => s"2.6-$currentDateTime" // used when publishing timestamped snapshots case "timestamp" => s"2.6-$currentDateTime" // used when publishing timestamped snapshots
case "file" => akkaVersionFromFile(default)
case v => v case v => v
} }
} }
def akkaVersionFromFile(default: String): String = {
val versionFile = "akka-actor/target/classes/version.conf"
if (new File(versionFile).exists()) {
val versionProps = new Properties()
val reader = new FileReader(versionFile)
try versionProps.load(reader) finally reader.close()
versionProps.getProperty("akka.version", default).replaceAll("\"", "")
} else
default
}
lazy val rootSettings = Def.settings( lazy val rootSettings = Def.settings(
Release.settings, Release.settings,
UnidocRoot.akkaSettings, UnidocRoot.akkaSettings,