build.sbt
author Tomas Zeman <tzeman@volny.cz>
Thu, 14 Dec 2017 09:13:30 +0100
changeset 5 be060db270d2
parent 1 982bb333982a
child 6 80e9b94097a4
permissions -rw-r--r--
cross build for scala 2.11, 2.12, libraries / sbt upgrade

import scala.sys.process._

val scalaVersions = Seq("2.11.12", "2.12.4")

lazy val fatagsRoot = project.in(file(".")).
  aggregate(fatagsJS, fatagsJVM).
  settings(
    crossScalaVersions := scalaVersions,
    publish := {},
    publishLocal := {}
  )

lazy val buildSettings = Seq(
  organization := "net.tz",
  name := "faTags",
  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"))
)

lazy val fatags = crossProject.in(file(".")).
enablePlugins(BuildInfoPlugin).
settings(buildSettings:_*).
settings(
  libraryDependencies ++= Seq(
    "com.lihaoyi" %%% "scalatags" % "0.6.7"
  ),

  buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion,
    "scalaJSVersion" -> scalaJSVersion,
    BuildInfoKey.action("buildTime") { System.currentTimeMillis },
    BuildInfoKey.action("hgId") { "hg id -i".!!.trim },
    BuildInfoKey.action("hgTags") { "hg id -t".!!.trim }
  ),
  buildInfoPackage := "fatags",
  buildInfoOptions ++= Seq(BuildInfoOption.ToMap, BuildInfoOption.ToJson)

).jvmSettings().jsSettings()

lazy val fatagsJS = fatags.js
lazy val fatagsJVM = fatags.jvm

// vim: et ts=2 sw=2 syn=scala