112 afp_partition: Int = 0, |
112 afp_partition: Int = 0, |
113 isabelle_identifier: String = default_isabelle_identifier, |
113 isabelle_identifier: String = default_isabelle_identifier, |
114 ml_statistics_step: Int = 1, |
114 ml_statistics_step: Int = 1, |
115 components_base: String = "", |
115 components_base: String = "", |
116 fresh: Boolean = false, |
116 fresh: Boolean = false, |
|
117 hostname: String = "", |
117 nonfree: Boolean = false, |
118 nonfree: Boolean = false, |
118 multicore_base: Boolean = false, |
119 multicore_base: Boolean = false, |
119 multicore_list: List[(Int, Int)] = List(default_multicore), |
120 multicore_list: List[(Int, Int)] = List(default_multicore), |
120 arch_64: Boolean = false, |
121 arch_64: Boolean = false, |
121 heap: Int = default_heap, |
122 heap: Int = default_heap, |
174 |
175 |
175 val other_isabelle = |
176 val other_isabelle = |
176 Other_Isabelle(root, isabelle_identifier = isabelle_identifier, |
177 Other_Isabelle(root, isabelle_identifier = isabelle_identifier, |
177 user_home = user_home, progress = progress) |
178 user_home = user_home, progress = progress) |
178 |
179 |
179 val build_host = Isabelle_System.hostname() |
180 val build_host = proper_string(hostname) getOrElse Isabelle_System.hostname() |
180 val build_history_date = Date.now() |
181 val build_history_date = Date.now() |
181 val build_group_id = build_host + ":" + build_history_date.time.ms |
182 val build_group_id = build_host + ":" + build_history_date.time.ms |
182 |
183 |
183 var first_build = true |
184 var first_build = true |
184 for ((threads, processes) <- multicore_list) yield |
185 for ((threads, processes) <- multicore_list) yield |
400 var multicore_list = List(default_multicore) |
401 var multicore_list = List(default_multicore) |
401 var isabelle_identifier = default_isabelle_identifier |
402 var isabelle_identifier = default_isabelle_identifier |
402 var afp_partition = 0 |
403 var afp_partition = 0 |
403 var more_settings: List[String] = Nil |
404 var more_settings: List[String] = Nil |
404 var fresh = false |
405 var fresh = false |
|
406 var hostname = "" |
405 var init_settings: List[String] = Nil |
407 var init_settings: List[String] = Nil |
406 var arch_64 = false |
408 var arch_64 = false |
407 var nonfree = false |
409 var nonfree = false |
408 var output_file = "" |
410 var output_file = "" |
409 var rev = default_rev |
411 var rev = default_rev |
426 -N NAME alternative ISABELLE_IDENTIFIER (default: """ + default_isabelle_identifier + """) |
428 -N NAME alternative ISABELLE_IDENTIFIER (default: """ + default_isabelle_identifier + """) |
427 -P NUMBER AFP partition number (0, 1, 2, default: 0=unrestricted) |
429 -P NUMBER AFP partition number (0, 1, 2, default: 0=unrestricted) |
428 -U SIZE maximal ML heap in MB (default: unbounded) |
430 -U SIZE maximal ML heap in MB (default: unbounded) |
429 -e TEXT additional text for generated etc/settings |
431 -e TEXT additional text for generated etc/settings |
430 -f fresh build of Isabelle/Scala components (recommended) |
432 -f fresh build of Isabelle/Scala components (recommended) |
|
433 -h NAME override local hostname |
431 -i TEXT initial text for generated etc/settings |
434 -i TEXT initial text for generated etc/settings |
432 -m ARCH processor architecture (32=x86, 64=x86_64, default: x86) |
435 -m ARCH processor architecture (32=x86, 64=x86_64, default: x86) |
433 -n include nonfree components |
436 -n include nonfree components |
434 -o FILE output file for log names (default: stdout) |
437 -o FILE output file for log names (default: stdout) |
435 -r REV update to revision (default: """ + default_rev + """) |
438 -r REV update to revision (default: """ + default_rev + """) |
453 "N:" -> (arg => isabelle_identifier = arg), |
456 "N:" -> (arg => isabelle_identifier = arg), |
454 "P:" -> (arg => afp_partition = Value.Int.parse(arg)), |
457 "P:" -> (arg => afp_partition = Value.Int.parse(arg)), |
455 "U:" -> (arg => max_heap = Some(Value.Int.parse(arg))), |
458 "U:" -> (arg => max_heap = Some(Value.Int.parse(arg))), |
456 "e:" -> (arg => more_settings = more_settings ::: List(arg)), |
459 "e:" -> (arg => more_settings = more_settings ::: List(arg)), |
457 "f" -> (_ => fresh = true), |
460 "f" -> (_ => fresh = true), |
|
461 "h:" -> (arg => hostname = arg), |
458 "i:" -> (arg => init_settings = init_settings ::: List(arg)), |
462 "i:" -> (arg => init_settings = init_settings ::: List(arg)), |
459 "m:" -> |
463 "m:" -> |
460 { |
464 { |
461 case "32" | "x86" => arch_64 = false |
465 case "32" | "x86" => arch_64 = false |
462 case "64" | "x86_64" => arch_64 = true |
466 case "64" | "x86_64" => arch_64 = true |
482 |
486 |
483 val results = |
487 val results = |
484 build_history(Options.init(), root, user_home = user_home, progress = progress, rev = rev, |
488 build_history(Options.init(), root, user_home = user_home, progress = progress, rev = rev, |
485 afp_rev = afp_rev, afp_partition = afp_partition, |
489 afp_rev = afp_rev, afp_partition = afp_partition, |
486 isabelle_identifier = isabelle_identifier, ml_statistics_step = ml_statistics_step, |
490 isabelle_identifier = isabelle_identifier, ml_statistics_step = ml_statistics_step, |
487 components_base = components_base, fresh = fresh, nonfree = nonfree, |
491 components_base = components_base, fresh = fresh, hostname = hostname, nonfree = nonfree, |
488 multicore_base = multicore_base, multicore_list = multicore_list, arch_64 = arch_64, |
492 multicore_base = multicore_base, multicore_list = multicore_list, arch_64 = arch_64, |
489 heap = heap.getOrElse(if (arch_64) default_heap * 2 else default_heap), |
493 heap = heap.getOrElse(if (arch_64) default_heap * 2 else default_heap), |
490 max_heap = max_heap, init_settings = init_settings, more_settings = more_settings, |
494 max_heap = max_heap, init_settings = init_settings, more_settings = more_settings, |
491 verbose = verbose, build_tags = build_tags, build_args = build_args) |
495 verbose = verbose, build_tags = build_tags, build_args = build_args) |
492 |
496 |