From 7a15fea2f542d90fe6e4fc5cddf9b94f45b049c0 Mon Sep 17 00:00:00 2001 From: Li Haoyi Date: Wed, 22 Aug 2018 20:38:13 +0800 Subject: Tidying up: - Combine `main/` and `core/` - Rename `jsbridges/`/`scalanativebridges/` -> `worker/` for consistency with other terminology --- .../src/mill/scalajslib/bridge/ScalaJSBridge.scala | 87 ---------------------- .../src/mill/scalajslib/bridge/ScalaJSBridge.scala | 85 --------------------- .../src/mill/scalajslib/bridge/ScalaJSBridge.scala | 87 ++++++++++++++++++++++ .../src/mill/scalajslib/bridge/ScalaJSBridge.scala | 85 +++++++++++++++++++++ 4 files changed, 172 insertions(+), 172 deletions(-) delete mode 100644 scalajslib/jsbridges/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala delete mode 100644 scalajslib/jsbridges/1.0/src/mill/scalajslib/bridge/ScalaJSBridge.scala create mode 100644 scalajslib/worker/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala create mode 100644 scalajslib/worker/1.0/src/mill/scalajslib/bridge/ScalaJSBridge.scala (limited to 'scalajslib') diff --git a/scalajslib/jsbridges/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala b/scalajslib/jsbridges/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala deleted file mode 100644 index 6f14db19..00000000 --- a/scalajslib/jsbridges/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala +++ /dev/null @@ -1,87 +0,0 @@ -package mill -package scalajslib -package bridge - -import java.io.File - -import mill.eval.Result -import org.scalajs.core.tools.io.IRFileCache.IRContainer -import org.scalajs.core.tools.io._ -import org.scalajs.core.tools.jsdep.ResolvedJSDependency -import org.scalajs.core.tools.linker.{ModuleInitializer, StandardLinker, Semantics, ModuleKind => ScalaJSModuleKind} -import org.scalajs.core.tools.logging.ScalaConsoleLogger -import org.scalajs.jsenv._ -import org.scalajs.jsenv.nodejs._ -import org.scalajs.testadapter.TestAdapter - -class ScalaJSBridge extends mill.scalajslib.ScalaJSBridge { - def link(sources: Array[File], - libraries: Array[File], - dest: File, - main: String, - fullOpt: Boolean, - moduleKind: ModuleKind) = { - val semantics = fullOpt match { - case true => Semantics.Defaults.optimized - case false => Semantics.Defaults - } - val scalaJSModuleKind = moduleKind match { - case ModuleKind.NoModule => ScalaJSModuleKind.NoModule - case ModuleKind.CommonJSModule => ScalaJSModuleKind.CommonJSModule - } - val config = StandardLinker.Config() - .withOptimizer(fullOpt) - .withClosureCompilerIfAvailable(fullOpt) - .withSemantics(semantics) - .withModuleKind(scalaJSModuleKind) - val linker = StandardLinker(config) - val sourceSJSIRs = sources.map(new FileVirtualScalaJSIRFile(_)) - val jars = libraries.map(jar => IRContainer.Jar(new FileVirtualBinaryFile(jar) with VirtualJarFile)) - val jarSJSIRs = jars.flatMap(_.jar.sjsirFiles) - val destFile = AtomicWritableFileVirtualJSFile(dest) - val logger = new ScalaConsoleLogger - val initializer = Option(main).map { cls => ModuleInitializer.mainMethodWithArgs(cls, "main") } - try { - linker.link(sourceSJSIRs ++ jarSJSIRs, initializer.toSeq, destFile, logger) - Result.Success(dest) - }catch {case e: org.scalajs.core.tools.linker.LinkingException => - Result.Failure(e.getMessage) - } - } - - def run(config: NodeJSConfig, linkedFile: File): Unit = { - nodeJSEnv(config) - .jsRunner(FileVirtualJSFile(linkedFile)) - .run(new ScalaConsoleLogger, ConsoleJSConsole) - } - - def getFramework(config: NodeJSConfig, - frameworkName: String, - linkedFile: File): (() => Unit, sbt.testing.Framework) = { - val env = nodeJSEnv(config).loadLibs( - Seq(ResolvedJSDependency.minimal(new FileVirtualJSFile(linkedFile))) - ) - - val tconfig = TestAdapter.Config().withLogger(new ScalaConsoleLogger) - val adapter = - new TestAdapter(env, tconfig) - - ( - () => adapter.close(), - adapter - .loadFrameworks(List(List(frameworkName))) - .flatten - .headOption - .getOrElse(throw new RuntimeException("Failed to get framework")) - ) - } - - def nodeJSEnv(config: NodeJSConfig): NodeJSEnv = { - new NodeJSEnv( - NodeJSEnv.Config() - .withExecutable(config.executable) - .withArgs(config.args) - .withEnv(config.env) - .withSourceMap(config.sourceMap)) - } -} diff --git a/scalajslib/jsbridges/1.0/src/mill/scalajslib/bridge/ScalaJSBridge.scala b/scalajslib/jsbridges/1.0/src/mill/scalajslib/bridge/ScalaJSBridge.scala deleted file mode 100644 index 534d45bf..00000000 --- a/scalajslib/jsbridges/1.0/src/mill/scalajslib/bridge/ScalaJSBridge.scala +++ /dev/null @@ -1,85 +0,0 @@ -package mill -package scalajslib -package bridge - -import java.io.File - -import mill.eval.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 -import org.scalajs.jsenv.ConsoleJSConsole -import org.scalajs.jsenv.nodejs._ -import org.scalajs.testadapter.TestAdapter - -class ScalaJSBridge extends mill.scalajslib.ScalaJSBridge { - def link(sources: Array[File], - libraries: Array[File], - dest: File, - main: String, - fullOpt: Boolean, - moduleKind: ModuleKind) = { - val semantics = fullOpt match { - case true => Semantics.Defaults.optimized - case false => Semantics.Defaults - } - val scalaJSModuleKind = moduleKind match { - case ModuleKind.NoModule => ScalaJSModuleKind.NoModule - case ModuleKind.CommonJSModule => ScalaJSModuleKind.CommonJSModule - } - val config = StandardLinker.Config() - .withOptimizer(fullOpt) - .withClosureCompilerIfAvailable(fullOpt) - .withSemantics(semantics) - .withModuleKind(scalaJSModuleKind) - val linker = StandardLinker(config) - val cache = new IRFileCache().newCache - val sourceIRs = sources.map(FileVirtualScalaJSIRFile) - val irContainers = FileScalaJSIRContainer.fromClasspath(libraries) - val libraryIRs = cache.cached(irContainers) - val destFile = AtomicWritableFileVirtualJSFile(dest) - val logger = new ScalaConsoleLogger - val initializer = Option(main).map { cls => ModuleInitializer.mainMethodWithArgs(cls, "main") } - - try { - linker.link(sourceIRs ++ libraryIRs, initializer.toSeq, destFile, logger) - Result.Success(dest) - }catch {case e: org.scalajs.core.tools.linker.LinkingException => - Result.Failure(e.getMessage) - } - } - - def run(config: NodeJSConfig, linkedFile: File): Unit = { - nodeJSEnv(config) - .jsRunner(Seq(FileVirtualJSFile(linkedFile))) - .run(new ScalaConsoleLogger, ConsoleJSConsole) - } - - def getFramework(config: NodeJSConfig, - frameworkName: String, - linkedFile: File): (() => Unit, sbt.testing.Framework) = { - val env = nodeJSEnv(config) - val tconfig = TestAdapter.Config().withLogger(new ScalaConsoleLogger) - - val adapter = - new TestAdapter(env, Seq(FileVirtualJSFile(linkedFile)), tconfig) - - ( - () => adapter.close(), - adapter - .loadFrameworks(List(List(frameworkName))) - .flatten - .headOption - .getOrElse(throw new RuntimeException("Failed to get framework")) - ) - } - - def nodeJSEnv(config: NodeJSConfig): NodeJSEnv = { - new NodeJSEnv( - NodeJSEnv.Config() - .withExecutable(config.executable) - .withArgs(config.args) - .withEnv(config.env) - .withSourceMap(config.sourceMap)) - } -} diff --git a/scalajslib/worker/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala b/scalajslib/worker/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala new file mode 100644 index 00000000..6f14db19 --- /dev/null +++ b/scalajslib/worker/0.6/src/mill/scalajslib/bridge/ScalaJSBridge.scala @@ -0,0 +1,87 @@ +package mill +package scalajslib +package bridge + +import java.io.File + +import mill.eval.Result +import org.scalajs.core.tools.io.IRFileCache.IRContainer +import org.scalajs.core.tools.io._ +import org.scalajs.core.tools.jsdep.ResolvedJSDependency +import org.scalajs.core.tools.linker.{ModuleInitializer, StandardLinker, Semantics, ModuleKind => ScalaJSModuleKind} +import org.scalajs.core.tools.logging.ScalaConsoleLogger +import org.scalajs.jsenv._ +import org.scalajs.jsenv.nodejs._ +import org.scalajs.testadapter.TestAdapter + +class ScalaJSBridge extends mill.scalajslib.ScalaJSBridge { + def link(sources: Array[File], + libraries: Array[File], + dest: File, + main: String, + fullOpt: Boolean, + moduleKind: ModuleKind) = { + val semantics = fullOpt match { + case true => Semantics.Defaults.optimized + case false => Semantics.Defaults + } + val scalaJSModuleKind = moduleKind match { + case ModuleKind.NoModule => ScalaJSModuleKind.NoModule + case ModuleKind.CommonJSModule => ScalaJSModuleKind.CommonJSModule + } + val config = StandardLinker.Config() + .withOptimizer(fullOpt) + .withClosureCompilerIfAvailable(fullOpt) + .withSemantics(semantics) + .withModuleKind(scalaJSModuleKind) + val linker = StandardLinker(config) + val sourceSJSIRs = sources.map(new FileVirtualScalaJSIRFile(_)) + val jars = libraries.map(jar => IRContainer.Jar(new FileVirtualBinaryFile(jar) with VirtualJarFile)) + val jarSJSIRs = jars.flatMap(_.jar.sjsirFiles) + val destFile = AtomicWritableFileVirtualJSFile(dest) + val logger = new ScalaConsoleLogger + val initializer = Option(main).map { cls => ModuleInitializer.mainMethodWithArgs(cls, "main") } + try { + linker.link(sourceSJSIRs ++ jarSJSIRs, initializer.toSeq, destFile, logger) + Result.Success(dest) + }catch {case e: org.scalajs.core.tools.linker.LinkingException => + Result.Failure(e.getMessage) + } + } + + def run(config: NodeJSConfig, linkedFile: File): Unit = { + nodeJSEnv(config) + .jsRunner(FileVirtualJSFile(linkedFile)) + .run(new ScalaConsoleLogger, ConsoleJSConsole) + } + + def getFramework(config: NodeJSConfig, + frameworkName: String, + linkedFile: File): (() => Unit, sbt.testing.Framework) = { + val env = nodeJSEnv(config).loadLibs( + Seq(ResolvedJSDependency.minimal(new FileVirtualJSFile(linkedFile))) + ) + + val tconfig = TestAdapter.Config().withLogger(new ScalaConsoleLogger) + val adapter = + new TestAdapter(env, tconfig) + + ( + () => adapter.close(), + adapter + .loadFrameworks(List(List(frameworkName))) + .flatten + .headOption + .getOrElse(throw new RuntimeException("Failed to get framework")) + ) + } + + def nodeJSEnv(config: NodeJSConfig): NodeJSEnv = { + new NodeJSEnv( + NodeJSEnv.Config() + .withExecutable(config.executable) + .withArgs(config.args) + .withEnv(config.env) + .withSourceMap(config.sourceMap)) + } +} diff --git a/scalajslib/worker/1.0/src/mill/scalajslib/bridge/ScalaJSBridge.scala b/scalajslib/worker/1.0/src/mill/scalajslib/bridge/ScalaJSBridge.scala new file mode 100644 index 00000000..534d45bf --- /dev/null +++ b/scalajslib/worker/1.0/src/mill/scalajslib/bridge/ScalaJSBridge.scala @@ -0,0 +1,85 @@ +package mill +package scalajslib +package bridge + +import java.io.File + +import mill.eval.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 +import org.scalajs.jsenv.ConsoleJSConsole +import org.scalajs.jsenv.nodejs._ +import org.scalajs.testadapter.TestAdapter + +class ScalaJSBridge extends mill.scalajslib.ScalaJSBridge { + def link(sources: Array[File], + libraries: Array[File], + dest: File, + main: String, + fullOpt: Boolean, + moduleKind: ModuleKind) = { + val semantics = fullOpt match { + case true => Semantics.Defaults.optimized + case false => Semantics.Defaults + } + val scalaJSModuleKind = moduleKind match { + case ModuleKind.NoModule => ScalaJSModuleKind.NoModule + case ModuleKind.CommonJSModule => ScalaJSModuleKind.CommonJSModule + } + val config = StandardLinker.Config() + .withOptimizer(fullOpt) + .withClosureCompilerIfAvailable(fullOpt) + .withSemantics(semantics) + .withModuleKind(scalaJSModuleKind) + val linker = StandardLinker(config) + val cache = new IRFileCache().newCache + val sourceIRs = sources.map(FileVirtualScalaJSIRFile) + val irContainers = FileScalaJSIRContainer.fromClasspath(libraries) + val libraryIRs = cache.cached(irContainers) + val destFile = AtomicWritableFileVirtualJSFile(dest) + val logger = new ScalaConsoleLogger + val initializer = Option(main).map { cls => ModuleInitializer.mainMethodWithArgs(cls, "main") } + + try { + linker.link(sourceIRs ++ libraryIRs, initializer.toSeq, destFile, logger) + Result.Success(dest) + }catch {case e: org.scalajs.core.tools.linker.LinkingException => + Result.Failure(e.getMessage) + } + } + + def run(config: NodeJSConfig, linkedFile: File): Unit = { + nodeJSEnv(config) + .jsRunner(Seq(FileVirtualJSFile(linkedFile))) + .run(new ScalaConsoleLogger, ConsoleJSConsole) + } + + def getFramework(config: NodeJSConfig, + frameworkName: String, + linkedFile: File): (() => Unit, sbt.testing.Framework) = { + val env = nodeJSEnv(config) + val tconfig = TestAdapter.Config().withLogger(new ScalaConsoleLogger) + + val adapter = + new TestAdapter(env, Seq(FileVirtualJSFile(linkedFile)), tconfig) + + ( + () => adapter.close(), + adapter + .loadFrameworks(List(List(frameworkName))) + .flatten + .headOption + .getOrElse(throw new RuntimeException("Failed to get framework")) + ) + } + + def nodeJSEnv(config: NodeJSConfig): NodeJSEnv = { + new NodeJSEnv( + NodeJSEnv.Config() + .withExecutable(config.executable) + .withArgs(config.args) + .withEnv(config.env) + .withSourceMap(config.sourceMap)) + } +} -- cgit v1.2.3