diff options
Diffstat (limited to 'scalanativelib/src/mill/scalanativelib')
-rw-r--r-- | scalanativelib/src/mill/scalanativelib/ScalaNativeModule.scala | 27 | ||||
-rw-r--r-- | scalanativelib/src/mill/scalanativelib/ScalaNativeWorkerApi.scala | 34 |
2 files changed, 3 insertions, 58 deletions
diff --git a/scalanativelib/src/mill/scalanativelib/ScalaNativeModule.scala b/scalanativelib/src/mill/scalanativelib/ScalaNativeModule.scala index d8a282de..a7a2b96b 100644 --- a/scalanativelib/src/mill/scalanativelib/ScalaNativeModule.scala +++ b/scalanativelib/src/mill/scalanativelib/ScalaNativeModule.scala @@ -6,37 +6,14 @@ import java.net.URLClassLoader import coursier.Cache import coursier.maven.MavenRepository import mill.define.{Target, Task} -import mill.eval.Result +import mill.api.Result import mill.modules.Jvm import mill.scalalib.{Dep, DepSyntax, Lib, SbtModule, ScalaModule, TestModule, TestRunner} import mill.util.Loose.Agg import sbt.testing.{AnnotatedFingerprint, SubclassFingerprint} import sbt.testing.Fingerprint import upickle.default.{ReadWriter => RW, macroRW} - - -sealed abstract class NativeLogLevel(val level: Int) extends Ordered[NativeLogLevel] { - def compare(that: NativeLogLevel) = this.level - that.level -} - -object NativeLogLevel { - case object Error extends NativeLogLevel(200) - case object Warn extends NativeLogLevel(300) - case object Info extends NativeLogLevel(400) - case object Debug extends NativeLogLevel(500) - case object Trace extends NativeLogLevel(600) - - implicit def rw: RW[NativeLogLevel] = macroRW -} - -sealed abstract class ReleaseMode(val name: String) - -object ReleaseMode { - case object Debug extends ReleaseMode("debug") - case object Release extends ReleaseMode("release") - - implicit def rw: RW[ReleaseMode] = macroRW -} +import mill.scalanativelib.api._ trait ScalaNativeModule extends ScalaModule { outer => diff --git a/scalanativelib/src/mill/scalanativelib/ScalaNativeWorkerApi.scala b/scalanativelib/src/mill/scalanativelib/ScalaNativeWorkerApi.scala index be834e89..80325f1e 100644 --- a/scalanativelib/src/mill/scalanativelib/ScalaNativeWorkerApi.scala +++ b/scalanativelib/src/mill/scalanativelib/ScalaNativeWorkerApi.scala @@ -5,7 +5,7 @@ import java.net.URLClassLoader import mill.define.{Discover, Worker} import mill.{Agg, T} -import sbt.testing.Framework +import mill.scalanativelib.api._ class ScalaNativeWorker { @@ -38,38 +38,6 @@ class ScalaNativeWorker { } } - -// result wrapper to preserve some type safety -case class NativeConfig(config: Any) - -trait ScalaNativeWorkerApi { - def discoverClang: os.Path - def discoverClangPP: os.Path - def discoverTarget(clang: os.Path, workDir: os.Path): String - def discoverCompileOptions: Seq[String] - def discoverLinkingOptions: Seq[String] - - def config(nativeLibJar: os.Path, - mainClass: String, - classpath: Seq[os.Path], - nativeWorkdir: os.Path, - nativeClang: os.Path, - nativeClangPP: os.Path, - nativeTarget: String, - nativeCompileOptions: Seq[String], - nativeLinkingOptions: Seq[String], - nativeGC: String, - nativeLinkStubs: Boolean, - releaseMode: ReleaseMode, - logLevel: NativeLogLevel): NativeConfig - - def defaultGarbageCollector: String - def nativeLink(nativeConfig: NativeConfig, outPath: os.Path): os.Path - - def newScalaNativeFrameWork(framework: Framework, id: Int, testBinary: File, - logLevel: NativeLogLevel, envVars: Map[String, String]): Framework -} - object ScalaNativeWorkerApi extends mill.define.ExternalModule { def scalaNativeWorker: Worker[ScalaNativeWorker] = T.worker { new ScalaNativeWorker() } lazy val millDiscover = Discover[this.type] |