summaryrefslogtreecommitdiff
path: root/contrib/bloop/test/src/mill/contrib/bloop/BloopTests.scala
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bloop/test/src/mill/contrib/bloop/BloopTests.scala')
-rw-r--r--contrib/bloop/test/src/mill/contrib/bloop/BloopTests.scala50
1 files changed, 49 insertions, 1 deletions
diff --git a/contrib/bloop/test/src/mill/contrib/bloop/BloopTests.scala b/contrib/bloop/test/src/mill/contrib/bloop/BloopTests.scala
index cd3f9497..0af93c46 100644
--- a/contrib/bloop/test/src/mill/contrib/bloop/BloopTests.scala
+++ b/contrib/bloop/test/src/mill/contrib/bloop/BloopTests.scala
@@ -1,10 +1,13 @@
package mill.contrib.bloop
+import bloop.config.{Config => BloopConfig}
import bloop.config.Config.{File => BloopFile}
import bloop.config.ConfigEncoderDecoders._
import mill._
import mill.contrib.bloop.CirceCompat._
+import mill.scalajslib.api.ModuleKind
import mill.scalalib._
+import mill.scalanativelib.api.ReleaseMode
import mill.util.{TestEvaluator, TestUtil}
import os.Path
import upickle.default._
@@ -41,6 +44,20 @@ object BloopTests extends TestSuite {
def scalaVersion = "2.12.8"
}
+ object scalajsModule extends scalajslib.ScalaJSModule with testBloop.Module {
+ override def scalaVersion = "2.12.8"
+ override def scalaJSVersion = "0.6.28"
+ override def linkerMode = T(Some(_root_.bloop.config.Config.LinkerMode.Release))
+ override def moduleKind = T(ModuleKind.CommonJSModule)
+ }
+
+ object scalanativeModule extends scalanativelib.ScalaNativeModule with testBloop.Module {
+ override def scalaVersion = "2.11.12"
+ override def scalaNativeVersion = "0.3.8"
+ override def releaseMode = T(ReleaseMode.Release)
+ }
+
+
}
def readBloopConf(jsonFile: String) =
@@ -49,10 +66,12 @@ object BloopTests extends TestSuite {
def tests: Tests = Tests {
'genBloopTests - {
- testEvaluator(testBloop.install)
+ testEvaluator(testBloop.install())
val scalaModuleConfig = readBloopConf("scalaModule.json")
val scalaModule2Config = readBloopConf("scalaModule2.json")
val testModuleConfig = readBloopConf("scalaModule.test.json")
+ val scalajsModuleConfig = readBloopConf("scalajsModule.json")
+ val scalanativeModuleConfig = readBloopConf("scalanativeModule.json")
'scalaModule - {
val p = scalaModuleConfig.project
@@ -106,6 +125,35 @@ object BloopTests extends TestSuite {
val cp = scalaModule2Config.project.classpath.map(_.toString)
assert(cp.exists(_.contains("scala-library-2.12.8")))
}
+ 'scalajsModule - {
+ val p = scalajsModuleConfig.project
+ val name = p.name
+ val sources = p.sources.map(Path(_))
+ val version = p.scala.get.version
+ val platform = p.platform.get.asInstanceOf[BloopConfig.Platform.Js]
+
+ assert(name == "scalajsModule")
+ assert(sources == List(workdir / "scalajsModule" / "src"))
+ assert(version == "2.12.8")
+ assert(platform.config.emitSourceMaps)
+ assert(platform.config.kind == BloopConfig.ModuleKindJS.CommonJSModule)
+ assert(platform.config.mode == BloopConfig.LinkerMode.Release)
+ }
+ 'scalanativeModule - {
+ val p = scalanativeModuleConfig.project
+ val name = p.name
+ val sources = p.sources.map(Path(_))
+ val version = p.scala.get.version
+ val platform = p.platform.get.asInstanceOf[BloopConfig.Platform.Native]
+
+ val (clang, _) = testEvaluator(build.scalanativeModule.nativeClang).asSuccess.get.value.right.get
+
+ assert(name == "scalanativeModule")
+ assert(sources == List(workdir / "scalanativeModule" / "src"))
+ assert(version == "2.11.12")
+ assert(platform.config.mode == BloopConfig.LinkerMode.Release)
+ assert(platform.config.clang == clang.toNIO)
+ }
}
}