aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/xyz.driver.sbt/Versioning.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/xyz.driver.sbt/Versioning.scala')
-rw-r--r--src/main/scala/xyz.driver.sbt/Versioning.scala31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/main/scala/xyz.driver.sbt/Versioning.scala b/src/main/scala/xyz.driver.sbt/Versioning.scala
new file mode 100644
index 0000000..fe3a218
--- /dev/null
+++ b/src/main/scala/xyz.driver.sbt/Versioning.scala
@@ -0,0 +1,31 @@
+package xyz.driver.sbt
+
+import com.typesafe.sbt.GitPlugin
+import com.typesafe.sbt.SbtGit.git
+import sbt.Keys._
+import sbt.plugins.JvmPlugin
+import sbt.{AutoPlugin, _}
+
+object Versioning extends AutoPlugin {
+
+ override def requires = JvmPlugin
+ override def trigger = allRequirements
+
+ // Get version from git unless a VERSION environment variable is set
+ lazy val versionSettings: Seq[Setting[_]] = sys.env.get("VERSION") match {
+ case None =>
+ GitPlugin.autoImport.versionWithGit ++ Seq(
+ git.useGitDescribe := true, // get version from git
+ git.baseVersion := "0.0.0" // this version is used for new projects without any commits
+ )
+ case Some(v) =>
+ Seq(
+ version := v
+ )
+ }
+
+ override def buildSettings = versionSettings ++ Seq(
+ organization := "xyz.driver"
+ )
+
+}