summaryrefslogtreecommitdiff
path: root/core/src/main/scala/forge/Main.scala
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/scala/forge/Main.scala')
-rw-r--r--core/src/main/scala/forge/Main.scala25
1 files changed, 25 insertions, 0 deletions
diff --git a/core/src/main/scala/forge/Main.scala b/core/src/main/scala/forge/Main.scala
new file mode 100644
index 00000000..d919d0e2
--- /dev/null
+++ b/core/src/main/scala/forge/Main.scala
@@ -0,0 +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
+ }
+ }
+
+}