aboutsummaryrefslogtreecommitdiff
path: root/project/uniqueVersion.scala
blob: 1a7860f94447e84a5fb80b222b3eda30c5adb26d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import sbt._
import Keys._

object UniqueVersionKeys {

  val gitHeadCommitSha = settingKey[String]("Current commit sha.")
  val baseVersion = settingKey[String]("Base part of version, string without unique hash appended.")
  val isRelease = settingKey[Boolean]("Is this a release? Should the unique hash be appended to the version string?")

}

object UniqueVersionDefaults {
  import UniqueVersionKeys._

  lazy val settings: Seq[Setting[_]] = Seq(
    gitHeadCommitSha := Process("git rev-parse HEAD").lines.head,
    isRelease := sys.props("release") == "true",
    version := { if (isRelease.value) baseVersion.value else baseVersion.value + "-" + gitHeadCommitSha.value }
  )

}