summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2018-12-19 12:07:08 +0800
committerLi Haoyi <haoyi.sg@gmail.com>2018-12-19 12:07:08 +0800
commit87169ce550a6451496fb805e135bb414f755c97b (patch)
tree09524274cb77b25d8554b1279a5a32810503e730
parent6d60c08d72b752322872cd804dc317345258c53d (diff)
downloadmill-87169ce550a6451496fb805e135bb414f755c97b.tar.gz
mill-87169ce550a6451496fb805e135bb414f755c97b.tar.bz2
mill-87169ce550a6451496fb805e135bb414f755c97b.zip
remove duplicate util/AggWrapper.scala file
-rw-r--r--ci/shared.sc2
-rw-r--r--contrib/scalapblib/src/ScalaPBModule.scala2
-rw-r--r--contrib/twirllib/src/TwirlModule.scala2
-rw-r--r--main/core/src/define/Graph.scala2
-rw-r--r--main/core/src/eval/Evaluator.scala2
-rw-r--r--main/core/src/util/AggWrapper.scala119
-rw-r--r--main/core/src/util/MultiBiMap.scala2
-rw-r--r--main/src/main/ReplApplyHandler.scala2
-rw-r--r--main/src/main/RunScript.scala2
-rw-r--r--main/src/modules/Jvm.scala2
-rw-r--r--main/src/modules/Util.scala5
-rw-r--r--main/src/package.scala4
-rw-r--r--main/test/resources/examples/javac/build.sc2
-rw-r--r--main/test/src/define/CacherTests.scala2
-rw-r--r--main/test/src/define/GraphTests.scala2
-rw-r--r--main/test/src/eval/EvaluationTests.scala2
-rw-r--r--main/test/src/eval/JavaCompileJarTests.scala7
-rw-r--r--main/test/src/util/TestEvaluator.scala2
-rw-r--r--main/test/src/util/TestUtil.scala2
-rw-r--r--scalajslib/src/ScalaJSModule.scala3
-rw-r--r--scalalib/src/GenIdeaImpl.scala4
-rw-r--r--scalalib/src/JavaModule.scala2
-rw-r--r--scalalib/src/MiscModule.scala2
-rw-r--r--scalalib/src/ScalaModule.scala2
-rw-r--r--scalalib/src/ZincWorkerModule.scala4
-rw-r--r--scalalib/src/dependency/versions/VersionsFinder.scala2
-rw-r--r--scalalib/src/publish/Ivy.scala2
-rw-r--r--scalalib/src/publish/Pom.scala2
-rw-r--r--scalalib/test/src/ResolveDepsTests.scala2
-rw-r--r--scalanativelib/src/ScalaNativeModule.scala2
30 files changed, 38 insertions, 154 deletions
diff --git a/ci/shared.sc b/ci/shared.sc
index 2f133486..a496fd1f 100644
--- a/ci/shared.sc
+++ b/ci/shared.sc
@@ -74,7 +74,7 @@ def generateEval(dir: Path) = {
s"""package mill.main
|import mill.eval.Evaluator
|import mill.define.Task
- |import mill.util.Strict.Agg
+ |import mill.api.Strict.Agg
|class EvalGenerated(evaluator: Evaluator) {
| type TT[+X] = Task[X]
| ${(1 to 22).map(generate).mkString("\n")}
diff --git a/contrib/scalapblib/src/ScalaPBModule.scala b/contrib/scalapblib/src/ScalaPBModule.scala
index db5c5c8b..57bfdd40 100644
--- a/contrib/scalapblib/src/ScalaPBModule.scala
+++ b/contrib/scalapblib/src/ScalaPBModule.scala
@@ -7,7 +7,7 @@ import mill.define.Sources
import mill.api.PathRef
import mill.scalalib.Lib.resolveDependencies
import mill.scalalib._
-import mill.util.Loose
+import mill.api.Loose
trait ScalaPBModule extends ScalaModule {
diff --git a/contrib/twirllib/src/TwirlModule.scala b/contrib/twirllib/src/TwirlModule.scala
index 328afc47..985765fc 100644
--- a/contrib/twirllib/src/TwirlModule.scala
+++ b/contrib/twirllib/src/TwirlModule.scala
@@ -6,7 +6,7 @@ import mill.define.Sources
import mill.api.PathRef
import mill.scalalib.Lib.resolveDependencies
import mill.scalalib._
-import mill.util.Loose
+import mill.api.Loose
import scala.io.Codec
import scala.util.Properties
diff --git a/main/core/src/define/Graph.scala b/main/core/src/define/Graph.scala
index 3119f2fb..5b29bd7b 100644
--- a/main/core/src/define/Graph.scala
+++ b/main/core/src/define/Graph.scala
@@ -2,7 +2,7 @@ package mill.define
import mill.eval.Tarjans
import mill.util.MultiBiMap
-import mill.util.Strict.Agg
+import mill.api.Strict.Agg
object Graph {
diff --git a/main/core/src/eval/Evaluator.scala b/main/core/src/eval/Evaluator.scala
index 8709064e..dbaf9433 100644
--- a/main/core/src/eval/Evaluator.scala
+++ b/main/core/src/eval/Evaluator.scala
@@ -10,7 +10,7 @@ import mill.define.{Ctx => _, _}
import mill.api.Result.OuterStack
import mill.util
import mill.util._
-import mill.util.Strict.Agg
+import mill.api.Strict.Agg
import scala.collection.mutable
import scala.util.control.NonFatal
diff --git a/main/core/src/util/AggWrapper.scala b/main/core/src/util/AggWrapper.scala
deleted file mode 100644
index 6c107875..00000000
--- a/main/core/src/util/AggWrapper.scala
+++ /dev/null
@@ -1,119 +0,0 @@
-package mill.util
-
-
-
-import scala.collection.mutable
-object Strict extends AggWrapper(true)
-object Loose extends AggWrapper(false)
-sealed class AggWrapper(strictUniqueness: Boolean){
- /**
- * A collection with enforced uniqueness, fast contains and deterministic
- * ordering. Raises an exception if a duplicate is found; call
- * `toSeq.distinct` if you explicitly want to make it swallow duplicates
- */
- trait Agg[V] extends TraversableOnce[V]{
- def contains(v: V): Boolean
- def items: Iterator[V]
- def indexed: IndexedSeq[V]
- def flatMap[T](f: V => TraversableOnce[T]): Agg[T]
- def map[T](f: V => T): Agg[T]
- def filter(f: V => Boolean): Agg[V]
- def withFilter(f: V => Boolean): Agg[V]
- def collect[T](f: PartialFunction[V, T]): Agg[T]
- def zipWithIndex: Agg[(V, Int)]
- def reverse: Agg[V]
- def zip[T](other: Agg[T]): Agg[(V, T)]
- def ++[T >: V](other: TraversableOnce[T]): Agg[T]
- def length: Int
- }
-
- object Agg{
- def empty[V]: Agg[V] = new Agg.Mutable[V]
- implicit def jsonFormat[T: upickle.default.ReadWriter]: upickle.default.ReadWriter[Agg[T]] =
- upickle.default.readwriter[Seq[T]].bimap[Agg[T]](
- _.toList,
- Agg.from(_)
- )
-
- def apply[V](items: V*) = from(items)
-
- implicit def from[V](items: TraversableOnce[V]): Agg[V] = {
- val set = new Agg.Mutable[V]()
- items.foreach(set.append)
- set
- }
-
-
- class Mutable[V]() extends Agg[V]{
-
- private[this] val set0 = mutable.LinkedHashSet.empty[V]
- def contains(v: V) = set0.contains(v)
- def append(v: V) = if (!contains(v)){
- set0.add(v)
-
- }else if (strictUniqueness){
- throw new Exception("Duplicated item inserted into OrderedSet: " + v)
- }
- def appendAll(vs: Seq[V]) = vs.foreach(append)
- def items = set0.iterator
- def indexed: IndexedSeq[V] = items.toIndexedSeq
- def set: collection.Set[V] = set0
-
- def map[T](f: V => T): Agg[T] = {
- val output = new Agg.Mutable[T]
- for(i <- items) output.append(f(i))
- output
- }
- def flatMap[T](f: V => TraversableOnce[T]): Agg[T] = {
- val output = new Agg.Mutable[T]
- for(i <- items) for(i0 <- f(i)) output.append(i0)
- output
- }
- def filter(f: V => Boolean): Agg[V] = {
- val output = new Agg.Mutable[V]
- for(i <- items) if (f(i)) output.append(i)
- output
- }
- def withFilter(f: V => Boolean): Agg[V] = filter(f)
-
- def collect[T](f: PartialFunction[V, T]) = this.filter(f.isDefinedAt).map(x => f(x))
-
- def zipWithIndex = {
- var i = 0
- this.map{ x =>
- i += 1
- (x, i-1)
- }
- }
-
- def reverse = Agg.from(indexed.reverseIterator)
-
- def zip[T](other: Agg[T]) = Agg.from(items.zip(other.items))
- def ++[T >: V](other: TraversableOnce[T]) = Agg.from(items ++ other)
- def length: Int = set0.size
-
- // Members declared in scala.collection.GenTraversableOnce
- def isTraversableAgain: Boolean = items.isTraversableAgain
- def toIterator: Iterator[V] = items.toIterator
- def toStream: Stream[V] = items.toStream
-
- // Members declared in scala.collection.TraversableOnce
- def copyToArray[B >: V](xs: Array[B], start: Int,len: Int): Unit = items.copyToArray(xs, start, len)
- def exists(p: V => Boolean): Boolean = items.exists(p)
- def find(p: V => Boolean): Option[V] = items.find(p)
- def forall(p: V => Boolean): Boolean = items.forall(p)
- def foreach[U](f: V => U): Unit = items.foreach(f)
- def hasDefiniteSize: Boolean = items.hasDefiniteSize
- def isEmpty: Boolean = items.isEmpty
- def seq: scala.collection.TraversableOnce[V] = items
- def toTraversable: Traversable[V] = items.toTraversable
-
- override def hashCode() = items.map(_.hashCode()).sum
- override def equals(other: Any) = other match{
- case s: Agg[_] => items.sameElements(s.items)
- case _ => super.equals(other)
- }
- override def toString = items.mkString("Agg(", ", ", ")")
- }
- }
-}
diff --git a/main/core/src/util/MultiBiMap.scala b/main/core/src/util/MultiBiMap.scala
index 73bb42c4..51ea63f2 100644
--- a/main/core/src/util/MultiBiMap.scala
+++ b/main/core/src/util/MultiBiMap.scala
@@ -1,7 +1,7 @@
package mill.util
import scala.collection.mutable
-import Strict.Agg
+import mill.api.Strict.Agg
/**
* A map from keys to collections of values: you can assign multiple values
diff --git a/main/src/main/ReplApplyHandler.scala b/main/src/main/ReplApplyHandler.scala
index a8e467d4..786a1409 100644
--- a/main/src/main/ReplApplyHandler.scala
+++ b/main/src/main/ReplApplyHandler.scala
@@ -6,7 +6,7 @@ import mill.define.Segment.Label
import mill.define._
import mill.eval.{Evaluator, Result}
-import mill.util.Strict.Agg
+import mill.api.Strict.Agg
import scala.collection.mutable
object ReplApplyHandler{
diff --git a/main/src/main/RunScript.scala b/main/src/main/RunScript.scala
index 47526631..b858c8b9 100644
--- a/main/src/main/RunScript.scala
+++ b/main/src/main/RunScript.scala
@@ -11,7 +11,7 @@ import mill.define._
import mill.eval.{Evaluator, PathRef, Result}
import mill.util.{EitherOps, ParseArgs, Watched}
import mill.api.Logger
-import mill.util.Strict.Agg
+import mill.api.Strict.Agg
import scala.collection.mutable
import scala.reflect.ClassTag
diff --git a/main/src/modules/Jvm.scala b/main/src/modules/Jvm.scala
index 1a51ed8b..e17631e3 100644
--- a/main/src/modules/Jvm.scala
+++ b/main/src/modules/Jvm.scala
@@ -15,7 +15,7 @@ import mill.main.client.InputPumper
import mill.eval.{PathRef, Result}
import mill.util.Ctx
import mill.api.IO
-import mill.util.Loose.Agg
+import mill.api.Loose.Agg
import scala.collection.mutable
import scala.collection.JavaConverters._
diff --git a/main/src/modules/Util.scala b/main/src/modules/Util.scala
index 2b98a304..029626fe 100644
--- a/main/src/modules/Util.scala
+++ b/main/src/modules/Util.scala
@@ -3,7 +3,8 @@ package mill.modules
import coursier.Repository
import mill.api.{PathRef, IO}
-import mill.util.{Ctx, Loose}
+import mill.util.Ctx
+import mill.api.Loose
object Util {
@@ -55,7 +56,7 @@ object Util {
val localPath = sys.props(key)
if (localPath != null) {
mill.api.Result.Success(
- Loose.Agg.from(localPath.split(',').map(p => PathRef(os.Path(p), quick = true)))
+ mill.api.Loose.Agg.from(localPath.split(',').map(p => PathRef(os.Path(p), quick = true)))
)
} else {
mill.modules.Jvm.resolveDependencies(
diff --git a/main/src/package.scala b/main/src/package.scala
index 0ccd094f..6bcb1bdf 100644
--- a/main/src/package.scala
+++ b/main/src/package.scala
@@ -7,6 +7,6 @@ package object mill extends JsonFormatters{
type PathRef = mill.api.PathRef
type Module = define.Module
type Cross[T] = define.Cross[T]
- type Agg[T] = util.Loose.Agg[T]
- val Agg = util.Loose.Agg
+ type Agg[T] = mill.api.Loose.Agg[T]
+ val Agg = mill.api.Loose.Agg
}
diff --git a/main/test/resources/examples/javac/build.sc b/main/test/resources/examples/javac/build.sc
index 2ed9f915..17366219 100644
--- a/main/test/resources/examples/javac/build.sc
+++ b/main/test/resources/examples/javac/build.sc
@@ -2,7 +2,7 @@ import mill.T
import mill.eval.JavaCompileJarTests.compileAll
import mill.api.PathRef
import mill.modules.Jvm
-import mill.util.Loose
+import mill.api.Loose
def sourceRootPath = millSourcePath / 'src
def resourceRootPath = millSourcePath / 'resources
diff --git a/main/test/src/define/CacherTests.scala b/main/test/src/define/CacherTests.scala
index 59ebf3f6..1524e5c1 100644
--- a/main/test/src/define/CacherTests.scala
+++ b/main/test/src/define/CacherTests.scala
@@ -1,7 +1,7 @@
package mill.define
import mill.util.{DummyLogger, TestEvaluator, TestUtil}
-import mill.util.Strict.Agg
+import mill.api.Strict.Agg
import mill.T
import mill.api.Result.Success
import utest._
diff --git a/main/test/src/define/GraphTests.scala b/main/test/src/define/GraphTests.scala
index 224ce59f..b36dbf95 100644
--- a/main/test/src/define/GraphTests.scala
+++ b/main/test/src/define/GraphTests.scala
@@ -4,7 +4,7 @@ package mill.define
import mill.eval.Evaluator
import mill.util.{TestGraphs, TestUtil}
import utest._
-import mill.util.Strict.Agg
+import mill.api.Strict.Agg
object GraphTests extends TestSuite{
val tests = Tests{
diff --git a/main/test/src/eval/EvaluationTests.scala b/main/test/src/eval/EvaluationTests.scala
index 74f9088c..7f924db2 100644
--- a/main/test/src/eval/EvaluationTests.scala
+++ b/main/test/src/eval/EvaluationTests.scala
@@ -5,7 +5,7 @@ import mill.util.TestUtil.{Test, test}
import mill.define.{Discover, Graph, Target, Task}
import mill.{Module, T}
import mill.util.{DummyLogger, TestEvaluator, TestGraphs, TestUtil}
-import mill.util.Strict.Agg
+import mill.api.Strict.Agg
import utest._
import utest.framework.TestPath
diff --git a/main/test/src/eval/JavaCompileJarTests.scala b/main/test/src/eval/JavaCompileJarTests.scala
index 426c6ea6..0f9002df 100644
--- a/main/test/src/eval/JavaCompileJarTests.scala
+++ b/main/test/src/eval/JavaCompileJarTests.scala
@@ -4,12 +4,13 @@ import mill.define.{Discover, Input, Target, Task}
import mill.modules.Jvm
import mill.api.Ctx.Dest
import mill.{Module, T}
-import mill.util.{DummyLogger, Loose, TestEvaluator, TestUtil}
-import mill.util.Strict.Agg
+import mill.util.{DummyLogger, TestEvaluator, TestUtil}
+import mill.api.Strict.Agg
+import mill.api.Loose
import utest._
import mill._
object JavaCompileJarTests extends TestSuite{
- def compileAll(sources: mill.util.Loose.Agg[PathRef])(implicit ctx: Dest) = {
+ def compileAll(sources: mill.api.Loose.Agg[PathRef])(implicit ctx: Dest) = {
os.makeDir.all(ctx.dest)
os.proc("javac", sources.map(_.path.toString()).toSeq, "-d", ctx.dest).call(ctx.dest)
diff --git a/main/test/src/util/TestEvaluator.scala b/main/test/src/util/TestEvaluator.scala
index 9a235679..81c8fe12 100644
--- a/main/test/src/util/TestEvaluator.scala
+++ b/main/test/src/util/TestEvaluator.scala
@@ -3,7 +3,7 @@ package mill.util
import mill.define.{Input, Target, Task}
import mill.api.Result.OuterStack
import mill.eval.{Evaluator, Result}
-import mill.util.Strict.Agg
+import mill.api.Strict.Agg
import utest.assert
import utest.framework.TestPath
diff --git a/main/test/src/util/TestUtil.scala b/main/test/src/util/TestUtil.scala
index baab2992..462b7f5c 100644
--- a/main/test/src/util/TestUtil.scala
+++ b/main/test/src/util/TestUtil.scala
@@ -5,7 +5,7 @@ import mill.define._
import mill.api.Result
import mill.api.Result.OuterStack
import utest.assert
-import mill.util.Strict.Agg
+import mill.api.Strict.Agg
import utest.framework.TestPath
import scala.collection.mutable
diff --git a/scalajslib/src/ScalaJSModule.scala b/scalajslib/src/ScalaJSModule.scala
index 8568c39b..137e8ee2 100644
--- a/scalajslib/src/ScalaJSModule.scala
+++ b/scalajslib/src/ScalaJSModule.scala
@@ -7,7 +7,8 @@ import mill.eval.{PathRef, Result}
import mill.api.Result.Success
import mill.scalalib.Lib.resolveDependencies
import mill.scalalib.{DepSyntax, Lib, TestModule, TestRunner}
-import mill.util.{Ctx, Loose}
+import mill.util.Ctx
+import mill.api.Loose
import mill.scalajslib.api._
trait ScalaJSModule extends scalalib.ScalaModule { outer =>
diff --git a/scalalib/src/GenIdeaImpl.scala b/scalalib/src/GenIdeaImpl.scala
index 548b8d4e..b8f9d35e 100644
--- a/scalalib/src/GenIdeaImpl.scala
+++ b/scalalib/src/GenIdeaImpl.scala
@@ -5,8 +5,8 @@ import coursier.{Cache, CoursierPaths, Repository}
import mill.define._
import mill.eval.{Evaluator, PathRef, Result}
import mill.api.Ctx.{Home, Log}
-import mill.util.Strict.Agg
-import mill.util.{Loose, Strict}
+import mill.api.Strict.Agg
+import mill.api.{Loose, Strict}
import mill.{T, scalalib}
import scala.util.Try
diff --git a/scalalib/src/JavaModule.scala b/scalalib/src/JavaModule.scala
index 78be8893..72c0a5a6 100644
--- a/scalalib/src/JavaModule.scala
+++ b/scalalib/src/JavaModule.scala
@@ -9,7 +9,7 @@ import mill.modules.{Assembly, Jvm}
import mill.modules.Jvm.{createAssembly, createJar}
import Lib._
import mill.scalalib.publish.{Artifact, Scope}
-import mill.util.Loose.Agg
+import mill.api.Loose.Agg
/**
* Core configuration required to compile a single Scala compilation target
diff --git a/scalalib/src/MiscModule.scala b/scalalib/src/MiscModule.scala
index c6449d6e..bf64f1f3 100644
--- a/scalalib/src/MiscModule.scala
+++ b/scalalib/src/MiscModule.scala
@@ -4,7 +4,7 @@ package scalalib
import mill.define.Cross.Resolver
import mill.define.{Cross, Task}
import mill.eval.{PathRef, Result}
-import mill.util.Loose.Agg
+import mill.api.Loose.Agg
object CrossModuleBase{
def scalaVersionPaths(scalaVersion: String, f: String => os.Path) = {
for(segments <- scalaVersion.split('.').inits.filter(_.nonEmpty))
diff --git a/scalalib/src/ScalaModule.scala b/scalalib/src/ScalaModule.scala
index 5edef350..5fad1664 100644
--- a/scalalib/src/ScalaModule.scala
+++ b/scalalib/src/ScalaModule.scala
@@ -8,7 +8,7 @@ import mill.modules.Jvm
import mill.modules.Jvm.createJar
import mill.scalalib.api.Util.isDotty
import Lib._
-import mill.util.Loose.Agg
+import mill.api.Loose.Agg
import mill.api.DummyInputStream
/**
diff --git a/scalalib/src/ZincWorkerModule.scala b/scalalib/src/ZincWorkerModule.scala
index da01e05c..61a1db00 100644
--- a/scalalib/src/ZincWorkerModule.scala
+++ b/scalalib/src/ZincWorkerModule.scala
@@ -9,7 +9,7 @@ import mill.define.{Discover, Worker}
import mill.scalalib.Lib.resolveDependencies
import mill.scalalib.api.Util.isDotty
import mill.scalalib.api.ZincWorkerApi
-import mill.util.Loose
+import mill.api.Loose
import mill.util.JsonFormatters._
object ZincWorkerModule extends mill.define.ExternalModule with ZincWorkerModule{
@@ -57,7 +57,7 @@ trait ZincWorkerModule extends mill.Module{
.newInstance(
Left((
T.ctx(),
- compilerInterfaceClasspath().map(_.path.toString).toArray[String],
+ compilerInterfaceClasspath().toArray,
scalaCompilerBridgeSourceJar _
)),
mill.scalalib.api.Util.grepJar(_, "scala-library", _, sources = false),
diff --git a/scalalib/src/dependency/versions/VersionsFinder.scala b/scalalib/src/dependency/versions/VersionsFinder.scala
index a831ffc3..a9ecc763 100644
--- a/scalalib/src/dependency/versions/VersionsFinder.scala
+++ b/scalalib/src/dependency/versions/VersionsFinder.scala
@@ -5,7 +5,7 @@ import mill.eval.Evaluator
import mill.scalalib.dependency.metadata.MetadataLoaderFactory
import mill.scalalib.{Dep, JavaModule, Lib}
import mill.api.Ctx.{Home, Log}
-import mill.util.{Loose, Strict}
+import mill.api.{Loose, Strict}
private[dependency] object VersionsFinder {
diff --git a/scalalib/src/publish/Ivy.scala b/scalalib/src/publish/Ivy.scala
index 22e26ff6..e06efadd 100644
--- a/scalalib/src/publish/Ivy.scala
+++ b/scalalib/src/publish/Ivy.scala
@@ -1,6 +1,6 @@
package mill.scalalib.publish
-import mill.util.Loose.Agg
+import mill.api.Loose.Agg
import scala.xml.PrettyPrinter
diff --git a/scalalib/src/publish/Pom.scala b/scalalib/src/publish/Pom.scala
index 57a0e196..a7f1f6fc 100644
--- a/scalalib/src/publish/Pom.scala
+++ b/scalalib/src/publish/Pom.scala
@@ -1,6 +1,6 @@
package mill.scalalib.publish
-import mill.util.Loose.Agg
+import mill.api.Loose.Agg
import scala.xml.{Atom, Elem, NodeSeq, PrettyPrinter}
diff --git a/scalalib/test/src/ResolveDepsTests.scala b/scalalib/test/src/ResolveDepsTests.scala
index 78361625..ce905907 100644
--- a/scalalib/test/src/ResolveDepsTests.scala
+++ b/scalalib/test/src/ResolveDepsTests.scala
@@ -4,7 +4,7 @@ import coursier.Cache
import coursier.maven.MavenRepository
import mill.api.Result.{Failure, Success}
import mill.eval.{PathRef, Result}
-import mill.util.Loose.Agg
+import mill.api.Loose.Agg
import utest._
object ResolveDepsTests extends TestSuite {
diff --git a/scalanativelib/src/ScalaNativeModule.scala b/scalanativelib/src/ScalaNativeModule.scala
index a7a2b96b..289ba759 100644
--- a/scalanativelib/src/ScalaNativeModule.scala
+++ b/scalanativelib/src/ScalaNativeModule.scala
@@ -9,7 +9,7 @@ import mill.define.{Target, Task}
import mill.api.Result
import mill.modules.Jvm
import mill.scalalib.{Dep, DepSyntax, Lib, SbtModule, ScalaModule, TestModule, TestRunner}
-import mill.util.Loose.Agg
+import mill.api.Loose.Agg
import sbt.testing.{AnnotatedFingerprint, SubclassFingerprint}
import sbt.testing.Fingerprint
import upickle.default.{ReadWriter => RW, macroRW}