equal
deleted
inserted
replaced
53 yield c1.getDeclaredConstructor().newInstance().asInstanceOf[C] |
53 yield c1.getDeclaredConstructor().newInstance().asInstanceOf[C] |
54 |
54 |
55 |
55 |
56 /* init settings + services */ |
56 /* init settings + services */ |
57 |
57 |
58 def make_services(): List[Class[Service]] = { |
58 def get_services(): List[Class[Service]] = { |
59 def make(where: String, names: List[String]): List[Class[Service]] = { |
59 def make(where: String, names: List[String]): List[Class[Service]] = { |
60 for (name <- names) yield { |
60 for (name <- names) yield { |
61 def err(msg: String): Nothing = |
61 def err(msg: String): Nothing = |
62 error("Bad Isabelle/Scala service " + quote(name) + " in " + where + "\n" + msg) |
62 error("Bad Isabelle/Scala service " + quote(name) + " in " + where + "\n" + msg) |
63 try { Class.forName(name).asInstanceOf[Class[Service]] } |
63 try { Class.forName(name).asInstanceOf[Class[Service]] } |
73 |
73 |
74 def from_jar(platform_jar: String): List[Class[Service]] = |
74 def from_jar(platform_jar: String): List[Class[Service]] = |
75 make(quote(platform_jar), |
75 make(quote(platform_jar), |
76 isabelle.setup.Build.get_services(JPath.of(platform_jar)).asScala.toList) |
76 isabelle.setup.Build.get_services(JPath.of(platform_jar)).asScala.toList) |
77 |
77 |
78 from_env("ISABELLE_SCALA_SERVICES") ::: Scala.class_path().flatMap(from_jar) |
78 from_env("ISABELLE_SCALA_SERVICES") ::: Scala.get_classpath().flatMap(from_jar) |
79 } |
79 } |
80 |
80 |
81 def init(isabelle_root: String = "", cygwin_root: String = ""): Unit = { |
81 def init(isabelle_root: String = "", cygwin_root: String = ""): Unit = { |
82 isabelle.setup.Environment.init(isabelle_root, cygwin_root) |
82 isabelle.setup.Environment.init(isabelle_root, cygwin_root) |
83 synchronized { if (_services.isEmpty) { _services = Some(make_services()) } } |
83 synchronized { if (_services.isEmpty) { _services = Some(get_services()) } } |
84 } |
84 } |
85 |
85 |
86 |
86 |
87 /* getetc -- static distribution parameters */ |
87 /* getetc -- static distribution parameters */ |
88 |
88 |