summaryrefslogtreecommitdiff
path: root/main/core/src
diff options
context:
space:
mode:
Diffstat (limited to 'main/core/src')
-rw-r--r--main/core/src/define/Applicative.scala (renamed from main/core/src/mill/define/Applicative.scala)0
-rw-r--r--main/core/src/define/BaseModule.scala (renamed from main/core/src/mill/define/BaseModule.scala)0
-rw-r--r--main/core/src/define/Caller.scala (renamed from main/core/src/mill/define/Caller.scala)0
-rw-r--r--main/core/src/define/Cross.scala (renamed from main/core/src/mill/define/Cross.scala)0
-rw-r--r--main/core/src/define/Ctx.scala (renamed from main/core/src/mill/define/Ctx.scala)0
-rw-r--r--main/core/src/define/Discover.scala (renamed from main/core/src/mill/define/Discover.scala)7
-rw-r--r--main/core/src/define/Graph.scala (renamed from main/core/src/mill/define/Graph.scala)2
-rw-r--r--main/core/src/define/Module.scala (renamed from main/core/src/mill/define/Module.scala)0
-rw-r--r--main/core/src/define/Task.scala (renamed from main/core/src/mill/define/Task.scala)0
-rw-r--r--main/core/src/eval/Evaluator.scala (renamed from main/core/src/mill/eval/Evaluator.scala)2
-rw-r--r--main/core/src/eval/Tarjans.scala (renamed from main/core/src/mill/eval/Tarjans.scala)0
-rw-r--r--main/core/src/eval/package.scala (renamed from main/core/src/mill/eval/package.scala)0
-rw-r--r--main/core/src/mill/util/AggWrapper.scala119
-rw-r--r--main/core/src/util/EitherOps.scala (renamed from main/core/src/mill/util/EitherOps.scala)0
-rw-r--r--main/core/src/util/EnclosingClass.scala (renamed from main/core/src/mill/util/EnclosingClass.scala)0
-rw-r--r--main/core/src/util/JsonFormatters.scala (renamed from main/core/src/mill/util/JsonFormatters.scala)0
-rw-r--r--main/core/src/util/Loggers.scala (renamed from main/core/src/mill/util/Loggers.scala)0
-rw-r--r--main/core/src/util/MultiBiMap.scala (renamed from main/core/src/mill/util/MultiBiMap.scala)2
-rw-r--r--main/core/src/util/ParseArgs.scala (renamed from main/core/src/mill/util/ParseArgs.scala)0
-rw-r--r--main/core/src/util/Router.scala (renamed from main/core/src/mill/util/Router.scala)0
-rw-r--r--main/core/src/util/Scripts.scala (renamed from main/core/src/mill/util/Scripts.scala)0
-rw-r--r--main/core/src/util/Watched.scala (renamed from main/core/src/mill/util/Watched.scala)0
-rw-r--r--main/core/src/util/package.scala (renamed from main/core/src/mill/util/package.scala)0
23 files changed, 8 insertions, 124 deletions
diff --git a/main/core/src/mill/define/Applicative.scala b/main/core/src/define/Applicative.scala
index 5e63b1cc..5e63b1cc 100644
--- a/main/core/src/mill/define/Applicative.scala
+++ b/main/core/src/define/Applicative.scala
diff --git a/main/core/src/mill/define/BaseModule.scala b/main/core/src/define/BaseModule.scala
index cd79f73e..cd79f73e 100644
--- a/main/core/src/mill/define/BaseModule.scala
+++ b/main/core/src/define/BaseModule.scala
diff --git a/main/core/src/mill/define/Caller.scala b/main/core/src/define/Caller.scala
index 6d2d4d1d..6d2d4d1d 100644
--- a/main/core/src/mill/define/Caller.scala
+++ b/main/core/src/define/Caller.scala
diff --git a/main/core/src/mill/define/Cross.scala b/main/core/src/define/Cross.scala
index aa730e0d..aa730e0d 100644
--- a/main/core/src/mill/define/Cross.scala
+++ b/main/core/src/define/Cross.scala
diff --git a/main/core/src/mill/define/Ctx.scala b/main/core/src/define/Ctx.scala
index c21e53b4..c21e53b4 100644
--- a/main/core/src/mill/define/Ctx.scala
+++ b/main/core/src/define/Ctx.scala
diff --git a/main/core/src/mill/define/Discover.scala b/main/core/src/define/Discover.scala
index f0c668e6..c7dab54c 100644
--- a/main/core/src/mill/define/Discover.scala
+++ b/main/core/src/define/Discover.scala
@@ -79,9 +79,12 @@ object Discover {
}
if overridesRoutes.nonEmpty
} yield {
+ // by wrapping the `overridesRoutes` in a lambda function we kind of work around
+ // the problem of generating a *huge* macro method body that finally exceeds the
+ // JVM's maximum allowed method size
+ val overridesLambda = q"(() => $overridesRoutes)()"
val lhs = q"classOf[${discoveredModuleType.typeSymbol.asClass}]"
- val rhs = q"scala.Seq[(Int, mill.util.Router.EntryPoint[_])](..$overridesRoutes)"
- q"$lhs -> $rhs"
+ q"$lhs -> $overridesLambda"
}
c.Expr[Discover[T]](q"mill.define.Discover(scala.collection.immutable.Map(..$mapping))")
diff --git a/main/core/src/mill/define/Graph.scala b/main/core/src/define/Graph.scala
index 3119f2fb..5b29bd7b 100644
--- a/main/core/src/mill/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/mill/define/Module.scala b/main/core/src/define/Module.scala
index a8fc5be7..a8fc5be7 100644
--- a/main/core/src/mill/define/Module.scala
+++ b/main/core/src/define/Module.scala
diff --git a/main/core/src/mill/define/Task.scala b/main/core/src/define/Task.scala
index a464bf18..a464bf18 100644
--- a/main/core/src/mill/define/Task.scala
+++ b/main/core/src/define/Task.scala
diff --git a/main/core/src/mill/eval/Evaluator.scala b/main/core/src/eval/Evaluator.scala
index 8709064e..dbaf9433 100644
--- a/main/core/src/mill/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/mill/eval/Tarjans.scala b/main/core/src/eval/Tarjans.scala
index ade335a9..ade335a9 100644
--- a/main/core/src/mill/eval/Tarjans.scala
+++ b/main/core/src/eval/Tarjans.scala
diff --git a/main/core/src/mill/eval/package.scala b/main/core/src/eval/package.scala
index 433f9074..433f9074 100644
--- a/main/core/src/mill/eval/package.scala
+++ b/main/core/src/eval/package.scala
diff --git a/main/core/src/mill/util/AggWrapper.scala b/main/core/src/mill/util/AggWrapper.scala
deleted file mode 100644
index 6c107875..00000000
--- a/main/core/src/mill/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/mill/util/EitherOps.scala b/main/core/src/util/EitherOps.scala
index da2552c8..da2552c8 100644
--- a/main/core/src/mill/util/EitherOps.scala
+++ b/main/core/src/util/EitherOps.scala
diff --git a/main/core/src/mill/util/EnclosingClass.scala b/main/core/src/util/EnclosingClass.scala
index a69cc525..a69cc525 100644
--- a/main/core/src/mill/util/EnclosingClass.scala
+++ b/main/core/src/util/EnclosingClass.scala
diff --git a/main/core/src/mill/util/JsonFormatters.scala b/main/core/src/util/JsonFormatters.scala
index 830782c6..830782c6 100644
--- a/main/core/src/mill/util/JsonFormatters.scala
+++ b/main/core/src/util/JsonFormatters.scala
diff --git a/main/core/src/mill/util/Loggers.scala b/main/core/src/util/Loggers.scala
index aab1a324..aab1a324 100644
--- a/main/core/src/mill/util/Loggers.scala
+++ b/main/core/src/util/Loggers.scala
diff --git a/main/core/src/mill/util/MultiBiMap.scala b/main/core/src/util/MultiBiMap.scala
index 73bb42c4..51ea63f2 100644
--- a/main/core/src/mill/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/core/src/mill/util/ParseArgs.scala b/main/core/src/util/ParseArgs.scala
index fc1a8ab3..fc1a8ab3 100644
--- a/main/core/src/mill/util/ParseArgs.scala
+++ b/main/core/src/util/ParseArgs.scala
diff --git a/main/core/src/mill/util/Router.scala b/main/core/src/util/Router.scala
index 5dd3c947..5dd3c947 100644
--- a/main/core/src/mill/util/Router.scala
+++ b/main/core/src/util/Router.scala
diff --git a/main/core/src/mill/util/Scripts.scala b/main/core/src/util/Scripts.scala
index 65eb6b2b..65eb6b2b 100644
--- a/main/core/src/mill/util/Scripts.scala
+++ b/main/core/src/util/Scripts.scala
diff --git a/main/core/src/mill/util/Watched.scala b/main/core/src/util/Watched.scala
index 29be53c3..29be53c3 100644
--- a/main/core/src/mill/util/Watched.scala
+++ b/main/core/src/util/Watched.scala
diff --git a/main/core/src/mill/util/package.scala b/main/core/src/util/package.scala
index ec5d2efc..ec5d2efc 100644
--- a/main/core/src/mill/util/package.scala
+++ b/main/core/src/util/package.scala