build.sbt
changeset 5 be060db270d2
parent 1 982bb333982a
child 6 80e9b94097a4
--- a/build.sbt	Tue Jun 20 21:59:54 2017 +0200
+++ b/build.sbt	Thu Dec 14 09:13:30 2017 +0100
@@ -1,8 +1,11 @@
-import sbt.Project.project
+import scala.sys.process._
 
-lazy val root = project.in(file(".")).
+val scalaVersions = Seq("2.11.12", "2.12.4")
+
+lazy val fatagsRoot = project.in(file(".")).
   aggregate(fatagsJS, fatagsJVM).
   settings(
+    crossScalaVersions := scalaVersions,
     publish := {},
     publishLocal := {}
   )
@@ -10,7 +13,15 @@
 lazy val buildSettings = Seq(
   organization := "net.tz",
   name := "faTags",
-  scalaVersion := "2.11.11",
+  scalaVersion := "2.12.4",
+  crossScalaVersions := scalaVersions,
+  scalacOptions ++= Seq(
+    "-feature", "-deprecation", "-unchecked",
+    "-language:implicitConversions", "-language:reflectiveCalls",
+    "-language:postfixOps"
+  ),
+  javacOptions ++= Seq(
+    "-encoding", "UTF-8", "-Xlint:deprecation", "-Xlint:unchecked"),
   licenses += ("Apache-2.0", url("http://opensource.org/licenses/Apache-2.0"))
 )
 
@@ -19,14 +30,14 @@
 settings(buildSettings:_*).
 settings(
   libraryDependencies ++= Seq(
-    "com.lihaoyi" %%% "scalatags" % "0.6.3"
+    "com.lihaoyi" %%% "scalatags" % "0.6.7"
   ),
 
   buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion,
     "scalaJSVersion" -> scalaJSVersion,
     BuildInfoKey.action("buildTime") { System.currentTimeMillis },
-    BuildInfoKey.action("hgId") { Process("hg id -i").lines.head },
-    BuildInfoKey.action("hgTags") { Process("hg id -t").lines.head }
+    BuildInfoKey.action("hgId") { "hg id -i".!!.trim },
+    BuildInfoKey.action("hgTags") { "hg id -t".!!.trim }
   ),
   buildInfoPackage := "fatags",
   buildInfoOptions ++= Seq(BuildInfoOption.ToMap, BuildInfoOption.ToJson)