diff -r 1a1347e8c5be -r de7c56ce0654 build.sc --- 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 {