summaryrefslogtreecommitdiff
path: root/build.sc
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2019-09-16 11:08:15 +0800
committerLi Haoyi <haoyi.sg@gmail.com>2019-09-16 11:08:15 +0800
commit2bd2fd997d8898e07d14f23d344008e5a5d9a7a0 (patch)
treeec20121e91b57602f7a808f779f90b5e0ef6620b /build.sc
parent587f6c11d6feeb7d418165a1de652fe2ab410818 (diff)
downloadcask-2bd2fd997d8898e07d14f23d344008e5a5d9a7a0.tar.gz
cask-2bd2fd997d8898e07d14f23d344008e5a5d9a7a0.tar.bz2
cask-2bd2fd997d8898e07d14f23d344008e5a5d9a7a0.zip
cross-build cask.util for Scala.js
Diffstat (limited to 'build.sc')
-rw-r--r--build.sc52
1 files changed, 40 insertions, 12 deletions
diff --git a/build.sc b/build.sc
index 926f049..834f1bf 100644
--- a/build.sc
+++ b/build.sc
@@ -1,4 +1,4 @@
-import mill._, scalalib._, publish._
+import mill._, scalalib._, scalajslib._, publish._
import $file.ci.upload, $file.ci.version
import $file.example.compress.build
@@ -23,18 +23,8 @@ import $file.example.variableRoutes.build
import $file.example.websockets.build
import $file.example.websockets2.build
-object cask extends ScalaModule with PublishModule {
+trait CaskModule extends ScalaModule with PublishModule{
def scalaVersion = "2.13.0"
- def ivyDeps = Agg(
- ivy"org.scala-lang:scala-reflect:${scalaVersion()}",
- ivy"io.undertow:undertow-core:2.0.13.Final",
- ivy"com.lihaoyi::upickle:0.7.5",
- ivy"com.lihaoyi::sourcecode:0.1.7",
- ivy"com.lihaoyi::pprint:0.5.5"
- )
- def compileIvyDeps = Agg(ivy"com.lihaoyi::acyclic:0.2.0")
- def scalacOptions = Seq("-P:acyclic:force")
- def scalacPluginIvyDeps = Agg(ivy"com.lihaoyi::acyclic:0.2.0")
def publishVersion = build.publishVersion()._2
@@ -48,6 +38,44 @@ object cask extends ScalaModule with PublishModule {
Developer("lihaoyi", "Li Haoyi","https://github.com/lihaoyi")
)
)
+}
+
+object cask extends CaskModule {
+ def moduleDeps = Seq(util.jvm)
+
+ def ivyDeps = Agg(
+ ivy"org.scala-lang:scala-reflect:${scalaVersion()}",
+ ivy"io.undertow:undertow-core:2.0.13.Final",
+ ivy"com.lihaoyi::upickle:0.7.5"
+ )
+ def compileIvyDeps = Agg(ivy"com.lihaoyi::acyclic:0.2.0")
+ def scalacOptions = Seq("-P:acyclic:force")
+ def scalacPluginIvyDeps = Agg(ivy"com.lihaoyi::acyclic:0.2.0")
+
+
+ object util extends Module {
+ trait UtilModule extends CaskModule {
+ def platformSegment: String
+ def millSourcePath = super.millSourcePath / os.up
+
+ def sources = T.sources(
+ millSourcePath / "src",
+ millSourcePath / s"src-$platformSegment"
+ )
+ def ivyDeps = Agg(
+ ivy"com.lihaoyi::sourcecode:0.1.7",
+ ivy"com.lihaoyi::pprint:0.5.5"
+ )
+ }
+
+ object js extends UtilModule with ScalaJSModule{
+ def platformSegment = "js"
+ def scalaJSVersion = "0.6.28"
+ }
+ object jvm extends UtilModule{
+ def platformSegment = "jvm"
+ }
+ }
object test extends Tests{