support for separate sub-system options, independent of main Isabelle options;
authorwenzelm
Thu, 13 Oct 2016 11:54:06 +0200
changeset 64186 49816908ae42
parent 64185 f4d5eb78b8a5
child 64187 450e06dabdd9
support for separate sub-system options, independent of main Isabelle options; tuned;
Admin/cronjob/cronjob.options
src/Pure/Admin/isabelle_cronjob.scala
src/Pure/System/options.scala
--- /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