18 val cronjob_log: Path = root + Path.basic(CRONJOB_LOG) |
17 val cronjob_log: Path = root + Path.basic(CRONJOB_LOG) |
19 |
18 |
20 |
19 |
21 /* index */ |
20 /* index */ |
22 |
21 |
23 def make_index(): Unit = |
22 def make_index(): Unit = { |
24 { |
|
25 val redirect = "https://isabelle-dev.sketis.net/home/menu/view/20" |
23 val redirect = "https://isabelle-dev.sketis.net/home/menu/view/20" |
26 |
24 |
27 HTML.write_document(root, "index.html", |
25 HTML.write_document(root, "index.html", |
28 List( |
26 List( |
29 XML.Elem(Markup("meta", |
27 XML.Elem(Markup("meta", |
32 } |
30 } |
33 |
31 |
34 |
32 |
35 /* release snapshot */ |
33 /* release snapshot */ |
36 |
34 |
37 def release_snapshot(options: Options, rev: String, afp_rev: String): Unit = |
35 def release_snapshot(options: Options, rev: String, afp_rev: String): Unit = { |
38 { |
36 Isabelle_System.with_tmp_dir("isadist")(target_dir => { |
39 Isabelle_System.with_tmp_dir("isadist")(target_dir => |
|
40 { |
|
41 Isabelle_System.update_directory(root + Path.explode(RELEASE_SNAPSHOT), |
37 Isabelle_System.update_directory(root + Path.explode(RELEASE_SNAPSHOT), |
42 website_dir => |
38 website_dir => { |
43 { |
|
44 val context = Build_Release.Release_Context(target_dir) |
39 val context = Build_Release.Release_Context(target_dir) |
45 Build_Release.build_release_archive(context, rev) |
40 Build_Release.build_release_archive(context, rev) |
46 Build_Release.build_release(options, context, afp_rev = afp_rev, |
41 Build_Release.build_release(options, context, afp_rev = afp_rev, |
47 build_sessions = List(Isabelle_System.getenv("ISABELLE_LOGIC")), |
42 build_sessions = List(Isabelle_System.getenv("ISABELLE_LOGIC")), |
48 website = Some(website_dir)) |
43 website = Some(website_dir)) |
51 } |
46 } |
52 |
47 |
53 |
48 |
54 /* maintain build_log database */ |
49 /* maintain build_log database */ |
55 |
50 |
56 def build_log_database(options: Options, log_dirs: List[Path]): Unit = |
51 def build_log_database(options: Options, log_dirs: List[Path]): Unit = { |
57 { |
|
58 val store = Build_Log.store(options) |
52 val store = Build_Log.store(options) |
59 using(store.open_database())(db => |
53 using(store.open_database())(db => { |
60 { |
|
61 store.update_database(db, log_dirs) |
54 store.update_database(db, log_dirs) |
62 store.update_database(db, log_dirs, ml_statistics = true) |
55 store.update_database(db, log_dirs, ml_statistics = true) |
63 store.snapshot_database(db, root + Path.explode(BUILD_LOG_DB)) |
56 store.snapshot_database(db, root + Path.explode(BUILD_LOG_DB)) |
64 }) |
57 }) |
65 } |
58 } |
66 |
59 |
67 |
60 |
68 /* present build status */ |
61 /* present build status */ |
69 |
62 |
70 def build_status(options: Options): Unit = |
63 def build_status(options: Options): Unit = { |
71 { |
|
72 Isabelle_System.update_directory(root + Path.explode(BUILD_STATUS), |
64 Isabelle_System.update_directory(root + Path.explode(BUILD_STATUS), |
73 dir => Build_Status.build_status(options, target_dir = dir, ml_statistics = true)) |
65 dir => Build_Status.build_status(options, target_dir = dir, ml_statistics = true)) |
74 } |
66 } |
75 } |
67 } |