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 |
|