diff options
Diffstat (limited to 'scalalib')
17 files changed, 171 insertions, 165 deletions
diff --git a/scalalib/api/src/mill/scalalib/api/ZincWorkerApi.scala b/scalalib/api/src/mill/scalalib/api/ZincWorkerApi.scala new file mode 100644 index 00000000..c5230ec5 --- /dev/null +++ b/scalalib/api/src/mill/scalalib/api/ZincWorkerApi.scala @@ -0,0 +1,76 @@ +package mill.scalalib.api + +import mill.api.Loose.Agg +import mill.api.PathRef +import mill.api.JsonFormatters._ + +trait ZincWorkerApi { + /** Compile a Java-only project */ + def compileJava(upstreamCompileOutput: Seq[CompilationResult], + sources: Agg[os.Path], + compileClasspath: Agg[os.Path], + javacOptions: Seq[String]) + (implicit ctx: mill.api.Ctx): mill.api.Result[CompilationResult] + + /** Compile a mixed Scala/Java or Scala-only project */ + def compileMixed(upstreamCompileOutput: Seq[CompilationResult], + sources: Agg[os.Path], + compileClasspath: Agg[os.Path], + javacOptions: Seq[String], + scalaVersion: String, + scalacOptions: Seq[String], + compilerBridgeSources: os.Path, + compilerClasspath: Agg[os.Path], + scalacPluginClasspath: Agg[os.Path]) + (implicit ctx: mill.api.Ctx): mill.api.Result[CompilationResult] + + def discoverMainClasses(compilationResult: CompilationResult) + (implicit ctx: mill.api.Ctx): Seq[String] + + def docJar(scalaVersion: String, + compilerBridgeSources: os.Path, + compilerClasspath: Agg[os.Path], + scalacPluginClasspath: Agg[os.Path], + args: Seq[String]) + (implicit ctx: mill.api.Ctx): Boolean +} + + +object CompilationResult { + implicit val jsonFormatter: upickle.default.ReadWriter[CompilationResult] = upickle.default.macroRW +} + +// analysisFile is represented by os.Path, so we won't break caches after file changes +case class CompilationResult(analysisFile: os.Path, classes: PathRef) + +object Util{ + def isDotty(scalaVersion: String) = + scalaVersion.startsWith("0.") + + + def grepJar(classPath: Agg[os.Path], name: String, version: String, sources: Boolean = false) = { + val suffix = if (sources) "-sources" else "" + val mavenStylePath = s"$name-$version$suffix.jar" + val ivyStylePath = { + val dir = if (sources) "srcs" else "jars" + s"$version/$dir/$name$suffix.jar" + } + + classPath + .find(p => p.toString.endsWith(mavenStylePath) || p.toString.endsWith(ivyStylePath)) + .getOrElse(throw new Exception(s"Cannot find $mavenStylePath or $ivyStylePath")) + } + + private val ReleaseVersion = raw"""(\d+)\.(\d+)\.(\d+)""".r + private val MinorSnapshotVersion = raw"""(\d+)\.(\d+)\.([1-9]\d*)-SNAPSHOT""".r + private val DottyVersion = raw"""0\.(\d+)\.(\d+).*""".r + + def scalaBinaryVersion(scalaVersion: String) = { + scalaVersion match { + case ReleaseVersion(major, minor, _) => s"$major.$minor" + case MinorSnapshotVersion(major, minor, _) => s"$major.$minor" + case DottyVersion(minor, _) => s"0.$minor" + case _ => scalaVersion + } + } +}
\ No newline at end of file diff --git a/scalalib/src/mill/scalalib/Dep.scala b/scalalib/src/mill/scalalib/Dep.scala index b419462c..714fa21e 100644 --- a/scalalib/src/mill/scalalib/Dep.scala +++ b/scalalib/src/mill/scalalib/Dep.scala @@ -5,7 +5,7 @@ import upickle.default.{macroRW, ReadWriter => RW} import CrossVersion._ case class Dep(dep: coursier.Dependency, cross: CrossVersion, force: Boolean) { - import Dep.isDotty + import mill.scalalib.api.Util.isDotty def artifactName(binaryVersion: String, fullVersion: String, platformSuffix: String) = { val suffix = cross.suffixString(binaryVersion, fullVersion, platformSuffix) @@ -51,9 +51,6 @@ object Dep { val DefaultConfiguration = "default(compile)" - def isDotty(scalaVersion: String) = - scalaVersion.startsWith("0.") - implicit def parse(signature: String): Dep = { val parts = signature.split(';') val module = parts.head diff --git a/scalalib/src/mill/scalalib/GenIdeaImpl.scala b/scalalib/src/mill/scalalib/GenIdeaImpl.scala index 87b039df..2d76d804 100644 --- a/scalalib/src/mill/scalalib/GenIdeaImpl.scala +++ b/scalalib/src/mill/scalalib/GenIdeaImpl.scala @@ -4,7 +4,7 @@ import ammonite.runtime.SpecialClassLoader import coursier.{Cache, CoursierPaths, Repository} import mill.define._ import mill.eval.{Evaluator, PathRef, Result} -import mill.util.Ctx.{Home, Log} +import mill.api.Ctx.{Home, Log} import mill.util.Strict.Agg import mill.util.{Loose, Strict} import mill.{T, scalalib} diff --git a/scalalib/src/mill/scalalib/JavaModule.scala b/scalalib/src/mill/scalalib/JavaModule.scala index 5cd9b600..78be8893 100644 --- a/scalalib/src/mill/scalalib/JavaModule.scala +++ b/scalalib/src/mill/scalalib/JavaModule.scala @@ -209,7 +209,7 @@ trait JavaModule extends mill.Module with TaskModule { outer => /** * Compiles the current module to generate compiled classfiles/bytecode */ - def compile: T[CompilationResult] = T.persistent{ + def compile: T[mill.scalalib.api.CompilationResult] = T.persistent{ zincWorker.worker().compileJava( upstreamCompileOutput(), allSourceFiles().map(_.path), diff --git a/scalalib/src/mill/scalalib/Lib.scala b/scalalib/src/mill/scalalib/Lib.scala index 80723637..b8b253bd 100644 --- a/scalalib/src/mill/scalalib/Lib.scala +++ b/scalalib/src/mill/scalalib/Lib.scala @@ -9,49 +9,17 @@ import javax.tools.ToolProvider import ammonite.util.Util import coursier.{Cache, Dependency, Fetch, Repository, Resolution} -import Dep.isDotty +import mill.scalalib.api.Util.isDotty import mill.Agg import mill.eval.{PathRef, Result} import mill.modules.Jvm -import mill.util.Ctx +import mill.api.Ctx import sbt.testing._ import scala.collection.mutable -object CompilationResult { - implicit val jsonFormatter: upickle.default.ReadWriter[CompilationResult] = upickle.default.macroRW -} - -// analysisFile is represented by os.Path, so we won't break caches after file changes -case class CompilationResult(analysisFile: os.Path, classes: PathRef) object Lib{ - private val ReleaseVersion = raw"""(\d+)\.(\d+)\.(\d+)""".r - private val MinorSnapshotVersion = raw"""(\d+)\.(\d+)\.([1-9]\d*)-SNAPSHOT""".r - private val DottyVersion = raw"""0\.(\d+)\.(\d+).*""".r - - def scalaBinaryVersion(scalaVersion: String) = { - scalaVersion match { - case ReleaseVersion(major, minor, _) => s"$major.$minor" - case MinorSnapshotVersion(major, minor, _) => s"$major.$minor" - case DottyVersion(minor, _) => s"0.$minor" - case _ => scalaVersion - } - } - - def grepJar(classPath: Agg[os.Path], name: String, version: String, sources: Boolean = false) = { - val suffix = if (sources) "-sources" else "" - val mavenStylePath = s"$name-$version$suffix.jar" - val ivyStylePath = { - val dir = if (sources) "srcs" else "jars" - s"$version/$dir/$name$suffix.jar" - } - - classPath - .find(p => p.toString.endsWith(mavenStylePath) || p.toString.endsWith(ivyStylePath)) - .getOrElse(throw new Exception(s"Cannot find $mavenStylePath or $ivyStylePath")) - } - def depToDependencyJava(dep: Dep, platformSuffix: String = ""): Dependency = { assert(dep.cross.isConstant, s"Not a Java dependency: $dep") depToDependency(dep, "", platformSuffix) @@ -59,7 +27,7 @@ object Lib{ def depToDependency(dep: Dep, scalaVersion: String, platformSuffix: String = ""): Dependency = dep.toDependency( - binaryVersion = scalaBinaryVersion(scalaVersion), + binaryVersion = mill.scalalib.api.Util.scalaBinaryVersion(scalaVersion), fullVersion = scalaVersion, platformSuffix = platformSuffix ) @@ -98,7 +66,7 @@ object Lib{ ) } def scalaCompilerIvyDeps(scalaOrganization: String, scalaVersion: String) = - if (isDotty(scalaVersion)) + if (mill.scalalib.api.Util.isDotty(scalaVersion)) Agg(ivy"$scalaOrganization::dotty-compiler:$scalaVersion".forceVersion()) else Agg( diff --git a/scalalib/src/mill/scalalib/PublishModule.scala b/scalalib/src/mill/scalalib/PublishModule.scala index a3d0856f..588781f4 100644 --- a/scalalib/src/mill/scalalib/PublishModule.scala +++ b/scalalib/src/mill/scalalib/PublishModule.scala @@ -2,7 +2,7 @@ package mill package scalalib import mill.define.{ExternalModule, Task} -import mill.eval.PathRef +import mill.api.PathRef import mill.scalalib.publish.{Artifact, SonatypePublisher} /** diff --git a/scalalib/src/mill/scalalib/ScalaModule.scala b/scalalib/src/mill/scalalib/ScalaModule.scala index 38a5a8ea..9d669bf4 100644 --- a/scalalib/src/mill/scalalib/ScalaModule.scala +++ b/scalalib/src/mill/scalalib/ScalaModule.scala @@ -6,10 +6,10 @@ import mill.define.{Target, Task, TaskModule} import mill.eval.{PathRef, Result} import mill.modules.Jvm import mill.modules.Jvm.createJar -import Dep.isDotty +import mill.scalalib.api.Util.isDotty import Lib._ import mill.util.Loose.Agg -import mill.util.DummyInputStream +import mill.api.DummyInputStream /** * Core configuration required to compile a single Scala compilation target @@ -60,7 +60,7 @@ trait ScalaModule extends JavaModule { outer => publish.Artifact.fromDep( _: Dep, scalaVersion(), - Lib.scalaBinaryVersion(scalaVersion()), + mill.scalalib.api.Util.scalaBinaryVersion(scalaVersion()), platformSuffix() ) } @@ -84,7 +84,7 @@ trait ScalaModule extends JavaModule { outer => def scalaCompilerBridgeSources = T { val (scalaVersion0, scalaBinaryVersion0) = scalaVersion() match { case Milestone213(_, _) => ("2.13.0-M2", "2.13.0-M2") - case _ => (scalaVersion(), Lib.scalaBinaryVersion(scalaVersion())) + case _ => (scalaVersion(), mill.scalalib.api.Util.scalaBinaryVersion(scalaVersion())) } val (bridgeDep, bridgeName, bridgeVersion) = @@ -106,7 +106,7 @@ trait ScalaModule extends JavaModule { outer => Seq(bridgeDep), sources = true ).map(deps => - grepJar(deps.map(_.path), bridgeName, bridgeVersion, sources = true) + mill.scalalib.api.Util.grepJar(deps.map(_.path), bridgeName, bridgeVersion, sources = true) ) } @@ -152,7 +152,7 @@ trait ScalaModule extends JavaModule { outer => resolveDeps(T.task{runIvyDeps() ++ scalaLibraryIvyDeps() ++ transitiveIvyDeps()})() } - override def compile: T[CompilationResult] = T.persistent{ + override def compile: T[mill.scalalib.api.CompilationResult] = T.persistent{ zincWorker.worker().compileMixed( upstreamCompileOutput(), allSourceFiles().map(_.path), @@ -262,7 +262,7 @@ trait ScalaModule extends JavaModule { outer => */ def artifactScalaVersion: T[String] = T { if (crossFullScalaVersion()) scalaVersion() - else Lib.scalaBinaryVersion(scalaVersion()) + else mill.scalalib.api.Util.scalaBinaryVersion(scalaVersion()) } /** diff --git a/scalalib/src/mill/scalalib/ZincWorkerApi.scala b/scalalib/src/mill/scalalib/ZincWorkerApi.scala deleted file mode 100644 index dbcaa6da..00000000 --- a/scalalib/src/mill/scalalib/ZincWorkerApi.scala +++ /dev/null @@ -1,87 +0,0 @@ -package mill.scalalib - -import coursier.Cache -import coursier.maven.MavenRepository -import mill.Agg -import mill.T -import mill.define.{Discover, Worker} -import mill.scalalib.Lib.resolveDependencies -import mill.util.Loose -import mill.util.JsonFormatters._ - -object ZincWorkerModule extends mill.define.ExternalModule with ZincWorkerModule{ - lazy val millDiscover = Discover[this.type] -} -trait ZincWorkerModule extends mill.Module{ - def repositories = Seq( - Cache.ivy2Local, - MavenRepository("https://repo1.maven.org/maven2"), - MavenRepository("https://oss.sonatype.org/content/repositories/releases") - ) - - def classpath = T{ - mill.modules.Util.millProjectModule("MILL_SCALA_WORKER", "mill-scalalib-worker", repositories) - } - - def scalalibClasspath = T{ - mill.modules.Util.millProjectModule("MILL_SCALA_LIB", "mill-scalalib", repositories) - } - - def backgroundWrapperClasspath = T{ - mill.modules.Util.millProjectModule( - "MILL_BACKGROUNDWRAPPER", "mill-scalalib-backgroundwrapper", - repositories, artifactSuffix = "" - ) - } - - def worker: Worker[ZincWorkerApi] = T.worker{ - val cl = mill.util.ClassLoader.create( - classpath().map(_.path.toNIO.toUri.toURL).toVector, - getClass.getClassLoader - ) - val cls = cl.loadClass("mill.scalalib.worker.ZincWorkerImpl") - val instance = cls.getConstructor(classOf[mill.util.Ctx], classOf[Array[String]]) - .newInstance(T.ctx(), compilerInterfaceClasspath().map(_.path.toString).toArray[String]) - instance.asInstanceOf[ZincWorkerApi] - } - - def compilerInterfaceClasspath = T{ - resolveDependencies( - repositories, - Lib.depToDependency(_, "2.12.4", ""), - Seq(ivy"org.scala-sbt:compiler-interface:${Versions.zinc}") - ) - } - -} - -trait ZincWorkerApi { - /** Compile a Java-only project */ - def compileJava(upstreamCompileOutput: Seq[CompilationResult], - sources: Agg[os.Path], - compileClasspath: Agg[os.Path], - javacOptions: Seq[String]) - (implicit ctx: mill.util.Ctx): mill.eval.Result[CompilationResult] - - /** Compile a mixed Scala/Java or Scala-only project */ - def compileMixed(upstreamCompileOutput: Seq[CompilationResult], - sources: Agg[os.Path], - compileClasspath: Agg[os.Path], - javacOptions: Seq[String], - scalaVersion: String, - scalacOptions: Seq[String], - compilerBridgeSources: os.Path, - compilerClasspath: Agg[os.Path], - scalacPluginClasspath: Agg[os.Path]) - (implicit ctx: mill.util.Ctx): mill.eval.Result[CompilationResult] - - def discoverMainClasses(compilationResult: CompilationResult) - (implicit ctx: mill.util.Ctx): Seq[String] - - def docJar(scalaVersion: String, - compilerBridgeSources: os.Path, - compilerClasspath: Agg[os.Path], - scalacPluginClasspath: Agg[os.Path], - args: Seq[String]) - (implicit ctx: mill.util.Ctx): Boolean -} diff --git a/scalalib/src/mill/scalalib/ZincWorkerModule.scala b/scalalib/src/mill/scalalib/ZincWorkerModule.scala new file mode 100644 index 00000000..5ca824ce --- /dev/null +++ b/scalalib/src/mill/scalalib/ZincWorkerModule.scala @@ -0,0 +1,56 @@ +package mill.scalalib + +import coursier.Cache +import coursier.maven.MavenRepository +import mill.Agg +import mill.T +import mill.define.{Discover, Worker} +import mill.scalalib.Lib.resolveDependencies +import mill.util.Loose +import mill.util.JsonFormatters._ + +object ZincWorkerModule extends mill.define.ExternalModule with ZincWorkerModule{ + lazy val millDiscover = Discover[this.type] +} +trait ZincWorkerModule extends mill.Module{ + def repositories = Seq( + Cache.ivy2Local, + MavenRepository("https://repo1.maven.org/maven2"), + MavenRepository("https://oss.sonatype.org/content/repositories/releases") + ) + + def classpath = T{ + mill.modules.Util.millProjectModule("MILL_SCALA_WORKER", "mill-scalalib-worker", repositories) + } + + def scalalibClasspath = T{ + mill.modules.Util.millProjectModule("MILL_SCALA_LIB", "mill-scalalib", repositories) + } + + def backgroundWrapperClasspath = T{ + mill.modules.Util.millProjectModule( + "MILL_BACKGROUNDWRAPPER", "mill-scalalib-backgroundwrapper", + repositories, artifactSuffix = "" + ) + } + + def worker: Worker[mill.scalalib.api.ZincWorkerApi] = T.worker{ + val cl = mill.api.ClassLoader.create( + classpath().map(_.path.toNIO.toUri.toURL).toVector, + getClass.getClassLoader + ) + val cls = cl.loadClass("mill.scalalib.worker.ZincWorkerImpl") + val instance = cls.getConstructor(classOf[mill.api.Ctx], classOf[Array[String]]) + .newInstance(T.ctx(), compilerInterfaceClasspath().map(_.path.toString).toArray[String]) + instance.asInstanceOf[mill.scalalib.api.ZincWorkerApi] + } + + def compilerInterfaceClasspath = T{ + resolveDependencies( + repositories, + Lib.depToDependency(_, "2.12.4", ""), + Seq(ivy"org.scala-sbt:compiler-interface:${Versions.zinc}") + ) + } + +} diff --git a/scalalib/src/mill/scalalib/dependency/DependencyUpdatesImpl.scala b/scalalib/src/mill/scalalib/dependency/DependencyUpdatesImpl.scala index dc548c88..3bb94202 100644 --- a/scalalib/src/mill/scalalib/dependency/DependencyUpdatesImpl.scala +++ b/scalalib/src/mill/scalalib/dependency/DependencyUpdatesImpl.scala @@ -7,7 +7,7 @@ import mill.scalalib.dependency.updates.{ UpdatesFinder } import mill.scalalib.dependency.versions.VersionsFinder -import mill.util.Ctx.{Home, Log} +import mill.api.Ctx.{Home, Log} object DependencyUpdatesImpl { diff --git a/scalalib/src/mill/scalalib/dependency/versions/VersionsFinder.scala b/scalalib/src/mill/scalalib/dependency/versions/VersionsFinder.scala index b1033688..a831ffc3 100644 --- a/scalalib/src/mill/scalalib/dependency/versions/VersionsFinder.scala +++ b/scalalib/src/mill/scalalib/dependency/versions/VersionsFinder.scala @@ -4,7 +4,7 @@ import mill.define.{BaseModule, Task} import mill.eval.Evaluator import mill.scalalib.dependency.metadata.MetadataLoaderFactory import mill.scalalib.{Dep, JavaModule, Lib} -import mill.util.Ctx.{Home, Log} +import mill.api.Ctx.{Home, Log} import mill.util.{Loose, Strict} private[dependency] object VersionsFinder { diff --git a/scalalib/src/mill/scalalib/publish/SonatypePublisher.scala b/scalalib/src/mill/scalalib/publish/SonatypePublisher.scala index 5e596618..1843943b 100644 --- a/scalalib/src/mill/scalalib/publish/SonatypePublisher.scala +++ b/scalalib/src/mill/scalalib/publish/SonatypePublisher.scala @@ -3,7 +3,7 @@ package mill.scalalib.publish import java.math.BigInteger import java.security.MessageDigest -import mill.util.Logger +import mill.api.Logger import scalaj.http.HttpResponse diff --git a/scalalib/src/mill/scalalib/scalafmt/ScalafmtWorker.scala b/scalalib/src/mill/scalalib/scalafmt/ScalafmtWorker.scala index d6992fc8..47d8375f 100644 --- a/scalalib/src/mill/scalalib/scalafmt/ScalafmtWorker.scala +++ b/scalalib/src/mill/scalalib/scalafmt/ScalafmtWorker.scala @@ -3,7 +3,7 @@ package mill.scalalib.scalafmt import mill._ import mill.define.{Discover, ExternalModule, Worker} import mill.modules.Jvm -import mill.util.Ctx +import mill.api.Ctx import scala.collection.mutable diff --git a/scalalib/test/src/mill/scalalib/HelloJavaTests.scala b/scalalib/test/src/mill/scalalib/HelloJavaTests.scala index ff0de5a6..5b7b93b2 100644 --- a/scalalib/test/src/mill/scalalib/HelloJavaTests.scala +++ b/scalalib/test/src/mill/scalalib/HelloJavaTests.scala @@ -2,7 +2,7 @@ package mill package scalalib -import mill.eval.Result +import mill.api.Result import mill.util.{TestEvaluator, TestUtil} import utest._ import utest.framework.TestPath diff --git a/scalalib/test/src/mill/scalalib/HelloWorldTests.scala b/scalalib/test/src/mill/scalalib/HelloWorldTests.scala index 67c4b433..da08f056 100644 --- a/scalalib/test/src/mill/scalalib/HelloWorldTests.scala +++ b/scalalib/test/src/mill/scalalib/HelloWorldTests.scala @@ -5,7 +5,7 @@ import java.util.jar.JarFile import mill._ import mill.define.Target -import mill.eval.Result.Exception +import mill.api.Result.Exception import mill.eval.{Evaluator, Result} import mill.modules.Assembly import mill.scalalib.publish._ diff --git a/scalalib/test/src/mill/scalalib/ResolveDepsTests.scala b/scalalib/test/src/mill/scalalib/ResolveDepsTests.scala index 4240478c..78361625 100644 --- a/scalalib/test/src/mill/scalalib/ResolveDepsTests.scala +++ b/scalalib/test/src/mill/scalalib/ResolveDepsTests.scala @@ -2,7 +2,7 @@ package mill.scalalib import coursier.Cache import coursier.maven.MavenRepository -import mill.eval.Result.{Failure, Success} +import mill.api.Result.{Failure, Success} import mill.eval.{PathRef, Result} import mill.util.Loose.Agg import utest._ diff --git a/scalalib/worker/src/mill/scalalib/worker/ZincWorkerImpl.scala b/scalalib/worker/src/mill/scalalib/worker/ZincWorkerImpl.scala index d494760e..705d4682 100644 --- a/scalalib/worker/src/mill/scalalib/worker/ZincWorkerImpl.scala +++ b/scalalib/worker/src/mill/scalalib/worker/ZincWorkerImpl.scala @@ -3,18 +3,14 @@ package mill.scalalib.worker import java.io.File import java.util.Optional -import ammonite.util.Colors -import mill.Agg -import mill.eval.PathRef -import mill.scalalib.{CompilationResult, Lib, TestRunner} +import mill.api.Loose.Agg +import mill.api.PathRef import xsbti.compile.{CompilerCache => _, FileAnalysisStore => _, ScalaInstance => _, _} -import mill.scalalib.Dep.isDotty -import mill.scalalib.Lib.{grepJar, scalaBinaryVersion} -import mill.util.{Ctx, PrintLogger} +import mill.scalalib.api.Util.{isDotty, grepJar, scalaBinaryVersion} import sbt.internal.inc._ import sbt.internal.util.{ConsoleOut, MainAppender} import sbt.util.LogExchange - +import mill.scalalib.api.CompilationResult case class MockedLookup(am: File => Optional[CompileAnalysis]) extends PerClasspathEntryLookup { override def analysis(classpathEntry: File): Optional[CompileAnalysis] = am(classpathEntry) @@ -23,8 +19,8 @@ case class MockedLookup(am: File => Optional[CompileAnalysis]) extends PerClassp Locate.definesClass(classpathEntry) } -class ZincWorkerImpl(ctx0: mill.util.Ctx, - compilerBridgeClasspath: Array[String]) extends mill.scalalib.ZincWorkerApi{ +class ZincWorkerImpl(ctx0: mill.api.Ctx, + compilerBridgeClasspath: Array[String]) extends mill.scalalib.api.ZincWorkerApi{ private val ic = new sbt.internal.inc.IncrementalCompilerImpl() val javaOnlyCompilers = { // Keep the classpath as written by the user @@ -53,7 +49,7 @@ class ZincWorkerImpl(ctx0: mill.util.Ctx, compilerClasspath: Agg[os.Path], scalacPluginClasspath: Agg[os.Path], args: Seq[String]) - (implicit ctx: mill.util.Ctx): Boolean = { + (implicit ctx: mill.api.Ctx): Boolean = { val compilers: Compilers = prepareCompilers( scalaVersion, compilerBridgeSources, @@ -79,8 +75,8 @@ class ZincWorkerImpl(ctx0: mill.util.Ctx, os.makeDir.all(workingDir) os.makeDir.all(compiledDest) - val sourceFolder = mill.modules.Util.unpackZip(sourcesJar)(workingDir) - val classloader = mill.util.ClassLoader.create(compilerJars.map(_.toURI.toURL), null)(ctx0) + val sourceFolder = mill.api.IO.unpackZip(sourcesJar)(workingDir) + val classloader = mill.api.ClassLoader.create(compilerJars.map(_.toURI.toURL), null)(ctx0) val compilerMain = classloader.loadClass( if (isDotty(scalaVersion)) "dotty.tools.dotc.Main" @@ -100,7 +96,7 @@ class ZincWorkerImpl(ctx0: mill.util.Ctx, - def discoverMainClasses(compilationResult: CompilationResult)(implicit ctx: mill.util.Ctx): Seq[String] = { + def discoverMainClasses(compilationResult: CompilationResult)(implicit ctx: mill.api.Ctx): Seq[String] = { def toScala[A](o: Optional[A]): Option[A] = if (o.isPresent) Some(o.get) else None toScala(FileAnalysisStore.binary(compilationResult.analysisFile.toIO).get()) @@ -118,7 +114,7 @@ class ZincWorkerImpl(ctx0: mill.util.Ctx, sources: Agg[os.Path], compileClasspath: Agg[os.Path], javacOptions: Seq[String]) - (implicit ctx: mill.util.Ctx): mill.eval.Result[CompilationResult] = { + (implicit ctx: mill.api.Ctx): mill.api.Result[CompilationResult] = { compileInternal( upstreamCompileOutput, sources, @@ -138,7 +134,7 @@ class ZincWorkerImpl(ctx0: mill.util.Ctx, compilerBridgeSources: os.Path, compilerClasspath: Agg[os.Path], scalacPluginClasspath: Agg[os.Path]) - (implicit ctx: mill.util.Ctx): mill.eval.Result[CompilationResult] = { + (implicit ctx: mill.api.Ctx): mill.api.Result[CompilationResult] = { val compilers: Compilers = prepareCompilers( scalaVersion, compilerBridgeSources, @@ -160,7 +156,7 @@ class ZincWorkerImpl(ctx0: mill.util.Ctx, compilerBridgeSources: os.Path, compilerClasspath: Agg[os.Path], scalacPluginClasspath: Agg[os.Path]) - (implicit ctx: mill.util.Ctx)= { + (implicit ctx: mill.api.Ctx)= { val combinedCompilerClasspath = compilerClasspath ++ scalacPluginClasspath val combinedCompilerJars = combinedCompilerClasspath.toArray.map(_.toIO) @@ -185,7 +181,7 @@ class ZincWorkerImpl(ctx0: mill.util.Ctx, "scala-compiler" val scalaInstance = new ScalaInstance( version = scalaVersion, - loader = mill.util.ClassLoader.create(combinedCompilerJars.map(_.toURI.toURL), null), + loader = mill.api.ClassLoader.create(combinedCompilerJars.map(_.toURI.toURL), null), libraryJar = grepJar(compilerClasspath, "scala-library", scalaVersion).toIO, compilerJar = grepJar(compilerClasspath, compilerName, scalaVersion).toIO, allJars = combinedCompilerJars, @@ -209,7 +205,7 @@ class ZincWorkerImpl(ctx0: mill.util.Ctx, javacOptions: Seq[String], scalacOptions: Seq[String], compilers: Compilers) - (implicit ctx: mill.util.Ctx): mill.eval.Result[CompilationResult] = { + (implicit ctx: mill.api.Ctx): mill.api.Result[CompilationResult] = { os.makeDir.all(ctx.dest) val logger = { @@ -282,7 +278,7 @@ class ZincWorkerImpl(ctx0: mill.util.Ctx, ) ) - mill.eval.Result.Success(CompilationResult(zincFile, PathRef(classesDir))) - }catch{case e: CompileFailed => mill.eval.Result.Failure(e.toString)} + mill.api.Result.Success(CompilationResult(zincFile, PathRef(classesDir))) + }catch{case e: CompileFailed => mill.api.Result.Failure(e.toString)} } } |