andriusvelykis / isabelle-eclipse

Eclipse integration for Isabelle proof assistant.
http://andriusvelykis.github.io/isabelle-eclipse
Eclipse Public License 1.0
12 stars 4 forks source link

Isabelle/Eclipse does not work on Windows #26

Closed andriusvelykis closed 11 years ago

andriusvelykis commented 11 years ago

When configuring Isabelle launch in Windows, it fails because Cygwin root cannot be found:

java.lang.RuntimeException: Cannot determine Cygwin root directory
    at isabelle.Library$ERROR$.apply(library.scala:24)
    at isabelle.Library$.error(library.scala:28)
    at isabelle.Basic_Library$$anonfun$1.apply(library.scala:143)
    at isabelle.Basic_Library$$anonfun$1.apply(library.scala:143)
    at isabelle.Isabelle_System$.cygwin_root(isabelle_system.scala:42)
    at isabelle.Isabelle_System$.posix_path(isabelle_system.scala:164)
    at isabelle.Isabelle_System$.init(isabelle_system.scala:71)
    at isabelle.eclipse.core.app.IsabelleBuild$$anonfun$1.apply$mcV$sp(IsabelleBuild.scala:42)
    at isabelle.eclipse.core.app.IsabelleBuild$$anonfun$1.apply(IsabelleBuild.scala:42)
    at isabelle.eclipse.core.app.IsabelleBuild$$anonfun$1.apply(IsabelleBuild.scala:42)
    at scala.util.Try$.apply(Try.scala:161)
    at isabelle.eclipse.core.app.IsabelleBuild$.init(IsabelleBuild.scala:42)
    at isabelle.eclipse.core.app.IsabelleBuild$.sessions(IsabelleBuild.scala:69)
    at isabelle.eclipse.launch.config.IsabelleLaunch$.availableSessions(IsabelleLaunch.scala:69)
    at isabelle.eclipse.launch.tabs.SessionSelectComponent$SessionLoadJob.run(SessionSelectComponent.scala:186)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
andriusvelykis commented 11 years ago

Fixed in 8c694e9df9d5dcb0cbbbb11d703ac1efc4ba2545

Added a special Isabelle for Windows launch configuration, which requires setting Cygwin root directory to use with Isabelle. The root directory is suggested by default based on Isabelle directory selection (Cygwin is in <ISABELLE_ROOT>/contrib/cygwin in Isabelle 2013). The root directory is then set as cygwin.root system property before initialising Isabelle.

Implemented as a general provision for system properties. Launch configurations can provide system property mappings to set before initialisation.