--- a/build.sc Thu Nov 29 12:20:20 2018 +0100
+++ b/build.sc Tue Dec 04 12:35:12 2018 +0100
@@ -53,9 +53,20 @@
"-Xfuture", // Turn on future language features.
"-target:jvm-1.8",
)}
+
+ def hgId: Input[String] = T.input {
+ os.proc("hg", "id", "-i").call().out.string.trim
+ }
}
-object base extends Common {
+trait Versions {
+ //val bootstrap = "4.1.3"
+ val bootstrap = "3.3.7"
+ val fontAwesome = "5.5.0"
+ val jquery = "3.3.1-1"
+}
+
+object base extends Common with Versions {
override def scalacPluginIvyDeps: Target[Loose.Agg[Dep]] = super.scalacPluginIvyDeps() ++ Agg(
ivy"org.scalamacros:::paradise:2.1.0"
)
@@ -67,14 +78,33 @@
ivy"org.json4s::json4s-native:3.6.2",
ivy"ch.qos.logback:logback-classic:1.2.3",
ivy"com.lihaoyi::scalatags:0.6.7",
- ivy"org.webjars:bootstrap:4.1.3",
- ivy"org.webjars:font-awesome:5.5.0"
+ ivy"org.webjars:bootstrap:$bootstrap",
+ ivy"org.webjars:font-awesome:$fontAwesome",
+ ivy"org.webjars:jquery:$jquery"
)
override def scalacOptions = T{super.scalacOptions.map(_ :+
"-Xmacro-settings:conf.output.dir=base/resources"
)}
+ override def generatedSources: Target[Seq[PathRef]] = T{
+ val dir = T.ctx().dest
+ write(dir / "buildInfo.scala",
+ s"""
+ | package sqwl.cms
+ | object BuildInfo {
+ | object versions {
+ | val bootstrap = "$bootstrap"
+ | val fontAwesome = "$fontAwesome"
+ | val jquery = "$jquery"
+ | }
+ |
+ | val hgId = "${hgId()}"
+ | }
+ """.stripMargin)
+ Seq(PathRef(dir))
+ }
+
}
object content extends Common {