support for separate sub-system options, independent of main Isabelle options;
tuned;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Admin/cronjob/cronjob.options Thu Oct 13 11:54:06 2016 +0200
@@ -0,0 +1,7 @@
+(* :mode=isabelle-options: *)
+
+option isabelle_repos : string = "http://isabelle.in.tum.de/repos/isabelle"
+
+option isabelle_release_repos : string = "http://bitbucket.org/isabelle_project/isabelle-release"
+
+option afp_repos : string = "https://bitbucket.org/isa-afp/afp-devel"
--- a/src/Pure/Admin/isabelle_cronjob.scala Thu Oct 13 11:43:40 2016 +0200
+++ b/src/Pure/Admin/isabelle_cronjob.scala Thu Oct 13 11:54:06 2016 +0200
@@ -125,6 +125,8 @@
/** cronjob **/
+ def init_options(): Options = Options.load(Path.explode("~~/Admin/cronjob/cronjob.options"))
+
def cronjob(progress: Progress)
{
/* soft lock */
--- a/src/Pure/System/options.scala Thu Oct 13 11:43:40 2016 +0200
+++ b/src/Pure/System/options.scala Thu Oct 13 11:54:06 2016 +0200
@@ -124,6 +124,9 @@
}
}
+ def load(file: Path): Options =
+ Parser.parse_file(options_syntax, Parser.option_entry, empty, file)
+
def init_defaults(): Options =
{
var options = empty
@@ -197,7 +200,7 @@
val options: Map[String, Options.Opt] = Map.empty,
val section: String = "")
{
- override def toString: String = options.iterator.mkString("Options (", ",", ")")
+ override def toString: String = options.iterator.mkString("Options(", ",", ")")
private def print_opt(opt: Options.Opt): String =
if (opt.public) "public " + opt.print else opt.print