diff options
20 files changed, 70 insertions, 37 deletions
diff --git a/core/src/main/scala/forge/Main.scala b/core/src/main/scala/forge/Main.scala index d919d0e2..e3b89f60 100644 --- a/core/src/main/scala/forge/Main.scala +++ b/core/src/main/scala/forge/Main.scala @@ -2,6 +2,8 @@ package forge import ammonite.ops._ import ammonite.util.{Name, Res} +import forge.discover.Discovered +import forge.eval.Evaluator import forge.util.OSet @@ -12,7 +14,7 @@ object Main { case Right(interp) => val result = ammonite.main.Scripts.runScript(pwd, Path(args(0), pwd), interp, Nil) - val (obj, discovered) = result.asInstanceOf[Res.Success[(Any, forge.Discovered[Any])]].s + val (obj, discovered) = result.asInstanceOf[Res.Success[(Any, Discovered[Any])]].s val mapping = Discovered.mapping(obj)(discovered) val workspacePath = pwd / 'target / 'javac val evaluator = new Evaluator(workspacePath, mapping) diff --git a/core/src/main/scala/forge/Target.scala b/core/src/main/scala/forge/define/Target.scala index 9aa4877e..1d8ecdee 100644 --- a/core/src/main/scala/forge/Target.scala +++ b/core/src/main/scala/forge/define/Target.scala @@ -1,14 +1,14 @@ -package forge +package forge.define - -import ammonite.ops.{CommandResult, ls, mkdir} -import forge.util.{Args, PathRef} -import play.api.libs.json.{Format, JsValue, Json} +import ammonite.ops.{CommandResult, mkdir} +import forge.eval.PathRef +import forge.util.{Args, JsonFormatters} +import play.api.libs.json.{Format, Json} import scala.annotation.compileTimeOnly -import language.experimental.macros -import reflect.macros.blackbox.Context import scala.collection.mutable +import scala.language.experimental.macros +import scala.reflect.macros.blackbox.Context abstract class Target[T] extends Target.Ops[T]{ /** @@ -97,7 +97,9 @@ object Target{ def wrapCached[T](c: Context)(t: c.Tree) = { import c.universe._ val owner = c.internal.enclosingOwner - val ownerIsCacherClass = owner.owner.isClass && owner.owner.asClass.baseClasses.exists(_.fullName == "forge.Target.Cacher") + val ownerIsCacherClass = + owner.owner.isClass && + owner.owner.asClass.baseClasses.exists(_.fullName == "forge.define.Target.Cacher") if (ownerIsCacherClass && !owner.isMethod){ c.abort( diff --git a/core/src/main/scala/forge/ZipTarget.scala b/core/src/main/scala/forge/define/ZipTarget.scala index e02bbc19..1faef07e 100644 --- a/core/src/main/scala/forge/ZipTarget.scala +++ b/core/src/main/scala/forge/define/ZipTarget.scala @@ -1,4 +1,4 @@ -package forge +package forge.define import forge.util.Args diff --git a/core/src/main/scala/forge/Discovered.scala b/core/src/main/scala/forge/discover/Discovered.scala index e3aa31f9..964732be 100644 --- a/core/src/main/scala/forge/Discovered.scala +++ b/core/src/main/scala/forge/discover/Discovered.scala @@ -1,10 +1,11 @@ -package forge +package forge.discover + +import forge.define.Target -import forge.util.Labelled import play.api.libs.json.Format -import language.experimental.macros -import reflect.macros.blackbox.Context +import scala.language.experimental.macros +import scala.reflect.macros.blackbox.Context class Discovered[T](val value: Seq[(Seq[String], Format[_], T => Target[_])]){ def apply(t: T) = value.map{case (a, f, b) => (a, f, b(t)) } @@ -53,9 +54,9 @@ object Discovered { q"$prefix.${TermName(name)}" ) - q"forge.Discovered.makeTuple($segments, ($base: $tpe) => $ident)" + q"forge.discover.Discovered.makeTuple($segments, ($base: $tpe) => $ident)" } - c.Expr[Discovered[T]](q"new _root_.forge.Discovered($result)") + c.Expr[Discovered[T]](q"new _root_.forge.discover.Discovered($result)") } } diff --git a/core/src/main/scala/forge/util/Labelled.scala b/core/src/main/scala/forge/discover/Labelled.scala index a79d2d93..25c74e9f 100644 --- a/core/src/main/scala/forge/util/Labelled.scala +++ b/core/src/main/scala/forge/discover/Labelled.scala @@ -1,6 +1,6 @@ -package forge.util +package forge.discover -import forge.Target +import forge.define.Target import play.api.libs.json.Format case class Labelled[T](target: Target[T], diff --git a/core/src/main/scala/forge/Evaluator.scala b/core/src/main/scala/forge/eval/Evaluator.scala index 3ef605b7..19cd3236 100644 --- a/core/src/main/scala/forge/Evaluator.scala +++ b/core/src/main/scala/forge/eval/Evaluator.scala @@ -1,11 +1,12 @@ -package forge - +package forge.eval +import ammonite.ops._ +import forge.define.Target +import forge.discover.Labelled +import forge.util.{Args, MultiBiMap, OSet} import play.api.libs.json.{Format, JsValue, Json} import scala.collection.mutable -import ammonite.ops._ -import forge.util.{Args, Labelled, MultiBiMap, OSet} class Evaluator(workspacePath: Path, labeling: Map[Target[_], Labelled[_]]){ diff --git a/core/src/main/scala/forge/util/PathRef.scala b/core/src/main/scala/forge/eval/PathRef.scala index 333f225e..1c9bc700 100644 --- a/core/src/main/scala/forge/util/PathRef.scala +++ b/core/src/main/scala/forge/eval/PathRef.scala @@ -1,13 +1,13 @@ -package forge -package util +package forge.eval import java.io.IOException -import java.nio.file.{FileVisitResult, FileVisitor} import java.nio.file.attribute.BasicFileAttributes -import java.security.MessageDigest +import java.nio.file.{FileVisitResult, FileVisitor} import java.nio.{file => jnio} +import java.security.MessageDigest import ammonite.ops.Path +import forge.util.JsonFormatters import play.api.libs.json.{Format, Json} diff --git a/core/src/main/scala/forge/Tarjans.scala b/core/src/main/scala/forge/eval/Tarjans.scala index 9831fe7f..15d6779c 100644 --- a/core/src/main/scala/forge/Tarjans.scala +++ b/core/src/main/scala/forge/eval/Tarjans.scala @@ -1,6 +1,7 @@ -package forge +package forge.eval + +import scala.collection.mutable -import collection.mutable // Adapted from // https://github.com/indy256/codelibrary/blob/c52247216258e84aac442a23273b7d8306ef757b/java/src/SCCTarjan.java object Tarjans { @@ -47,4 +48,4 @@ object Tarjans { } components } -}
\ No newline at end of file +} diff --git a/core/src/main/scala/forge/package.scala b/core/src/main/scala/forge/package.scala index 4163237e..58401c64 100644 --- a/core/src/main/scala/forge/package.scala +++ b/core/src/main/scala/forge/package.scala @@ -1 +1,7 @@ -package object forge extends ZipTarget with JsonFormatters +import forge.define.ZipTarget +import forge.util.JsonFormatters + +package object forge extends ZipTarget with JsonFormatters{ + val Target = define.Target + type Target[T] = define.Target[T] +} diff --git a/core/src/main/scala/forge/JsonFormatters.scala b/core/src/main/scala/forge/util/JsonFormatters.scala index 4e772128..d9f07fc8 100644 --- a/core/src/main/scala/forge/JsonFormatters.scala +++ b/core/src/main/scala/forge/util/JsonFormatters.scala @@ -1,4 +1,4 @@ -package forge +package forge.util import ammonite.ops.{Bytes, Path} import play.api.libs.json._ diff --git a/core/src/test/examples/javac/build.sc b/core/src/test/examples/javac/build.sc index dfbe5271..d7ba5662 100644 --- a/core/src/test/examples/javac/build.sc +++ b/core/src/test/examples/javac/build.sc @@ -1,11 +1,14 @@ +import forge.define.Target +import forge.eval.PathRef + object Foo { import java.io.FileOutputStream import java.util.jar.JarEntry import ammonite.ops.{ls, pwd, read} - import forge.{Discovered, Target} - import forge.util.{Args, PathRef} + import forge.discover.Discovered + import forge.util.Args val workspacePath = pwd / 'target / 'workspace / 'javac val javacSrcPath = pwd / 'src / 'test / 'examples / 'javac diff --git a/core/src/test/scala/forge/CacherTests.scala b/core/src/test/scala/forge/CacherTests.scala index 4c346e5e..24a540ff 100644 --- a/core/src/test/scala/forge/CacherTests.scala +++ b/core/src/test/scala/forge/CacherTests.scala @@ -1,5 +1,8 @@ package forge +import forge.define.Target +import forge.discover.Discovered +import forge.eval.Evaluator import forge.util.OSet import utest._ import utest.framework.TestPath diff --git a/core/src/test/scala/forge/EvaluationTests.scala b/core/src/test/scala/forge/EvaluationTests.scala index b58d5ccc..66fe7b8d 100644 --- a/core/src/test/scala/forge/EvaluationTests.scala +++ b/core/src/test/scala/forge/EvaluationTests.scala @@ -1,6 +1,9 @@ package forge +import forge.define.Target +import forge.discover.Discovered +import forge.eval.Evaluator import forge.util.OSet import utest._ import utest.framework.TestPath diff --git a/core/src/test/scala/forge/GraphTests.scala b/core/src/test/scala/forge/GraphTests.scala index ca825683..e608c877 100644 --- a/core/src/test/scala/forge/GraphTests.scala +++ b/core/src/test/scala/forge/GraphTests.scala @@ -2,6 +2,9 @@ package forge import utest._ import TestUtil.test +import forge.define.Target +import forge.discover.Discovered +import forge.eval.Evaluator import forge.util.OSet object GraphTests extends TestSuite{ diff --git a/core/src/test/scala/forge/JavaCompileJarTests.scala b/core/src/test/scala/forge/JavaCompileJarTests.scala index 8b292a88..f4a5fc88 100644 --- a/core/src/test/scala/forge/JavaCompileJarTests.scala +++ b/core/src/test/scala/forge/JavaCompileJarTests.scala @@ -4,7 +4,10 @@ import java.io.FileOutputStream import java.util.jar.JarEntry import ammonite.ops._ -import forge.util.{Args, OSet, PathRef} +import forge.define.Target +import forge.discover.Discovered +import forge.eval.{Evaluator, PathRef} +import forge.util.{Args, OSet} import utest._ object JavaCompileJarTests extends TestSuite{ diff --git a/core/src/test/scala/forge/TarjanTests.scala b/core/src/test/scala/forge/TarjanTests.scala index 5b118368..58032b86 100644 --- a/core/src/test/scala/forge/TarjanTests.scala +++ b/core/src/test/scala/forge/TarjanTests.scala @@ -1,4 +1,5 @@ package forge +import forge.eval.Tarjans import utest._ object TarjanTests extends TestSuite{ def check(input: Seq[Seq[Int]], expected: Seq[Seq[Int]]) = { diff --git a/core/src/test/scala/forge/TestGraphs.scala b/core/src/test/scala/forge/TestGraphs.scala index 0d6040eb..5c30f948 100644 --- a/core/src/test/scala/forge/TestGraphs.scala +++ b/core/src/test/scala/forge/TestGraphs.scala @@ -1,6 +1,6 @@ package forge -import forge.Target.Cacher +import forge.define.Target.Cacher import forge.TestUtil.test class TestGraphs(){ diff --git a/core/src/test/scala/forge/TestUtil.scala b/core/src/test/scala/forge/TestUtil.scala index 9337fbe0..005bcfef 100644 --- a/core/src/test/scala/forge/TestUtil.scala +++ b/core/src/test/scala/forge/TestUtil.scala @@ -1,7 +1,9 @@ package forge +import forge.define.Target import forge.util.{Args, OSet} import utest.assert + import scala.collection.mutable object TestUtil { diff --git a/scalaplugin/src/main/scala/forge/scalaplugin/Subproject.scala b/scalaplugin/src/main/scala/forge/scalaplugin/Subproject.scala index cc573d88..2572e802 100644 --- a/scalaplugin/src/main/scala/forge/scalaplugin/Subproject.scala +++ b/scalaplugin/src/main/scala/forge/scalaplugin/Subproject.scala @@ -6,7 +6,7 @@ import java.io.File import ammonite.ops.{Path, ls, mkdir, pwd} import coursier.{Cache, Dependency, Fetch, MavenRepository, Module, Repository, Resolution} import forge.Target.Cacher -import forge.util.PathRef +import forge.eval.PathRef import play.api.libs.json._ import sbt.internal.inc.{FreshCompilerCache, ScalaInstance, ZincUtil} import sbt.internal.util.{ConsoleOut, MainAppender} diff --git a/scalaplugin/src/test/scala/forge/scalaplugin/MetacircularTests.scala b/scalaplugin/src/test/scala/forge/scalaplugin/MetacircularTests.scala index 217282a3..4b2f6844 100644 --- a/scalaplugin/src/test/scala/forge/scalaplugin/MetacircularTests.scala +++ b/scalaplugin/src/test/scala/forge/scalaplugin/MetacircularTests.scala @@ -3,8 +3,10 @@ package scalaplugin import ammonite.ops.pwd import coursier.{Dependency => Dep, Module => Mod} +import forge.discover.Discovered +import forge.eval.{Evaluator, PathRef} import forge.scalaplugin.Subproject.ScalaDep -import forge.util.{OSet, PathRef} +import forge.util.OSet import utest._ object MetacircularTests extends TestSuite{ |