build.sbt
changeset 20 529418651908
parent 19 34d3cc40552c
child 21 175e7d7ce5b3
equal deleted inserted replaced
19:34d3cc40552c 20:529418651908
     1 import scala.sys.process._
       
     2 
       
     3 val scalaVersions = Seq("2.11.12", "2.12.8")
       
     4 
       
     5 lazy val fatagsRoot = project.in(file(".")).
       
     6   aggregate(fatagsJS, fatagsJVM, example).
       
     7   settings(
       
     8     crossScalaVersions := scalaVersions,
       
     9     publish := {},
       
    10     publishLocal := {}
       
    11   )
       
    12 
       
    13 lazy val buildSettings = Seq(
       
    14   organization := "net.tz",
       
    15   name := "faTags",
       
    16   scalaVersion := "2.12.4",
       
    17   crossScalaVersions := scalaVersions,
       
    18   scalacOptions ++= Seq(
       
    19     "-feature", "-deprecation", "-unchecked",
       
    20     "-language:implicitConversions", "-language:reflectiveCalls",
       
    21     "-language:postfixOps"
       
    22   ),
       
    23   javacOptions ++= Seq(
       
    24     "-encoding", "UTF-8", "-Xlint:deprecation", "-Xlint:unchecked"),
       
    25   licenses += ("Apache-2.0", url("http://opensource.org/licenses/Apache-2.0"))
       
    26 )
       
    27 
       
    28 lazy val fatags = crossProject.in(file(".")).
       
    29 enablePlugins(BuildInfoPlugin).
       
    30 settings(buildSettings:_*).
       
    31 settings(
       
    32   libraryDependencies ++= Seq(
       
    33     "com.lihaoyi" %%% "scalatags" % "0.6.7"
       
    34   ),
       
    35 
       
    36   buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion,
       
    37     "scalaJSVersion" -> scalaJSVersion,
       
    38     BuildInfoKey.action("hgId") { "hg id -i".!!.trim },
       
    39     BuildInfoKey.action("hgTags") { "hg id -t".!!.trim }
       
    40   ),
       
    41   buildInfoPackage := "fatags",
       
    42   buildInfoOptions ++= Seq(BuildInfoOption.ToMap, BuildInfoOption.ToJson)
       
    43 
       
    44 ).jvmSettings().jsSettings()
       
    45 
       
    46 lazy val fatagsJS = fatags.js
       
    47 lazy val fatagsJVM = fatags.jvm
       
    48 
       
    49 lazy val example = project.in(file("example"))
       
    50   .enablePlugins(ScalaJSPlugin)
       
    51   .dependsOn(fatagsJS)
       
    52 
       
    53 // vim: et ts=2 sw=2 syn=scala