1 import java.io.File |
|
2 |
|
3 import ammonite.ops._ |
1 import ammonite.ops._ |
4 import coursier.maven.MavenRepository |
|
5 import mill._ |
2 import mill._ |
6 import mill.define.{Command, Input, Sources, Target} |
3 import mill.define.{Input, Sources, Target} |
7 import mill.scalajslib._ |
4 import mill.scalajslib._ |
8 import mill.scalalib._ |
5 import mill.scalalib._ |
9 import mill.scalalib.publish._ |
6 import mill.scalalib.publish._ |
10 import mill.util.Loose |
7 import mill.util.Loose |
11 |
|
12 import scala.sys |
|
13 |
8 |
14 val appVersion = "18.12-SNAPSHOT" |
9 val appVersion = "18.12-SNAPSHOT" |
15 |
10 |
16 val scalaJsVer = "0.6.25" |
11 val scalaJsVer = "0.6.25" |
17 val scalaVer = "2.12.7" |
12 val scalaVer = "2.12.7" |
109 } |
104 } |
110 |
105 |
111 object content extends Common { |
106 object content extends Common { |
112 override def moduleDeps = Seq(base) |
107 override def moduleDeps = Seq(base) |
113 override def sources : Sources = T.sources{ millSourcePath / up / 'example / 'src } |
108 override def sources : Sources = T.sources{ millSourcePath / up / 'example / 'src } |
|
109 override def generatedSources: Target[Seq[PathRef]] = T{ |
|
110 val dir = T.ctx().dest |
|
111 val src = millSourcePath / up / 'example / 'content |
|
112 val ids = ls! src filter(_.name endsWith ".scalatex") map { p => |
|
113 val id = p.name replaceAllLiterally (".scalatex", "") |
|
114 val aid = s"article-$id" |
|
115 write(dir / s"$id.scala", |
|
116 s""" |
|
117 | package sqwl.cms |
|
118 | import scalatags.Text.all._ |
|
119 | import scalatex._ |
|
120 | import sqwl.cms.Category._ |
|
121 | import sqwl.cms.Tag._ |
|
122 | import sqwl.cms.Articles.article |
|
123 | object `$aid` { |
|
124 | implicit val id = Articles.Id("$id") |
|
125 | twf("${p.toString}") |
|
126 | } |
|
127 """.stripMargin) |
|
128 aid |
|
129 } |
|
130 write(dir / "initializer.scala", |
|
131 s""" |
|
132 | package sqwl.cms |
|
133 | object InitializeContent { |
|
134 | def apply(): Unit = { |
|
135 | Seq(${ids mkString("`", "`, `", "`")}) |
|
136 | } |
|
137 | } |
|
138 """.stripMargin) |
|
139 Seq(PathRef(dir)) |
|
140 } |
114 override def ivyDeps = Agg( |
141 override def ivyDeps = Agg( |
115 ivy"com.beachape::enumeratum:1.5.13" |
142 ivy"com.beachape::enumeratum:1.5.13" |
116 ) |
143 ) |
117 } |
144 } |
118 |
145 |