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 --- .../scalanativelib/bridge/ScalaNativeBridge.scala | 74 ---------------------- .../scalanativelib/bridge/ScalaNativeBridge.scala | 74 ++++++++++++++++++++++ 2 files changed, 74 insertions(+), 74 deletions(-) delete mode 100644 scalanativelib/scalanativebridges/0.3/src/mill/scalanativelib/bridge/ScalaNativeBridge.scala create mode 100644 scalanativelib/worker/0.3/src/mill/scalanativelib/bridge/ScalaNativeBridge.scala (limited to 'scalanativelib') diff --git a/scalanativelib/scalanativebridges/0.3/src/mill/scalanativelib/bridge/ScalaNativeBridge.scala b/scalanativelib/scalanativebridges/0.3/src/mill/scalanativelib/bridge/ScalaNativeBridge.scala deleted file mode 100644 index 268e18ac..00000000 --- a/scalanativelib/scalanativebridges/0.3/src/mill/scalanativelib/bridge/ScalaNativeBridge.scala +++ /dev/null @@ -1,74 +0,0 @@ -package mill.scalanativelib.bridge - -import java.io.File -import java.lang.System.{err, out} - -import scala.scalanative.build.{Build, Config, Discover, GC, Logger, Mode} -import ammonite.ops.Path -import mill.scalanativelib.{NativeConfig, NativeLogLevel, ReleaseMode} -import sbt.testing.Framework - -import scala.scalanative.testinterface.ScalaNativeFramework - - -class ScalaNativeBridge extends mill.scalanativelib.ScalaNativeBridge { - def logger(level: NativeLogLevel) = - Logger( - debugFn = msg => if (level >= NativeLogLevel.Debug) out.println(msg), - infoFn = msg => if (level >= NativeLogLevel.Info) out.println(msg), - warnFn = msg => if (level >= NativeLogLevel.Warn) out.println(msg), - errorFn = msg => if (level >= NativeLogLevel.Error) err.println(msg)) - - def discoverClang: Path = Path(Discover.clang()) - def discoverClangPP: Path = Path(Discover.clangpp()) - def discoverTarget(clang: Path, workdir: Path): String = Discover.targetTriple(clang.toNIO, workdir.toNIO) - def discoverCompileOptions: Seq[String] = Discover.compileOptions() - def discoverLinkingOptions: Seq[String] = Discover.linkingOptions() - def defaultGarbageCollector: String = GC.default.name - - def config(nativeLibJar: Path, - mainClass: String, - classpath: Seq[Path], - nativeWorkdir: Path, - nativeClang: Path, - nativeClangPP: Path, - nativeTarget: String, - nativeCompileOptions: Seq[String], - nativeLinkingOptions: Seq[String], - nativeGC: String, - nativeLinkStubs: Boolean, - releaseMode: ReleaseMode, - logLevel: NativeLogLevel): NativeConfig = - { - val entry = mainClass + "$" - - val config = - Config.empty - .withNativelib(nativeLibJar.toNIO) - .withMainClass(entry) - .withClassPath(classpath.map(_.toNIO)) - .withWorkdir(nativeWorkdir.toNIO) - .withClang(nativeClang.toNIO) - .withClangPP(nativeClangPP.toNIO) - .withTargetTriple(nativeTarget) - .withCompileOptions(nativeCompileOptions) - .withLinkingOptions(nativeLinkingOptions) - .withGC(GC(nativeGC)) - .withLinkStubs(nativeLinkStubs) - .withMode(Mode(releaseMode.name)) - .withLogger(logger(logLevel)) - NativeConfig(config) - } - - def nativeLink(nativeConfig: NativeConfig, outPath: Path): Path = { - val config = nativeConfig.config.asInstanceOf[Config] - Build.build(config, outPath.toNIO) - outPath - } - - override def newScalaNativeFrameWork(framework: Framework, id: Int, testBinary: File, - logLevel: NativeLogLevel, envVars: Map[String, String]): Framework = - { - new ScalaNativeFramework(framework, id, logger(logLevel), testBinary, envVars) - } -} diff --git a/scalanativelib/worker/0.3/src/mill/scalanativelib/bridge/ScalaNativeBridge.scala b/scalanativelib/worker/0.3/src/mill/scalanativelib/bridge/ScalaNativeBridge.scala new file mode 100644 index 00000000..268e18ac --- /dev/null +++ b/scalanativelib/worker/0.3/src/mill/scalanativelib/bridge/ScalaNativeBridge.scala @@ -0,0 +1,74 @@ +package mill.scalanativelib.bridge + +import java.io.File +import java.lang.System.{err, out} + +import scala.scalanative.build.{Build, Config, Discover, GC, Logger, Mode} +import ammonite.ops.Path +import mill.scalanativelib.{NativeConfig, NativeLogLevel, ReleaseMode} +import sbt.testing.Framework + +import scala.scalanative.testinterface.ScalaNativeFramework + + +class ScalaNativeBridge extends mill.scalanativelib.ScalaNativeBridge { + def logger(level: NativeLogLevel) = + Logger( + debugFn = msg => if (level >= NativeLogLevel.Debug) out.println(msg), + infoFn = msg => if (level >= NativeLogLevel.Info) out.println(msg), + warnFn = msg => if (level >= NativeLogLevel.Warn) out.println(msg), + errorFn = msg => if (level >= NativeLogLevel.Error) err.println(msg)) + + def discoverClang: Path = Path(Discover.clang()) + def discoverClangPP: Path = Path(Discover.clangpp()) + def discoverTarget(clang: Path, workdir: Path): String = Discover.targetTriple(clang.toNIO, workdir.toNIO) + def discoverCompileOptions: Seq[String] = Discover.compileOptions() + def discoverLinkingOptions: Seq[String] = Discover.linkingOptions() + def defaultGarbageCollector: String = GC.default.name + + def config(nativeLibJar: Path, + mainClass: String, + classpath: Seq[Path], + nativeWorkdir: Path, + nativeClang: Path, + nativeClangPP: Path, + nativeTarget: String, + nativeCompileOptions: Seq[String], + nativeLinkingOptions: Seq[String], + nativeGC: String, + nativeLinkStubs: Boolean, + releaseMode: ReleaseMode, + logLevel: NativeLogLevel): NativeConfig = + { + val entry = mainClass + "$" + + val config = + Config.empty + .withNativelib(nativeLibJar.toNIO) + .withMainClass(entry) + .withClassPath(classpath.map(_.toNIO)) + .withWorkdir(nativeWorkdir.toNIO) + .withClang(nativeClang.toNIO) + .withClangPP(nativeClangPP.toNIO) + .withTargetTriple(nativeTarget) + .withCompileOptions(nativeCompileOptions) + .withLinkingOptions(nativeLinkingOptions) + .withGC(GC(nativeGC)) + .withLinkStubs(nativeLinkStubs) + .withMode(Mode(releaseMode.name)) + .withLogger(logger(logLevel)) + NativeConfig(config) + } + + def nativeLink(nativeConfig: NativeConfig, outPath: Path): Path = { + val config = nativeConfig.config.asInstanceOf[Config] + Build.build(config, outPath.toNIO) + outPath + } + + override def newScalaNativeFrameWork(framework: Framework, id: Int, testBinary: File, + logLevel: NativeLogLevel, envVars: Map[String, String]): Framework = + { + new ScalaNativeFramework(framework, id, logger(logLevel), testBinary, envVars) + } +} -- cgit v1.2.3