Skip to content

Commit 9c92dcb

Browse files
committed
in CI build, use incremented git tag version as build version. locally, use DEV-<branchname>
1 parent 7872a65 commit 9c92dcb

File tree

2 files changed

+27
-12
lines changed

2 files changed

+27
-12
lines changed

build.sbt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,19 @@ import sbtbuildinfo.{BuildInfoKey, BuildInfoOption}
33

44
name := "fossildb"
55

6-
version := "0.1"
6+
def getVersionFromGit: String = {
7+
def run(cmd: String): String = (new java.io.BufferedReader(new java.io.InputStreamReader(java.lang.Runtime.getRuntime().exec(cmd).getInputStream()))).readLine()
8+
def getBranch = run("git rev-parse --abbrev-ref HEAD")
9+
10+
if (sys.env.get("CI").isDefined && getBranch == "master") {
11+
val oldVersion = run("git describe --tags --abbrev=0").split('.').toList.map(_.toInt)
12+
(oldVersion.init :+ (oldVersion.last + 1)).mkString(".")
13+
} else {
14+
"DEV-" + getBranch
15+
}
16+
}
17+
18+
version := getVersionFromGit
719

820
scalaVersion := "2.12.4"
921

src/main/scala/com/scalableminds/fossildb/FossilDB.scala

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,23 +15,26 @@ case class Config(port: Int = ConfigDefaults.port, dataDir: String = ConfigDefau
1515
object FossilDB extends LazyLogging {
1616
def main(args: Array[String]) = {
1717

18-
parseArguments(args) match {
19-
case Some(config) => {
20-
logger.info("Starting FossilDB")
21-
logger.info("BuildInfo: (" + BuildInfo + ")")
22-
logger.info("Config: " + config)
18+
if (args.contains("--version"))
19+
println(BuildInfo.version)
20+
else {
21+
parseArguments(args) match {
22+
case Some(config) => {
23+
logger.info("Starting FossilDB")
24+
logger.info("BuildInfo: (" + BuildInfo + ")")
25+
logger.info("Config: " + config)
2326

24-
val storeManager = new StoreManager(Paths.get(config.dataDir), Paths.get(config.backupDir), config.columnFamilies)
27+
val storeManager = new StoreManager(Paths.get(config.dataDir), Paths.get(config.backupDir), config.columnFamilies)
2528

26-
val server = new FossilDBServer(storeManager, config.port, ExecutionContext.global)
29+
val server = new FossilDBServer(storeManager, config.port, ExecutionContext.global)
2730

28-
server.start()
29-
server.blockUntilShutdown()
31+
server.start()
32+
server.blockUntilShutdown()
3033

3134
}
32-
case None => ()
35+
case None => ()
36+
}
3337
}
34-
3538
}
3639

3740
def parseArguments(args: Array[String]) = {

0 commit comments

Comments
 (0)