1 import sbt.Project.project |
1 import scala.sys.process._ |
2 |
2 |
3 lazy val root = project.in(file(".")). |
3 val scalaVersions = Seq("2.11.12", "2.12.4") |
|
4 |
|
5 lazy val fatagsRoot = project.in(file(".")). |
4 aggregate(fatagsJS, fatagsJVM). |
6 aggregate(fatagsJS, fatagsJVM). |
5 settings( |
7 settings( |
|
8 crossScalaVersions := scalaVersions, |
6 publish := {}, |
9 publish := {}, |
7 publishLocal := {} |
10 publishLocal := {} |
8 ) |
11 ) |
9 |
12 |
10 lazy val buildSettings = Seq( |
13 lazy val buildSettings = Seq( |
11 organization := "net.tz", |
14 organization := "net.tz", |
12 name := "faTags", |
15 name := "faTags", |
13 scalaVersion := "2.11.11", |
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"), |
14 licenses += ("Apache-2.0", url("http://opensource.org/licenses/Apache-2.0")) |
25 licenses += ("Apache-2.0", url("http://opensource.org/licenses/Apache-2.0")) |
15 ) |
26 ) |
16 |
27 |
17 lazy val fatags = crossProject.in(file(".")). |
28 lazy val fatags = crossProject.in(file(".")). |
18 enablePlugins(BuildInfoPlugin). |
29 enablePlugins(BuildInfoPlugin). |
19 settings(buildSettings:_*). |
30 settings(buildSettings:_*). |
20 settings( |
31 settings( |
21 libraryDependencies ++= Seq( |
32 libraryDependencies ++= Seq( |
22 "com.lihaoyi" %%% "scalatags" % "0.6.3" |
33 "com.lihaoyi" %%% "scalatags" % "0.6.7" |
23 ), |
34 ), |
24 |
35 |
25 buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion, |
36 buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion, |
26 "scalaJSVersion" -> scalaJSVersion, |
37 "scalaJSVersion" -> scalaJSVersion, |
27 BuildInfoKey.action("buildTime") { System.currentTimeMillis }, |
38 BuildInfoKey.action("buildTime") { System.currentTimeMillis }, |
28 BuildInfoKey.action("hgId") { Process("hg id -i").lines.head }, |
39 BuildInfoKey.action("hgId") { "hg id -i".!!.trim }, |
29 BuildInfoKey.action("hgTags") { Process("hg id -t").lines.head } |
40 BuildInfoKey.action("hgTags") { "hg id -t".!!.trim } |
30 ), |
41 ), |
31 buildInfoPackage := "fatags", |
42 buildInfoPackage := "fatags", |
32 buildInfoOptions ++= Seq(BuildInfoOption.ToMap, BuildInfoOption.ToJson) |
43 buildInfoOptions ++= Seq(BuildInfoOption.ToMap, BuildInfoOption.ToJson) |
33 |
44 |
34 ).jvmSettings().jsSettings() |
45 ).jvmSettings().jsSettings() |