summaryrefslogtreecommitdiff
path: root/scalanativelib/src/mill/scalanativelib
diff options
context:
space:
mode:
Diffstat (limited to 'scalanativelib/src/mill/scalanativelib')
-rw-r--r--scalanativelib/src/mill/scalanativelib/ScalaNativeModule.scala27
-rw-r--r--scalanativelib/src/mill/scalanativelib/ScalaNativeWorkerApi.scala34
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]