diff options
Diffstat (limited to 'project/ScalaToolRunner.scala')
-rw-r--r-- | project/ScalaToolRunner.scala | 21 |
1 files changed, 0 insertions, 21 deletions
diff --git a/project/ScalaToolRunner.scala b/project/ScalaToolRunner.scala deleted file mode 100644 index d7338a54b3..0000000000 --- a/project/ScalaToolRunner.scala +++ /dev/null @@ -1,21 +0,0 @@ -import sbt._ -import Keys._ - -/** Reflection helper that runs ScalaTool. - * TODO - When SBT is on 2.10.x try to use Dynamic + Reflection. COULD BE FUN. - */ -class ScalaToolRunner(classpath: Classpath) { - // TODO - Don't use the ant task directly... - lazy val classLoader = new java.net.URLClassLoader(classpath.map(_.data.toURI.toURL).toArray, null) - lazy val mainClass = classLoader.loadClass("scala.tools.ant.ScalaTool") - lazy val executeMethod = mainClass.getMethod("execute") - lazy val setFileMethod = mainClass.getMethod("setFile", classOf[java.io.File]) - lazy val setClassMethod = mainClass.getMethod("setClass", classOf[String]) - lazy val setClasspathMethod = mainClass.getMethod("setClassPath", classOf[String]) - lazy val instance = mainClass.newInstance() - - def setClass(cls: String): Unit = setClassMethod.invoke(instance, cls) - def setFile(file: File): Unit = setFileMethod.invoke(instance, file) - def setClasspath(cp: String): Unit = setClasspathMethod.invoke(instance, cp) - def execute(): Unit = executeMethod.invoke(instance) -} |