diff options
Diffstat (limited to 'core/src/main/scala/forge/Main.scala')
-rw-r--r-- | core/src/main/scala/forge/Main.scala | 25 |
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 + } + } + +} |