diff options
author | Li Haoyi <haoyi.sg@gmail.com> | 2018-01-08 01:19:21 -0800 |
---|---|---|
committer | Li Haoyi <haoyi.sg@gmail.com> | 2018-01-08 01:25:41 -0800 |
commit | 51e565c519aedc5dc8494a44cc74c750f6a6e9cf (patch) | |
tree | 5a1e7ed7e8e51cfbbed186141699088a49f0de3e /scalalib/src/main/scala | |
parent | d037fcb99dfc94691783094d811cb60f2241aebb (diff) | |
download | mill-51e565c519aedc5dc8494a44cc74c750f6a6e9cf.tar.gz mill-51e565c519aedc5dc8494a44cc74c750f6a6e9cf.tar.bz2 mill-51e565c519aedc5dc8494a44cc74c750f6a6e9cf.zip |
Simplify `Evaluator.Mapping` and consolidate logic within the `Segments` data-type
Diffstat (limited to 'scalalib/src/main/scala')
-rw-r--r-- | scalalib/src/main/scala/mill/scalalib/GenIdea.scala | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/scalalib/src/main/scala/mill/scalalib/GenIdea.scala b/scalalib/src/main/scala/mill/scalalib/GenIdea.scala index 5c3d8d71..54c1b3ac 100644 --- a/scalalib/src/main/scala/mill/scalalib/GenIdea.scala +++ b/scalalib/src/main/scala/mill/scalalib/GenIdea.scala @@ -1,8 +1,7 @@ package mill.scalalib import ammonite.ops._ -import mill.define.Target -import mill.define.Segment +import mill.define.{Segment, Segments, Target} import mill.discover.{Discovered, Mirror} import mill.eval.{Evaluator, PathRef} import mill.util.Ctx.{LoaderCtx, LogCtx} @@ -28,12 +27,11 @@ object GenIdea { val modules = Mirror .traverse(evaluator.mapping.base, evaluator.mapping.mirror){ (h, p) => - h.node(evaluator.mapping.base, p.reverse.map{case Segment.Cross(vs) => vs.toList case _ => Nil}.toList) match { + h.node(evaluator.mapping.base, p.value.map{case Segment.Cross(vs) => vs.toList case _ => Nil}.toList) match { case m: Module => Seq(p -> m) case _ => Nil } } - .map{case (p, v) => (p.reverse, v)} val resolved = for((path, mod) <- modules) yield { val Seq(resolvedCp: Seq[PathRef], resolvedSrcs: Seq[PathRef]) = @@ -79,7 +77,7 @@ object GenIdea { val paths = Evaluator.resolveDestPaths( evaluator.workspacePath, - evaluator.mapping.targetsToSegments(mod.compile) + mod.compile.ctx.segments ) val elem = moduleXmlTemplate( @@ -100,7 +98,7 @@ object GenIdea { (Seq.fill(r.ups)("..") ++ r.segments).mkString("/") } - def moduleName(p: Seq[Segment]) = p.foldLeft(StringBuilder.newBuilder) { + def moduleName(p: Segments) = p.value.foldLeft(StringBuilder.newBuilder) { case (sb, Segment.Label(s)) if sb.isEmpty => sb.append(s) case (sb, Segment.Cross(s)) if sb.isEmpty => sb.append(s.mkString("-")) case (sb, Segment.Label(s)) => sb.append(".").append(s) |