From 703814a90eab60e17ca87968be8c385068688d7d Mon Sep 17 00:00:00 2001
From: Etienne Kneuss <ekneuss@gmail.com>
Date: Wed, 12 Dec 2012 18:14:19 +0100
Subject: [PATCH] Improve classpath situation, leon lib still missing though

---
 src/main/scala/leon/Settings.scala            | 21 ++++++++++++-------
 .../scala/leon/plugin/ExtractionPhase.scala   | 10 +--------
 web/app/models/LeonConsole.scala              |  2 +-
 3 files changed, 15 insertions(+), 18 deletions(-)

diff --git a/src/main/scala/leon/Settings.scala b/src/main/scala/leon/Settings.scala
index 43b595df6..f9de5e4b1 100644
--- a/src/main/scala/leon/Settings.scala
+++ b/src/main/scala/leon/Settings.scala
@@ -7,15 +7,20 @@ object Settings {
 
   var showIDs: Boolean = false
   var silentlyTolerateNonPureBodies: Boolean = false
+
+  def defaultClassPath() = {
+    val env = System.getenv("SCALA_HOME")
+    if (env != "") {
+      List(env+"/lib")
+    } else {
+      Nil
+    }
+  }
 }
 
 case class Settings(
-  val synthesis: Boolean    = false,
-  val xlang: Boolean        = false,
-  val verify: Boolean       = true,
-  val classPath: String     = 
-    List(
-      "/home/ekneuss/scala/scala-2.9.2/lib/",
-      "/home/ekneuss/git/leon-2.0/library/target/scala-2.9.2/"
-    ).mkString(":")
+  val synthesis: Boolean      = false,
+  val xlang: Boolean          = false,
+  val verify: Boolean         = true,
+  val classPath: List[String] = Settings.defaultClassPath()
 )
diff --git a/src/main/scala/leon/plugin/ExtractionPhase.scala b/src/main/scala/leon/plugin/ExtractionPhase.scala
index 08be33155..2b9c197c4 100644
--- a/src/main/scala/leon/plugin/ExtractionPhase.scala
+++ b/src/main/scala/leon/plugin/ExtractionPhase.scala
@@ -13,15 +13,7 @@ object ExtractionPhase extends LeonPhase[List[String], Program] {
 
     val settings = new NSCSettings
 
-    val scalaHome = System.getenv("SCALA_HOME")
-
-    val fullClassPath = if (scalaHome != "") {
-      scalaHome+"/lib:"+ctx.settings.classPath
-    } else {
-      ctx.settings.classPath
-    }
-
-    settings.extdirs.value = fullClassPath
+    settings.extdirs.value = ctx.settings.classPath.mkString(":")
 
     val compilerOpts = args.filterNot(_.startsWith("--"))
 
diff --git a/web/app/models/LeonConsole.scala b/web/app/models/LeonConsole.scala
index aa33fe9fe..21712d5e0 100644
--- a/web/app/models/LeonConsole.scala
+++ b/web/app/models/LeonConsole.scala
@@ -90,7 +90,7 @@ class ConsoleSession extends Actor {
       log("Welcome to LeonOnline!")
       log("Processing request...")
 
-      val classPath = Play.current.configuration.getString("app.classpath").getOrElse("")
+      val classPath = Play.current.configuration.getString("app.classpath").map(_.split(":").toList).getOrElse(Settings.defaultClassPath())
 
       mode match {
         case "verification" =>
-- 
GitLab