| author | Tomas Zeman <tomas@functionals.cz> |
| Sun, 27 Dec 2020 22:54:33 +0100 | |
| changeset 28 | fe846f058e41 |
| parent 27 | f30a3e465836 |
| permissions | -rw-r--r-- |
|
25
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
1 |
/* |
|
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
2 |
* REPL: |
|
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
3 |
* |
|
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
4 |
* ./mill --repl -w |
|
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
5 |
* |
|
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
6 |
* Generate Idea project: |
|
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
7 |
* |
|
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
8 |
* ./mill mill.scalalib.GenIdea/idea |
|
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
9 |
* |
|
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
10 |
*/ |
|
28
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
11 |
import ammonite.ops |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
12 |
import mill._ |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
13 |
import mill.api.Loose |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
14 |
import mill.define.{Command, Input, Sources, Target}
|
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
15 |
import mill.scalajslib._ |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
16 |
import mill.scalalib._ |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
17 |
import mill.scalalib.publish._ |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
18 |
|
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
19 |
object V {
|
|
24
f93465523457
purecss: 0.2 -> 0.3-SNAPSHOT
Tomas Zeman <tomas@functionals.cz>
parents:
22
diff
changeset
|
20 |
val app = "0.3-SNAPSHOT" |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
21 |
val scala211 = "2.11.12" |
|
25
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
22 |
val scala212 = "2.12.12" |
|
26
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
23 |
val scala213 = "2.13.4" |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
24 |
val scalaJs06 = "0.6.33" |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
25 |
val scalaJs = "1.3.1" |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
26 |
val scalatags = "0.9.2" |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
27 |
} |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
28 |
|
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
29 |
object D {
|
|
26
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
30 |
val scalatags211 = ivy"com.lihaoyi::scalatags::0.6.8" |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
31 |
val scalatags = ivy"com.lihaoyi::scalatags::${V.scalatags}"
|
|
28
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
32 |
val scalatex = ivy"org.openmole::scalatex-api:0.4.6" |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
33 |
val oslib = ivy"com.lihaoyi::os-lib::0.7.1" |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
34 |
} |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
35 |
|
|
28
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
36 |
val compilerOptions = Seq( |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
37 |
"-deprecation", // Emit warning and location for usages of deprecated APIs. |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
38 |
"-encoding", "utf-8", // Specify character encoding used by source files. |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
39 |
"-explaintypes", // Explain type errors in more detail. |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
40 |
"-feature", // Emit warning and location for usages of features that should be imported explicitly. |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
41 |
"-language:higherKinds", // Allow higher-kinded types |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
42 |
"-language:implicitConversions", // Allow definition of implicit functions called views |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
43 |
"-language:reflectiveCalls", |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
44 |
"-language:postfixOps", |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
45 |
"-unchecked", // Enable additional warnings where generated code depends on assumptions. |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
46 |
"-Xcheckinit", // Wrap field accessors to throw an exception on uninitialized access. |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
47 |
"-target:jvm-1.8" |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
48 |
) |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
49 |
|
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
50 |
trait Common extends CrossSbtModule with PublishModule {
|
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
51 |
|
|
25
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
52 |
def pomSettings: T[PomSettings] = PomSettings( |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
53 |
description = "Scalatags DSL for purecss.io framework", |
| 22 | 54 |
organization = "cz.functionals", |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
55 |
url = "https://hg.functionals.cz/purecss", |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
56 |
licenses = Seq(License.`Apache-2.0`), |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
57 |
versionControl = VersionControl(developerConnection = Some( |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
58 |
"https://hg.functionals.cz/purecss")), |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
59 |
developers = Seq( |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
60 |
Developer("tzeman", "Tomas Zeman", "https://functionals.cz")
|
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
61 |
) |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
62 |
) |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
63 |
|
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
64 |
override def artifactName = "purecss" |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
65 |
|
|
28
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
66 |
override def scalacOptions = T{compilerOptions}
|
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
67 |
|
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
68 |
def hgId: Input[String] = T.input {
|
|
19
945e8df36800
build: publishVersion, cleanup
Tomas Zeman <tomas@functionals.cz>
parents:
17
diff
changeset
|
69 |
os.proc("hg", "id", "-i").call().out.text.trim
|
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
70 |
} |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
71 |
|
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
72 |
def hgNum: Input[String] = T.input {
|
|
19
945e8df36800
build: publishVersion, cleanup
Tomas Zeman <tomas@functionals.cz>
parents:
17
diff
changeset
|
73 |
os.proc("hg", "id", "-n").call().out.text.trim
|
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
74 |
} |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
75 |
|
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
76 |
private val maskedTags = Set("tip", "qtip", "qbase")
|
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
77 |
def hgTag: Input[Option[String]] = T.input {
|
|
19
945e8df36800
build: publishVersion, cleanup
Tomas Zeman <tomas@functionals.cz>
parents:
17
diff
changeset
|
78 |
os.proc("hg", "id", "-t").call().out.text.trim.split(' ').filterNot(v =>
|
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
79 |
maskedTags contains v).headOption |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
80 |
} |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
81 |
|
|
26
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
82 |
override def ivyDeps: Target[Loose.Agg[Dep]] = T{
|
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
83 |
if (scalaVersion() == V.scala211) Agg(D.scalatags211) else Agg(D.scalatags) |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
84 |
} |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
85 |
|
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
86 |
override def sources: Sources = T.sources{
|
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
87 |
super.sources() :+ PathRef(millSourcePath / 'shared / 'src / 'main / 'scala) |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
88 |
} |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
89 |
|
|
19
945e8df36800
build: publishVersion, cleanup
Tomas Zeman <tomas@functionals.cz>
parents:
17
diff
changeset
|
90 |
override def publishVersion: Input[String] = T.input{
|
|
945e8df36800
build: publishVersion, cleanup
Tomas Zeman <tomas@functionals.cz>
parents:
17
diff
changeset
|
91 |
val tv = hgTag() map(v => "-" + v.replace(".patch", "")) getOrElse ""
|
|
945e8df36800
build: publishVersion, cleanup
Tomas Zeman <tomas@functionals.cz>
parents:
17
diff
changeset
|
92 |
V.app.replace("SNAPSHOT", s"${hgNum()}-${hgId()}$tv")
|
|
945e8df36800
build: publishVersion, cleanup
Tomas Zeman <tomas@functionals.cz>
parents:
17
diff
changeset
|
93 |
} |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
94 |
} |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
95 |
|
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
96 |
class JvmModule(val crossScalaVersion: String) extends Common |
|
26
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
97 |
class JsModule(val crossScalaVersion: String, crossJSVersion: String) |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
98 |
extends ScalaJSModule with Common {
|
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
99 |
|
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
100 |
override def scalaJSVersion: Target[String] = crossJSVersion |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
101 |
|
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
102 |
override def millSourcePath = super.millSourcePath / os.up |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
103 |
} |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
104 |
|
|
26
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
105 |
object jvm extends Cross[JvmModule](V.scala211, V.scala212, V.scala213) |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
106 |
object js extends Cross[JsModule]( |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
107 |
V.scala211 -> V.scalaJs06, |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
108 |
V.scala212 -> V.scalaJs06, |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
109 |
V.scala212 -> V.scalaJs, |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
110 |
V.scala213 -> V.scalaJs06, |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
111 |
V.scala213 -> V.scalaJs |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
112 |
) |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
113 |
|
|
28
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
114 |
object extras extends Module {
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
115 |
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
116 |
val name = "pure-extras" |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
117 |
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
118 |
class JvmModule(val crossScalaVersion: String) extends Common {
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
119 |
override def artifactName = name |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
120 |
} |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
121 |
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
122 |
class JsModule(val crossScalaVersion: String, crossJSVersion: String) |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
123 |
extends ScalaJSModule with Common {
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
124 |
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
125 |
override def scalaJSVersion: Target[String] = crossJSVersion |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
126 |
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
127 |
override def millSourcePath = super.millSourcePath / os.up |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
128 |
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
129 |
override def artifactName = name |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
130 |
} |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
131 |
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
132 |
object jvm extends Cross[JvmModule](V.scala211, V.scala212, V.scala213) |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
133 |
object js extends Cross[JsModule]( |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
134 |
V.scala211 -> V.scalaJs06, |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
135 |
V.scala212 -> V.scalaJs06, |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
136 |
V.scala212 -> V.scalaJs, |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
137 |
V.scala213 -> V.scalaJs06, |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
138 |
V.scala213 -> V.scalaJs |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
139 |
) |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
140 |
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
141 |
} |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
142 |
|
|
25
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
143 |
def compileAll(): Command[Unit] = T.command{
|
|
26
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
144 |
jvm(V.scala213).compile() |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
145 |
js(V.scala213, V.scalaJs).compile() |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
146 |
js(V.scala213, V.scalaJs06).compile() |
|
25
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
147 |
jvm(V.scala212).compile() |
|
26
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
148 |
js(V.scala212, V.scalaJs).compile() |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
149 |
js(V.scala212, V.scalaJs06).compile() |
|
25
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
150 |
jvm(V.scala211).compile() |
|
26
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
151 |
js(V.scala211, V.scalaJs06).compile() |
|
28
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
152 |
extras.jvm(V.scala213).compile() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
153 |
extras.js(V.scala213, V.scalaJs).compile() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
154 |
extras.js(V.scala213, V.scalaJs06).compile() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
155 |
extras.jvm(V.scala212).compile() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
156 |
extras.js(V.scala212, V.scalaJs).compile() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
157 |
extras.js(V.scala212, V.scalaJs06).compile() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
158 |
extras.jvm(V.scala211).compile() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
159 |
extras.js(V.scala211, V.scalaJs06).compile() |
|
25
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
160 |
() |
|
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
161 |
} |
|
c0cf0150cb4c
Upgrade mill -> 0.9.4, Scala -> 2.12.12, ScalaJS -> 0.6.33
Tomas Zeman <tomas@functionals.cz>
parents:
24
diff
changeset
|
162 |
|
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
163 |
def publishLocal(): Command[Unit] = T.command{
|
|
26
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
164 |
jvm(V.scala213).publishLocal()() |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
165 |
js(V.scala213, V.scalaJs).publishLocal()() |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
166 |
js(V.scala213, V.scalaJs06).publishLocal()() |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
167 |
jvm(V.scala212).publishLocal()() |
|
26
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
168 |
js(V.scala212, V.scalaJs).publishLocal()() |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
169 |
js(V.scala212, V.scalaJs06).publishLocal()() |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
170 |
jvm(V.scala211).publishLocal()() |
|
26
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
171 |
js(V.scala211, V.scalaJs06).publishLocal()() |
|
28
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
172 |
extras.jvm(V.scala213).publishLocal()() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
173 |
extras.js(V.scala213, V.scalaJs).publishLocal()() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
174 |
extras.js(V.scala213, V.scalaJs06).publishLocal()() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
175 |
extras.jvm(V.scala212).publishLocal()() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
176 |
extras.js(V.scala212, V.scalaJs).publishLocal()() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
177 |
extras.js(V.scala212, V.scalaJs06).publishLocal()() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
178 |
extras.jvm(V.scala211).publishLocal()() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
179 |
extras.js(V.scala211, V.scalaJs06).publishLocal()() |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
180 |
} |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
181 |
|
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
182 |
def publishM2Local(p: os.Path): Command[Unit] = T.command{
|
|
26
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
183 |
jvm(V.scala213).publishM2Local(p.toString)() |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
184 |
js(V.scala213, V.scalaJs).publishM2Local(p.toString)() |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
185 |
js(V.scala213, V.scalaJs06).publishM2Local(p.toString)() |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
186 |
jvm(V.scala212).publishM2Local(p.toString)() |
|
26
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
187 |
js(V.scala212, V.scalaJs).publishM2Local(p.toString)() |
|
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
188 |
js(V.scala212, V.scalaJs06).publishM2Local(p.toString)() |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
189 |
jvm(V.scala211).publishM2Local(p.toString)() |
|
26
040b435ce0dd
Cross compile w/ Scala 2.13.4 and ScalaJS 1.3.1
Tomas Zeman <tomas@functionals.cz>
parents:
25
diff
changeset
|
190 |
js(V.scala211, V.scalaJs06).publishM2Local(p.toString)() |
|
28
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
191 |
extras.jvm(V.scala213).publishM2Local(p.toString)() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
192 |
extras.js(V.scala213, V.scalaJs).publishM2Local(p.toString)() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
193 |
extras.js(V.scala213, V.scalaJs06).publishM2Local(p.toString)() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
194 |
extras.jvm(V.scala212).publishM2Local(p.toString)() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
195 |
extras.js(V.scala212, V.scalaJs).publishM2Local(p.toString)() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
196 |
extras.js(V.scala212, V.scalaJs06).publishM2Local(p.toString)() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
197 |
extras.jvm(V.scala211).publishM2Local(p.toString)() |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
198 |
extras.js(V.scala211, V.scalaJs06).publishM2Local(p.toString)() |
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
199 |
() |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
200 |
} |
|
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
201 |
|
|
28
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
202 |
object example extends ScalaModule {
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
203 |
override def scalaVersion: T[String] = V.scala213 |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
204 |
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
205 |
override def scalacOptions = T{compilerOptions}
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
206 |
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
207 |
override def moduleDeps = Seq(jvm(V.scala213), extras.jvm(V.scala213)) |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
208 |
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
209 |
override def ivyDeps = Agg(D.scalatex, D.oslib) |
|
27
f30a3e465836
Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents:
26
diff
changeset
|
210 |
|
|
28
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
211 |
override def generatedSources: Target[Seq[PathRef]] = T{
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
212 |
val dir = T.ctx().dest |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
213 |
val src = sources() map(_.path) |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
214 |
val ids = src flatMap(ops.ls! _ filter(_.ext == "scalatex") map { p =>
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
215 |
val id = p.last replaceAllLiterally (".scalatex", "")
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
216 |
os.write(dir / s"$id.scala", |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
217 |
s""" |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
218 |
| package example |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
219 |
| import scalatags.Text.all._ |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
220 |
| import scalatex._ |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
221 |
| import purecss.Extras |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
222 |
| import purecss.text.PureCss._ |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
223 |
| object `$id` {
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
224 |
| val id = "$id" |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
225 |
| val content = twf("${p.toString}")
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
226 |
| } |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
227 |
| |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
228 |
|/* |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
229 |
|${os.read(p)}
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
230 |
|*/ |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
231 |
""".stripMargin) |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
232 |
id |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
233 |
}) |
|
27
f30a3e465836
Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents:
26
diff
changeset
|
234 |
|
|
28
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
235 |
os.write(dir / "initializer.scala", |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
236 |
s""" |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
237 |
| package example |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
238 |
| trait ContentInitializer {
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
239 |
| Seq(${ids mkString("`", "`, `", "`")})
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
240 |
| } |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
241 |
""".stripMargin) |
|
27
f30a3e465836
Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents:
26
diff
changeset
|
242 |
|
|
28
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
243 |
os.write(dir / "main.scala", |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
244 |
s""" |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
245 |
| package example |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
246 |
| import os.Path |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
247 |
| object A extends ExampleApp with App {
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
248 |
| override def export: Path = Path("${exportDir().path}")
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
249 |
| } |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
250 |
""".stripMargin) |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
251 |
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
252 |
Seq(PathRef(dir)) |
|
27
f30a3e465836
Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents:
26
diff
changeset
|
253 |
} |
|
f30a3e465836
Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents:
26
diff
changeset
|
254 |
|
|
28
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
255 |
override def mainClass: T[Option[String]] = Some("example.A")
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
256 |
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
257 |
def exportDir = T{
|
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
258 |
val dir = T.ctx().dest |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
259 |
PathRef(dir) |
|
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
260 |
} |
|
27
f30a3e465836
Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents:
26
diff
changeset
|
261 |
|
|
f30a3e465836
Pure-scala implementation of pure-extras.
Tomas Zeman <tomas@functionals.cz>
parents:
26
diff
changeset
|
262 |
} |
|
28
fe846f058e41
pure-extras: example, publish(M2)Local/compileAll.
Tomas Zeman <tomas@functionals.cz>
parents:
27
diff
changeset
|
263 |
|
|
17
13abcbe6368b
purecss: refactored build sbt -> mill
Tomas Zeman <tomas@functionals.cz>
parents:
diff
changeset
|
264 |
// vim: et ts=2 sw=2 syn=scala |