| author | Tomas Zeman <tomas@functionals.cz> |
| Tue, 11 May 2021 14:29:28 +0200 | |
| changeset 45 | 243e20b0390c |
| parent 44 | ad85035e4d90 |
| child 46 | cd7815894e22 |
| permissions | -rw-r--r-- |
|
33
53da843ccd58
Font-Awesome upgrade 5.11.2 -> 5.15.1
Tomas Zeman <tomas@functionals.cz>
parents:
32
diff
changeset
|
1 |
/* |
|
53da843ccd58
Font-Awesome upgrade 5.11.2 -> 5.15.1
Tomas Zeman <tomas@functionals.cz>
parents:
32
diff
changeset
|
2 |
* REPL: |
|
53da843ccd58
Font-Awesome upgrade 5.11.2 -> 5.15.1
Tomas Zeman <tomas@functionals.cz>
parents:
32
diff
changeset
|
3 |
* |
|
35
b7cfac7cff27
mill upgrade 0.5.2 -> 0.9.4
Tomas Zeman <tomas@functionals.cz>
parents:
34
diff
changeset
|
4 |
* ./mill --repl -w |
|
33
53da843ccd58
Font-Awesome upgrade 5.11.2 -> 5.15.1
Tomas Zeman <tomas@functionals.cz>
parents:
32
diff
changeset
|
5 |
* |
|
53da843ccd58
Font-Awesome upgrade 5.11.2 -> 5.15.1
Tomas Zeman <tomas@functionals.cz>
parents:
32
diff
changeset
|
6 |
* Generate Idea project: |
|
53da843ccd58
Font-Awesome upgrade 5.11.2 -> 5.15.1
Tomas Zeman <tomas@functionals.cz>
parents:
32
diff
changeset
|
7 |
* |
|
53da843ccd58
Font-Awesome upgrade 5.11.2 -> 5.15.1
Tomas Zeman <tomas@functionals.cz>
parents:
32
diff
changeset
|
8 |
* ./mill mill.scalalib.GenIdea/idea |
|
53da843ccd58
Font-Awesome upgrade 5.11.2 -> 5.15.1
Tomas Zeman <tomas@functionals.cz>
parents:
32
diff
changeset
|
9 |
* |
|
53da843ccd58
Font-Awesome upgrade 5.11.2 -> 5.15.1
Tomas Zeman <tomas@functionals.cz>
parents:
32
diff
changeset
|
10 |
*/ |
| 20 | 11 |
import ammonite.ops._ |
12 |
import mill._ |
|
|
27
c4534300acdc
Mill upgrade -> 0.5.2, using PublishM2Module, fixed project urls
Tomas Zeman <tomas@functionals.cz>
parents:
26
diff
changeset
|
13 |
import mill.api.Loose |
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
14 |
import mill.define.{Command, Input, Sources, Target}
|
| 20 | 15 |
import mill.scalajslib._ |
16 |
import mill.scalalib._ |
|
17 |
import mill.scalalib.publish._ |
|
18 |
||
|
25
950431e16cb4
Restored CamelCase for icon idents/names
Tomas Zeman <tzeman@volny.cz>
parents:
24
diff
changeset
|
19 |
import scala.language.postfixOps |
|
950431e16cb4
Restored CamelCase for icon idents/names
Tomas Zeman <tzeman@volny.cz>
parents:
24
diff
changeset
|
20 |
|
| 20 | 21 |
object V {
|
|
42
e6e070b3a80f
fatags: 0.6 -> 0.7-SNAPSHOT
Tomas Zeman <tomas@functionals.cz>
parents:
40
diff
changeset
|
22 |
val fatags = "0.7-SNAPSHOT" |
| 20 | 23 |
val scala211 = "2.11.12" |
|
36
dfc839004878
Dependency, platform upgrade: scalaJs -> 0.6.33, scala212 -> 2.12.12, scalatags -> 0.6.8
Tomas Zeman <tomas@functionals.cz>
parents:
35
diff
changeset
|
24 |
val scala212 = "2.12.12" |
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
25 |
val scala213 = "2.13.4" |
|
38
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
26 |
val scalaJs06 = "0.6.33" |
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
27 |
val scalaJs = "1.3.1" |
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
28 |
val scalatags = "0.9.2" |
| 20 | 29 |
} |
30 |
||
31 |
object D {
|
|
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
32 |
val scalatags211 = ivy"com.lihaoyi::scalatags::0.6.8" |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
33 |
val scalatags = ivy"com.lihaoyi::scalatags::${V.scalatags}"
|
| 20 | 34 |
} |
35 |
||
|
25
950431e16cb4
Restored CamelCase for icon idents/names
Tomas Zeman <tzeman@volny.cz>
parents:
24
diff
changeset
|
36 |
def camelCase(s: String): String = {
|
|
950431e16cb4
Restored CamelCase for icon idents/names
Tomas Zeman <tzeman@volny.cz>
parents:
24
diff
changeset
|
37 |
def inner(l: List[Char]): List[Char] = l match {
|
|
950431e16cb4
Restored CamelCase for icon idents/names
Tomas Zeman <tzeman@volny.cz>
parents:
24
diff
changeset
|
38 |
case '-' :: '-' :: c :: rest => c.toUpper :: inner(rest) |
|
950431e16cb4
Restored CamelCase for icon idents/names
Tomas Zeman <tzeman@volny.cz>
parents:
24
diff
changeset
|
39 |
case '-' :: c :: rest => c.toUpper :: inner(rest) |
|
950431e16cb4
Restored CamelCase for icon idents/names
Tomas Zeman <tzeman@volny.cz>
parents:
24
diff
changeset
|
40 |
case c :: rest => c :: inner(rest) |
|
950431e16cb4
Restored CamelCase for icon idents/names
Tomas Zeman <tzeman@volny.cz>
parents:
24
diff
changeset
|
41 |
case Nil => Nil |
|
950431e16cb4
Restored CamelCase for icon idents/names
Tomas Zeman <tzeman@volny.cz>
parents:
24
diff
changeset
|
42 |
} |
|
950431e16cb4
Restored CamelCase for icon idents/names
Tomas Zeman <tzeman@volny.cz>
parents:
24
diff
changeset
|
43 |
inner(s toList) mkString "" |
|
950431e16cb4
Restored CamelCase for icon idents/names
Tomas Zeman <tzeman@volny.cz>
parents:
24
diff
changeset
|
44 |
} |
|
950431e16cb4
Restored CamelCase for icon idents/names
Tomas Zeman <tzeman@volny.cz>
parents:
24
diff
changeset
|
45 |
|
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
46 |
val compilerOptions = Seq( |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
47 |
"-deprecation", // Emit warning and location for usages of deprecated APIs. |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
48 |
"-encoding", "utf-8", // Specify character encoding used by source files. |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
49 |
"-explaintypes", // Explain type errors in more detail. |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
50 |
"-feature", // Emit warning and location for usages of features that should be imported explicitly. |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
51 |
"-language:higherKinds", // Allow higher-kinded types |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
52 |
"-language:implicitConversions", // Allow definition of implicit functions called views |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
53 |
"-language:reflectiveCalls", |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
54 |
"-language:postfixOps", |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
55 |
"-unchecked", // Enable additional warnings where generated code depends on assumptions. |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
56 |
"-Xcheckinit", // Wrap field accessors to throw an exception on uninitialized access. |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
57 |
"-target:jvm-1.8" |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
58 |
) |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
59 |
|
|
35
b7cfac7cff27
mill upgrade 0.5.2 -> 0.9.4
Tomas Zeman <tomas@functionals.cz>
parents:
34
diff
changeset
|
60 |
trait Common extends CrossSbtModule with PublishModule {
|
| 20 | 61 |
|
| 26 | 62 |
override def artifactName = "fatags" |
63 |
||
| 20 | 64 |
def publishVersion: Target[String] = V.fatags |
65 |
||
|
33
53da843ccd58
Font-Awesome upgrade 5.11.2 -> 5.15.1
Tomas Zeman <tomas@functionals.cz>
parents:
32
diff
changeset
|
66 |
def pomSettings: T[PomSettings] = PomSettings( |
| 20 | 67 |
description = "FontAwesome Scala DSL (tags)", |
|
34
2b907c14fdcb
Updated organization, (c) notice.
Tomas Zeman <tomas@functionals.cz>
parents:
33
diff
changeset
|
68 |
organization = "cz.functionals", |
|
27
c4534300acdc
Mill upgrade -> 0.5.2, using PublishM2Module, fixed project urls
Tomas Zeman <tomas@functionals.cz>
parents:
26
diff
changeset
|
69 |
url = "https://hg.functionals.cz/fatags", |
| 20 | 70 |
licenses = Seq(License.`Apache-2.0`), |
71 |
versionControl = VersionControl(developerConnection = Some( |
|
|
27
c4534300acdc
Mill upgrade -> 0.5.2, using PublishM2Module, fixed project urls
Tomas Zeman <tomas@functionals.cz>
parents:
26
diff
changeset
|
72 |
"ssh://tzeman@hg.functionals.cz/repos/public/fatags")), |
| 20 | 73 |
developers = Seq( |
74 |
Developer("tzeman", "Tomas Zeman", "")
|
|
75 |
) |
|
76 |
) |
|
77 |
||
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
78 |
override def scalacOptions: T[Seq[String]] = T{compilerOptions}
|
| 20 | 79 |
|
80 |
def hgId: Input[String] = T.input {
|
|
|
35
b7cfac7cff27
mill upgrade 0.5.2 -> 0.9.4
Tomas Zeman <tomas@functionals.cz>
parents:
34
diff
changeset
|
81 |
os.proc("hg", "id", "-i").call().out.text.trim
|
| 20 | 82 |
} |
83 |
||
84 |
def hgNum: Input[String] = T.input {
|
|
|
35
b7cfac7cff27
mill upgrade 0.5.2 -> 0.9.4
Tomas Zeman <tomas@functionals.cz>
parents:
34
diff
changeset
|
85 |
os.proc("hg", "id", "-n").call().out.text.trim
|
| 20 | 86 |
} |
87 |
||
88 |
def hgTag: Input[Option[String]] = T.input {
|
|
|
35
b7cfac7cff27
mill upgrade 0.5.2 -> 0.9.4
Tomas Zeman <tomas@functionals.cz>
parents:
34
diff
changeset
|
89 |
os.proc("hg", "id", "-t").call().out.text.trim.split(' ').headOption
|
| 20 | 90 |
} |
91 |
||
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
92 |
override def ivyDeps: Target[Loose.Agg[Dep]] = T{
|
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
93 |
if (scalaVersion() == V.scala211) Agg(D.scalatags211) else Agg(D.scalatags) |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
94 |
} |
| 20 | 95 |
|
96 |
override def sources: Sources = T.sources{
|
|
97 |
super.sources() :+ PathRef(millSourcePath / 'shared / 'src / 'main / 'scala) |
|
98 |
} |
|
99 |
||
|
33
53da843ccd58
Font-Awesome upgrade 5.11.2 -> 5.15.1
Tomas Zeman <tomas@functionals.cz>
parents:
32
diff
changeset
|
100 |
// https://github.com/FortAwesome/Font-Awesome/raw/5.15.1/metadata/icons.json |
|
21
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
101 |
type IcoDef = (String, Set[String]) |
|
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
102 |
def parseIcons: Target[List[IcoDef]] = T{
|
|
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
103 |
ujson.read(os.read! pwd / "icons.json").obj.map(e => (e._1, e._2.obj("styles").arr.map(_.str).toSet)).toList
|
|
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
104 |
} |
|
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
105 |
|
|
43
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
106 |
private def tpl(d: IcoDef): Set[String] = {
|
|
25
950431e16cb4
Restored CamelCase for icon idents/names
Tomas Zeman <tzeman@volny.cz>
parents:
24
diff
changeset
|
107 |
val sym = d._1 |
|
21
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
108 |
d._2.map {
|
|
43
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
109 |
case "brands" => s""" def ${camelCase(s"fab-$sym")}: FA = fab("$sym")"""
|
|
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
110 |
case "solid" => s""" def ${camelCase(s"fas-$sym")}: FA = fas("$sym")"""
|
|
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
111 |
case "regular" => s""" def ${camelCase(s"far-$sym")}: FA = far("$sym")"""
|
|
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
112 |
} |
|
21
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
113 |
} |
|
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
114 |
|
|
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
115 |
override def generatedSources: Sources = T.sources{
|
|
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
116 |
val d = T.ctx().dest |
|
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
117 |
val icons = parseIcons() |
|
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
118 |
write(d / "generated.scala", |
|
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
119 |
s""" |
|
43
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
120 |
|package fontawesome.generic |
|
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
121 |
|import scalatags.generic._ |
|
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
122 |
|class GenericFA[Builder, Output <: FragT, FragT]( |
|
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
123 |
| val bun: Bundle[Builder, Output, FragT]) {
|
|
21
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
124 |
| |
|
43
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
125 |
| import bun.all._ |
|
21
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
126 |
| |
|
43
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
127 |
| val faStack: Modifier = cls := "fa-stack fa-lg" |
|
21
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
128 |
| |
|
43
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
129 |
| implicit val bundle: Bundle[Builder, Output, FragT] = bun |
|
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
130 |
| implicit def fa2mod(x: FA): Modifier = x() |
|
21
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
131 |
| |
|
43
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
132 |
| private def fab(w: String): FA = FA(FaStyle.Brands, w) |
|
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
133 |
| private def far(w: String): FA = FA(FaStyle.Regular, w) |
|
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
134 |
| private def fas(w: String): FA = FA(FaStyle.Solid, w) |
|
21
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
135 |
| |
|
43
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
136 |
|${icons flatMap tpl mkString "\n"}
|
|
21
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
137 |
| |
|
43
1152fc8faf63
Avoid compiler/optimizer crash (StackOverflowError).
Tomas Zeman <tomas@functionals.cz>
parents:
42
diff
changeset
|
138 |
|} |
|
21
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
139 |
""".stripMargin) |
|
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
140 |
d |
|
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
141 |
} |
| 20 | 142 |
} |
143 |
||
144 |
class JvmModule(val crossScalaVersion: String) extends Common |
|
|
38
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
145 |
class JsModule(val crossScalaVersion: String, crossJSVersion: String) |
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
146 |
extends ScalaJSModule with Common {
|
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
147 |
|
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
148 |
override def scalaJSVersion: Target[String] = crossJSVersion |
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
149 |
|
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
150 |
override def millSourcePath = super.millSourcePath / os.up |
| 20 | 151 |
} |
152 |
||
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
153 |
object jvm extends Cross[JvmModule](V.scala211, V.scala212, V.scala213) |
|
38
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
154 |
object js extends Cross[JsModule]( |
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
155 |
V.scala211 -> V.scalaJs06, |
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
156 |
V.scala212 -> V.scalaJs06, |
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
157 |
V.scala212 -> V.scalaJs, |
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
158 |
V.scala213 -> V.scalaJs06, |
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
159 |
V.scala213 -> V.scalaJs |
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
160 |
) |
| 20 | 161 |
|
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
162 |
def compileAll(): Command[Unit] = T.command{
|
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
163 |
jvm(V.scala213).compile() |
|
38
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
164 |
js(V.scala213, V.scalaJs).compile() |
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
165 |
js(V.scala213, V.scalaJs06).compile() |
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
166 |
jvm(V.scala212).compile() |
|
38
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
167 |
js(V.scala212, V.scalaJs).compile() |
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
168 |
js(V.scala212, V.scalaJs06).compile() |
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
169 |
jvm(V.scala211).compile() |
|
38
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
170 |
js(V.scala211, V.scalaJs06).compile() |
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
171 |
() |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
172 |
} |
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
173 |
|
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
174 |
def publishLocal(): Command[Unit] = T.command{
|
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
175 |
jvm(V.scala213).publishLocal()() |
|
38
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
176 |
js(V.scala213, V.scalaJs).publishLocal()() |
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
177 |
js(V.scala213, V.scalaJs06).publishLocal()() |
| 20 | 178 |
jvm(V.scala212).publishLocal()() |
|
38
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
179 |
js(V.scala212, V.scalaJs).publishLocal()() |
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
180 |
js(V.scala212, V.scalaJs06).publishLocal()() |
| 20 | 181 |
jvm(V.scala211).publishLocal()() |
|
38
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
182 |
js(V.scala211, V.scalaJs06).publishLocal()() |
| 20 | 183 |
} |
184 |
||
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
185 |
def publishM2Local(p: os.Path): Command[Unit] = T.command{
|
|
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
186 |
jvm(V.scala213).publishM2Local(p.toString)() |
|
38
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
187 |
js(V.scala213, V.scalaJs).publishM2Local(p.toString)() |
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
188 |
js(V.scala213, V.scalaJs06).publishM2Local(p.toString)() |
|
35
b7cfac7cff27
mill upgrade 0.5.2 -> 0.9.4
Tomas Zeman <tomas@functionals.cz>
parents:
34
diff
changeset
|
189 |
jvm(V.scala212).publishM2Local(p.toString)() |
|
38
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
190 |
js(V.scala212, V.scalaJs).publishM2Local(p.toString)() |
|
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
191 |
js(V.scala212, V.scalaJs06).publishM2Local(p.toString)() |
|
35
b7cfac7cff27
mill upgrade 0.5.2 -> 0.9.4
Tomas Zeman <tomas@functionals.cz>
parents:
34
diff
changeset
|
192 |
jvm(V.scala211).publishM2Local(p.toString)() |
|
38
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
193 |
js(V.scala211, V.scalaJs06).publishM2Local(p.toString)() |
|
27
c4534300acdc
Mill upgrade -> 0.5.2, using PublishM2Module, fixed project urls
Tomas Zeman <tomas@functionals.cz>
parents:
26
diff
changeset
|
194 |
() |
|
c4534300acdc
Mill upgrade -> 0.5.2, using PublishM2Module, fixed project urls
Tomas Zeman <tomas@functionals.cz>
parents:
26
diff
changeset
|
195 |
} |
|
c4534300acdc
Mill upgrade -> 0.5.2, using PublishM2Module, fixed project urls
Tomas Zeman <tomas@functionals.cz>
parents:
26
diff
changeset
|
196 |
|
| 20 | 197 |
object example extends ScalaModule with ScalaJSModule {
|
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
198 |
override def scalaVersion: Target[String] = T{V.scala213}
|
| 20 | 199 |
override def scalaJSVersion: Target[String] = V.scalaJs |
|
21
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
200 |
|
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
201 |
override def scalacOptions: T[Seq[String]] = T{compilerOptions}
|
|
21
175e7d7ce5b3
Font-Awesome upgrade 4.7 -> 5.6.3
Tomas Zeman <tzeman@volny.cz>
parents:
20
diff
changeset
|
202 |
|
|
38
be844ade3150
Cross compile against ScalaJS 1.3.1 (in addition to 0.6)
Tomas Zeman <tomas@functionals.cz>
parents:
37
diff
changeset
|
203 |
override def moduleDeps: Seq[PublishModule] = Seq(js(V.scala213, V.scalaJs)) |
|
37
b79a632713a2
Cross-compile against Scala 2.13.4
Tomas Zeman <tomas@functionals.cz>
parents:
36
diff
changeset
|
204 |
|
| 20 | 205 |
} |
206 |
||
207 |
// vim: et ts=2 sw=2 syn=scala |