mirror of https://github.com/sbt/sbt.git
23 lines
746 B
Scala
23 lines
746 B
Scala
/* sbt -- Simple Build Tool
|
|
* Copyright 2011 Mark Harrah
|
|
*/
|
|
package sbt
|
|
|
|
import java.io.File
|
|
import compiler.AnalyzingCompiler
|
|
|
|
object ConsoleProject
|
|
{
|
|
def apply(state: State, extra: String)(implicit log: Logger)
|
|
{
|
|
val extracted = Project extract state
|
|
val bindings = ("currentState" -> state) :: ("extracted" -> extracted ) :: Nil
|
|
val unit = extracted.currentUnit
|
|
val compiler = Compiler.compilers(ClasspathOptions.repl)(state.configuration, log).scalac
|
|
val imports = Load.getImports(unit.unit) ++ Load.importAll(bindings.map(_._1))
|
|
val importString = imports.mkString("", ";\n", ";\n\n")
|
|
val initCommands = importString + extra
|
|
(new Console(compiler))(unit.classpath, Nil, initCommands)(Some(unit.loader), bindings)
|
|
}
|
|
}
|