summaryrefslogtreecommitdiff
path: root/scalanativelib
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-11-05 03:00:04 +0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-11-05 21:14:58 +0800
commitbc9dc386625021fec517f2dbf0644ccafe1e32c2 (patch)
tree12db6817470708c7aa274aa231ef35eb79f2123a /scalanativelib
parent8afe79afe33be68f59f89b8410984e508c3e8d08 (diff)
downloadmill-bc9dc386625021fec517f2dbf0644ccafe1e32c2.tar.gz
mill-bc9dc386625021fec517f2dbf0644ccafe1e32c2.tar.bz2
mill-bc9dc386625021fec517f2dbf0644ccafe1e32c2.zip
WIP migrating over from `ammonite.ops` to `os` module.
__.compile works, haven't run tests yet
Diffstat (limited to 'scalanativelib')
-rw-r--r--scalanativelib/src/mill/scalanativelib/ScalaNativeModule.scala3
-rw-r--r--scalanativelib/src/mill/scalanativelib/ScalaNativeWorkerApi.scala23
-rw-r--r--scalanativelib/test/src/mill/scalanativelib/HelloNativeWorldTests.scala15
-rw-r--r--scalanativelib/worker/0.3/src/mill/scalanativelib/worker/ScalaNativeWorkerImpl.scala19
4 files changed, 28 insertions, 32 deletions
diff --git a/scalanativelib/src/mill/scalanativelib/ScalaNativeModule.scala b/scalanativelib/src/mill/scalanativelib/ScalaNativeModule.scala
index c8d9abda..d8a282de 100644
--- a/scalanativelib/src/mill/scalanativelib/ScalaNativeModule.scala
+++ b/scalanativelib/src/mill/scalanativelib/ScalaNativeModule.scala
@@ -3,7 +3,6 @@ package scalanativelib
import java.net.URLClassLoader
-import ammonite.ops.Path
import coursier.Cache
import coursier.maven.MavenRepository
import mill.define.{Target, Task}
@@ -71,7 +70,7 @@ trait ScalaNativeModule extends ScalaModule { outer =>
val workerKey = "MILL_SCALANATIVE_WORKER_" + scalaNativeBinaryVersion().replace('.', '_').replace('-', '_')
val workerPath = sys.props(workerKey)
if (workerPath != null)
- Result.Success(Agg(workerPath.split(',').map(p => PathRef(Path(p), quick = true)): _*))
+ Result.Success(Agg(workerPath.split(',').map(p => PathRef(os.Path(p), quick = true)): _*))
else
Lib.resolveDependencies(
Seq(Cache.ivy2Local, MavenRepository("https://repo1.maven.org/maven2")),
diff --git a/scalanativelib/src/mill/scalanativelib/ScalaNativeWorkerApi.scala b/scalanativelib/src/mill/scalanativelib/ScalaNativeWorkerApi.scala
index 05c3f7d7..be834e89 100644
--- a/scalanativelib/src/mill/scalanativelib/ScalaNativeWorkerApi.scala
+++ b/scalanativelib/src/mill/scalanativelib/ScalaNativeWorkerApi.scala
@@ -3,7 +3,6 @@ package mill.scalanativelib
import java.io.File
import java.net.URLClassLoader
-import ammonite.ops.Path
import mill.define.{Discover, Worker}
import mill.{Agg, T}
import sbt.testing.Framework
@@ -12,8 +11,8 @@ import sbt.testing.Framework
class ScalaNativeWorker {
private var scalaInstanceCache = Option.empty[(Long, ScalaNativeWorkerApi)]
- def impl(toolsClasspath: Agg[Path]): ScalaNativeWorkerApi = {
- val classloaderSig = toolsClasspath.map(p => p.toString().hashCode + p.mtime.toMillis).sum
+ def impl(toolsClasspath: Agg[os.Path]): ScalaNativeWorkerApi = {
+ val classloaderSig = toolsClasspath.map(p => p.toString().hashCode + os.mtime(p)).sum
scalaInstanceCache match {
case Some((sig, bridge)) if sig == classloaderSig => bridge
case _ =>
@@ -44,18 +43,18 @@ class ScalaNativeWorker {
case class NativeConfig(config: Any)
trait ScalaNativeWorkerApi {
- def discoverClang: Path
- def discoverClangPP: Path
- def discoverTarget(clang: Path, workDir: Path): String
+ 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: Path,
+ def config(nativeLibJar: os.Path,
mainClass: String,
- classpath: Seq[Path],
- nativeWorkdir: Path,
- nativeClang: Path,
- nativeClangPP: Path,
+ classpath: Seq[os.Path],
+ nativeWorkdir: os.Path,
+ nativeClang: os.Path,
+ nativeClangPP: os.Path,
nativeTarget: String,
nativeCompileOptions: Seq[String],
nativeLinkingOptions: Seq[String],
@@ -65,7 +64,7 @@ trait ScalaNativeWorkerApi {
logLevel: NativeLogLevel): NativeConfig
def defaultGarbageCollector: String
- def nativeLink(nativeConfig: NativeConfig, outPath: Path): Path
+ def nativeLink(nativeConfig: NativeConfig, outPath: os.Path): os.Path
def newScalaNativeFrameWork(framework: Framework, id: Int, testBinary: File,
logLevel: NativeLogLevel, envVars: Map[String, String]): Framework
diff --git a/scalanativelib/test/src/mill/scalanativelib/HelloNativeWorldTests.scala b/scalanativelib/test/src/mill/scalanativelib/HelloNativeWorldTests.scala
index 4c67b98f..37fbfc80 100644
--- a/scalanativelib/test/src/mill/scalanativelib/HelloNativeWorldTests.scala
+++ b/scalanativelib/test/src/mill/scalanativelib/HelloNativeWorldTests.scala
@@ -2,7 +2,6 @@ package mill.scalanativelib
import java.util.jar.JarFile
-import ammonite.ops._
import mill._
import mill.define.Discover
import mill.eval.{Evaluator, Result}
@@ -73,7 +72,7 @@ object HelloNativeWorldTests extends TestSuite {
override lazy val millDiscover = Discover[this.type]
}
- val millSourcePath = pwd / 'scalanativelib / 'test / 'resources / "hello-native-world"
+ val millSourcePath = os.pwd / 'scalanativelib / 'test / 'resources / "hello-native-world"
val helloWorldEvaluator = TestEvaluator.static(HelloNativeWorld)
@@ -90,7 +89,7 @@ object HelloNativeWorldTests extends TestSuite {
helloWorldEvaluator(HelloNativeWorld.helloNativeWorld(scalaVersion, scalaNativeVersion, mode).compile)
val outPath = result.classes.path
- val outputFiles = ls.rec(outPath).filter(_.isFile)
+ val outputFiles = os.walk(outPath).filter(os.isFile)
val expectedClassfiles = compileClassfiles(outPath / 'hello)
assert(
outputFiles.toSet == expectedClassfiles,
@@ -185,7 +184,7 @@ object HelloNativeWorldTests extends TestSuite {
helloWorldEvaluator.outPath,
task.ctx.segments
)
- val log = read(paths.log)
+ val log = os.read(paths.log)
assert(
evalCount > 0,
log.contains("Scala Native")
@@ -198,7 +197,7 @@ object HelloNativeWorldTests extends TestSuite {
}
}
- def compileClassfiles(parentDir: Path) = Set(
+ def compileClassfiles(parentDir: os.Path) = Set(
parentDir / "ArgsParser$.class",
parentDir / "ArgsParser$.nir",
parentDir / "ArgsParser.class",
@@ -210,8 +209,8 @@ object HelloNativeWorldTests extends TestSuite {
)
def prepareWorkspace(): Unit = {
- rm(workspacePath)
- mkdir(workspacePath / up)
- cp(millSourcePath, workspacePath)
+ os.remove.all(workspacePath)
+ os.makeDir.all(workspacePath / os.up)
+ os.copy(millSourcePath, workspacePath)
}
}
diff --git a/scalanativelib/worker/0.3/src/mill/scalanativelib/worker/ScalaNativeWorkerImpl.scala b/scalanativelib/worker/0.3/src/mill/scalanativelib/worker/ScalaNativeWorkerImpl.scala
index 7e93fbd4..8c24a39e 100644
--- a/scalanativelib/worker/0.3/src/mill/scalanativelib/worker/ScalaNativeWorkerImpl.scala
+++ b/scalanativelib/worker/0.3/src/mill/scalanativelib/worker/ScalaNativeWorkerImpl.scala
@@ -4,7 +4,6 @@ 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
@@ -19,19 +18,19 @@ class ScalaNativeWorkerImpl extends mill.scalanativelib.ScalaNativeWorkerApi {
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 discoverClang: os.Path = os.Path(Discover.clang())
+ def discoverClangPP: os.Path = os.Path(Discover.clangpp())
+ def discoverTarget(clang: os.Path, workdir: os.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,
+ def config(nativeLibJar: os.Path,
mainClass: String,
- classpath: Seq[Path],
- nativeWorkdir: Path,
- nativeClang: Path,
- nativeClangPP: Path,
+ classpath: Seq[os.Path],
+ nativeWorkdir: os.Path,
+ nativeClang: os.Path,
+ nativeClangPP: os.Path,
nativeTarget: String,
nativeCompileOptions: Seq[String],
nativeLinkingOptions: Seq[String],
@@ -60,7 +59,7 @@ class ScalaNativeWorkerImpl extends mill.scalanativelib.ScalaNativeWorkerApi {
NativeConfig(config)
}
- def nativeLink(nativeConfig: NativeConfig, outPath: Path): Path = {
+ def nativeLink(nativeConfig: NativeConfig, outPath: os.Path): os.Path = {
val config = nativeConfig.config.asInstanceOf[Config]
Build.build(config, outPath.toNIO)
outPath