--- a/src/Pure/System/isabelle_system.scala Tue Apr 07 22:13:22 2020 +0200
+++ b/src/Pure/System/isabelle_system.scala Wed Apr 08 13:14:05 2020 +0200
@@ -54,7 +54,7 @@
_settings.get
}
- def init(isabelle_root: String = "", cygwin_root: String = ""): Unit = synchronized {
+ private def init_settings(isabelle_root: String = "", cygwin_root: String = ""): Unit = synchronized {
if (_settings.isEmpty) {
val isabelle_root1 =
bootstrap_directory(isabelle_root, "ISABELLE_ROOT", "isabelle.root", "Isabelle root")
@@ -127,6 +127,12 @@
}
}
+ def init()
+ {
+ init_settings()
+ services
+ }
+
/* getenv */
@@ -383,6 +389,13 @@
}
+ /* user-defined services */
+
+ abstract class Service
+
+ lazy val services: List[Service] = init_classes[Service]("ISABELLE_SCALA_SERVICES")
+
+
/* default logic */
def default_logic(args: String*): String =