aboutsummaryrefslogtreecommitdiff
path: root/project/uniqueVersion.scala
diff options
context:
space:
mode:
Diffstat (limited to 'project/uniqueVersion.scala')
-rw-r--r--project/uniqueVersion.scala21
1 files changed, 21 insertions, 0 deletions
diff --git a/project/uniqueVersion.scala b/project/uniqueVersion.scala
new file mode 100644
index 0000000..1a7860f
--- /dev/null
+++ b/project/uniqueVersion.scala
@@ -0,0 +1,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 }
+ )
+
+} \ No newline at end of file