diff options
Diffstat (limited to 'scalajslib')
9 files changed, 59 insertions, 56 deletions
diff --git a/scalajslib/api/src/mill/scalajslib/api/ScalaJSWorkerApi.scala b/scalajslib/api/src/mill/scalajslib/api/ScalaJSWorkerApi.scala new file mode 100644 index 00000000..4e44a8df --- /dev/null +++ b/scalajslib/api/src/mill/scalajslib/api/ScalaJSWorkerApi.scala @@ -0,0 +1,41 @@ +package mill.scalajslib.api +import java.io.File +import mill.api.Result +trait ScalaJSWorkerApi { + def link(sources: Array[File], + libraries: Array[File], + dest: File, + main: String, + fullOpt: Boolean, + moduleKind: ModuleKind): Result[File] + + def run(config: NodeJSConfig, linkedFile: File): Unit + + def getFramework(config: NodeJSConfig, + frameworkName: String, + linkedFile: File): (() => Unit, sbt.testing.Framework) + +} + + +sealed trait OptimizeMode + +object FastOpt extends OptimizeMode +object FullOpt extends OptimizeMode + +sealed trait ModuleKind +object ModuleKind{ + object NoModule extends ModuleKind + object CommonJSModule extends ModuleKind +} + + +object NodeJSConfig { + import upickle.default.{ReadWriter => RW, macroRW} + implicit def rw: RW[NodeJSConfig] = macroRW +} + +final case class NodeJSConfig(executable: String = "node", + args: List[String] = Nil, + env: Map[String, String] = Map.empty, + sourceMap: Boolean = true) diff --git a/scalajslib/src/mill/scalajslib/NodeJSConfig.scala b/scalajslib/src/mill/scalajslib/NodeJSConfig.scala deleted file mode 100644 index de39308c..00000000 --- a/scalajslib/src/mill/scalajslib/NodeJSConfig.scala +++ /dev/null @@ -1,11 +0,0 @@ -package mill.scalajslib - -object NodeJSConfig { - import upickle.default.{ReadWriter => RW, macroRW} - implicit def rw: RW[NodeJSConfig] = macroRW -} - -final case class NodeJSConfig(executable: String = "node", - args: List[String] = Nil, - env: Map[String, String] = Map.empty, - sourceMap: Boolean = true) diff --git a/scalajslib/src/mill/scalajslib/ScalaJSModule.scala b/scalajslib/src/mill/scalajslib/ScalaJSModule.scala index 37537a85..8568c39b 100644 --- a/scalajslib/src/mill/scalajslib/ScalaJSModule.scala +++ b/scalajslib/src/mill/scalajslib/ScalaJSModule.scala @@ -4,11 +4,11 @@ package scalajslib import coursier.Cache import coursier.maven.MavenRepository import mill.eval.{PathRef, Result} -import mill.eval.Result.Success +import mill.api.Result.Success import mill.scalalib.Lib.resolveDependencies import mill.scalalib.{DepSyntax, Lib, TestModule, TestRunner} import mill.util.{Ctx, Loose} - +import mill.scalajslib.api._ trait ScalaJSModule extends scalalib.ScalaModule { outer => def scalaJSVersion: T[String] @@ -21,7 +21,7 @@ trait ScalaJSModule extends scalalib.ScalaModule { outer => override def moduleDeps = Seq(outer) } - def scalaJSBinaryVersion = T { Lib.scalaBinaryVersion(scalaJSVersion()) } + def scalaJSBinaryVersion = T { mill.scalalib.api.Util.scalaBinaryVersion(scalaJSVersion()) } def scalaJSWorkerVersion = T{ scalaJSVersion().split('.').dropRight(1).mkString(".") } @@ -92,11 +92,11 @@ trait ScalaJSModule extends scalalib.ScalaModule { outer => } override def runMainLocal(mainClass: String, args: String*) = T.command[Unit] { - mill.eval.Result.Failure("runMain is not supported in Scala.js") + mill.api.Result.Failure("runMain is not supported in Scala.js") } override def runMain(mainClass: String, args: String*) = T.command[Unit] { - mill.eval.Result.Failure("runMain is not supported in Scala.js") + mill.api.Result.Failure("runMain is not supported in Scala.js") } def link(worker: ScalaJSWorker, diff --git a/scalajslib/src/mill/scalajslib/ScalaJSWorkerApi.scala b/scalajslib/src/mill/scalajslib/ScalaJSWorkerApi.scala index 881a65b9..bcaeb2d3 100644 --- a/scalajslib/src/mill/scalajslib/ScalaJSWorkerApi.scala +++ b/scalajslib/src/mill/scalajslib/ScalaJSWorkerApi.scala @@ -4,21 +4,10 @@ import java.io.File import java.net.URLClassLoader import mill.define.Discover -import mill.eval.Result -import mill.util.Ctx +import mill.api.Result +import mill.api.Ctx import mill.{Agg, T} - -sealed trait OptimizeMode - -object FastOpt extends OptimizeMode -object FullOpt extends OptimizeMode - -sealed trait ModuleKind -object ModuleKind{ - object NoModule extends ModuleKind - object CommonJSModule extends ModuleKind -} - +import mill.scalajslib.api._ class ScalaJSWorker { private var scalaInstanceCache = Option.empty[(Long, ScalaJSWorkerApi)] @@ -29,7 +18,7 @@ class ScalaJSWorker { scalaInstanceCache match { case Some((sig, bridge)) if sig == classloaderSig => bridge case _ => - val cl = mill.util.ClassLoader.create( + val cl = mill.api.ClassLoader.create( toolsClasspath.map(_.toIO.toURI.toURL).toVector, getClass.getClassLoader ) @@ -76,22 +65,6 @@ class ScalaJSWorker { } -trait ScalaJSWorkerApi { - def link(sources: Array[File], - libraries: Array[File], - dest: File, - main: String, - fullOpt: Boolean, - moduleKind: ModuleKind): Result[File] - - def run(config: NodeJSConfig, linkedFile: File): Unit - - def getFramework(config: NodeJSConfig, - frameworkName: String, - linkedFile: File): (() => Unit, sbt.testing.Framework) - -} - object ScalaJSWorkerApi extends mill.define.ExternalModule { def scalaJSWorker = T.worker { new ScalaJSWorker() } diff --git a/scalajslib/test/src/mill/scalajslib/HelloJSWorldTests.scala b/scalajslib/test/src/mill/scalajslib/HelloJSWorldTests.scala index 7b1027e8..1b3e9bb3 100644 --- a/scalajslib/test/src/mill/scalajslib/HelloJSWorldTests.scala +++ b/scalajslib/test/src/mill/scalajslib/HelloJSWorldTests.scala @@ -11,7 +11,7 @@ import utest._ import scala.collection.JavaConverters._ - +import mill.scalajslib.api._ object HelloJSWorldTests extends TestSuite { val workspacePath = TestUtil.getOutPathStatic() / "hello-js-world" diff --git a/scalajslib/test/src/mill/scalajslib/MultiModuleTests.scala b/scalajslib/test/src/mill/scalajslib/MultiModuleTests.scala index 751c7537..2ffea2cf 100644 --- a/scalajslib/test/src/mill/scalajslib/MultiModuleTests.scala +++ b/scalajslib/test/src/mill/scalajslib/MultiModuleTests.scala @@ -6,7 +6,7 @@ import mill.eval.Evaluator import mill.util._ import mill.scalalib._ import utest._ - +import mill.scalajslib.api._ object MultiModuleTests extends TestSuite { val workspacePath = TestUtil.getOutPathStatic() / "multi-module" val sourcePath = os.pwd / 'scalajslib / 'test / 'resources / "multi-module" diff --git a/scalajslib/test/src/mill/scalajslib/NodeJSConfigTests.scala b/scalajslib/test/src/mill/scalajslib/NodeJSConfigTests.scala index 27ea0a13..d9e6b45b 100644 --- a/scalajslib/test/src/mill/scalajslib/NodeJSConfigTests.scala +++ b/scalajslib/test/src/mill/scalajslib/NodeJSConfigTests.scala @@ -6,7 +6,7 @@ import mill.eval.Evaluator import mill.scalalib.{CrossScalaModule, DepSyntax} import mill.util.{TestEvaluator, TestUtil} import utest._ - +import mill.scalajslib.api._ object NodeJSConfigTests extends TestSuite { val workspacePath = TestUtil.getOutPathStatic() / "hello-js-world" diff --git a/scalajslib/worker/0.6/src/mill/scalajslib/worker/ScalaJSWorkerImpl.scala b/scalajslib/worker/0.6/src/mill/scalajslib/worker/ScalaJSWorkerImpl.scala index 7c30ece9..64b668e5 100644 --- a/scalajslib/worker/0.6/src/mill/scalajslib/worker/ScalaJSWorkerImpl.scala +++ b/scalajslib/worker/0.6/src/mill/scalajslib/worker/ScalaJSWorkerImpl.scala @@ -4,7 +4,7 @@ package worker import java.io.File -import mill.eval.Result +import mill.api.Result import org.scalajs.core.tools.io.IRFileCache.IRContainer import org.scalajs.core.tools.io._ import org.scalajs.core.tools.jsdep.ResolvedJSDependency @@ -13,8 +13,8 @@ import org.scalajs.core.tools.logging.ScalaConsoleLogger import org.scalajs.jsenv._ import org.scalajs.jsenv.nodejs._ import org.scalajs.testadapter.TestAdapter - -class ScalaJSWorkerImpl extends mill.scalajslib.ScalaJSWorkerApi { +import mill.scalajslib.api.{ModuleKind, NodeJSConfig} +class ScalaJSWorkerImpl extends mill.scalajslib.api.ScalaJSWorkerApi { def link(sources: Array[File], libraries: Array[File], dest: File, diff --git a/scalajslib/worker/1.0/src/mill/scalajslib/worker/ScalaJSWorkerImpl.scala b/scalajslib/worker/1.0/src/mill/scalajslib/worker/ScalaJSWorkerImpl.scala index 45795271..f40f7a6b 100644 --- a/scalajslib/worker/1.0/src/mill/scalajslib/worker/ScalaJSWorkerImpl.scala +++ b/scalajslib/worker/1.0/src/mill/scalajslib/worker/ScalaJSWorkerImpl.scala @@ -3,8 +3,8 @@ package scalajslib package worker import java.io.File - -import mill.eval.Result +import mill.scalajslib.api.{ModuleKind, NodeJSConfig} +import mill.api.Result import org.scalajs.core.tools.io._ import org.scalajs.core.tools.linker.{ModuleInitializer, Semantics, StandardLinker, ModuleKind => ScalaJSModuleKind} import org.scalajs.core.tools.logging.ScalaConsoleLogger @@ -12,7 +12,7 @@ import org.scalajs.jsenv.ConsoleJSConsole import org.scalajs.jsenv.nodejs._ import org.scalajs.testadapter.TestAdapter -class ScalaJSWorkerImpl extends mill.scalajslib.ScalaJSWorkerApi { +class ScalaJSWorkerImpl extends mill.scalajslib.api.ScalaJSWorkerApi { def link(sources: Array[File], libraries: Array[File], dest: File, |