summaryrefslogtreecommitdiff
path: root/src/main/scala
diff options
context:
space:
mode:
authorLi Haoyi <haoyi.sg@gmail.com>2017-10-29 18:29:53 -0700
committerLi Haoyi <haoyi.sg@gmail.com>2017-10-29 18:29:53 -0700
commitf32fca9c5858c487a83bf461d5b2ecc772025a4a (patch)
tree386b056adf594fe02f2dfd603aabdc1833165b08 /src/main/scala
parent4e2fbfb5ae8fd7d66f78bf7ced3d6cc8cc74ceaf (diff)
downloadmill-f32fca9c5858c487a83bf461d5b2ecc772025a4a.tar.gz
mill-f32fca9c5858c487a83bf461d5b2ecc772025a4a.tar.bz2
mill-f32fca9c5858c487a83bf461d5b2ecc772025a4a.zip
First builds work going through an Ammonite script, currently run using `sbt "~run src/test/examples/javac/build.sc`
Diffstat (limited to 'src/main/scala')
-rw-r--r--src/main/scala/forge/Main.scala18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/scala/forge/Main.scala b/src/main/scala/forge/Main.scala
index 07905ac9..d919d0e2 100644
--- a/src/main/scala/forge/Main.scala
+++ b/src/main/scala/forge/Main.scala
@@ -1,7 +1,25 @@
package forge
+import ammonite.ops._
+import ammonite.util.{Name, Res}
+import forge.util.OSet
+
+
object Main {
def main(args: Array[String]): Unit = {
+ ammonite.Main().instantiateInterpreter() match{
+ 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 mapping = Discovered.mapping(obj)(discovered)
+ val workspacePath = pwd / 'target / 'javac
+ val evaluator = new Evaluator(workspacePath, mapping)
+ val evaluated = evaluator.evaluate(OSet.from(mapping.keys)).evaluated.filter(mapping.contains)
+ (result, interp.watchedFiles)
+ case Left(problems) => problems
+ }
}
+
}