--- a/build.sc Thu Nov 22 13:15:29 2018 +0100
+++ b/build.sc Thu Nov 29 12:20:20 2018 +0100
@@ -55,7 +55,7 @@
)}
}
-object jvm extends Common {
+object base extends Common {
override def scalacPluginIvyDeps: Target[Loose.Agg[Dep]] = super.scalacPluginIvyDeps() ++ Agg(
ivy"org.scalamacros:::paradise:2.1.0"
)
@@ -72,11 +72,34 @@
)
override def scalacOptions = T{super.scalacOptions.map(_ :+
- "-Xmacro-settings:conf.output.dir=jvm/resources"
+ "-Xmacro-settings:conf.output.dir=base/resources"
)}
- override def mainClass = Some("sqwl.cms.Server")
+}
+
+object content extends Common {
+ override def moduleDeps = Seq(base)
+ override def sources : Sources = T.sources{ millSourcePath / up / 'example / 'src }
+ override def ivyDeps = Agg(
+ ivy"com.beachape::enumeratum:1.5.13"
+ )
+}
+object app extends Common {
+ override def moduleDeps = Seq(content)
+ override def mainClass = Some("sqwl.cms.Main")
+
+ override def generatedSources: Target[Seq[PathRef]] = T{
+ val dir = T.ctx().dest
+ write(dir / "main.scala",
+ """
+ | package sqwl.cms
+ | object Main extends Server {
+ | override def content: iContent = Content
+ | }
+ """.stripMargin)
+ Seq(PathRef(dir))
+ }
}
object js extends Common with ScalaJSModule {