--- a/Admin/cronjob/README Fri Nov 03 14:14:17 2017 +0100
+++ b/Admin/cronjob/README Fri Nov 03 17:27:00 2017 +0100
@@ -1,13 +1,14 @@
Administrative Isabelle cronjob at TUM
======================================
+- jobs: manual installation on target directory:
+ cp "$ISABELLE_HOME/Admin/cronjob/self_update "$HOME/cronjob/self_update"
+ cp "$ISABELLE_HOME/Admin/cronjob/plain_identify "$HOME/cronjob/plain_identify"
+
- crontab: manual update on target machine
crontab -l
crontab -e
-- self_update: manual installation on target directory
- cp "$ISABELLE_HOME/Admin/cronjob/self_update "$HOME/cronjob/self_update"
-
- $HOME/cronjob/run/ -- run-time state
- $HOME/cronjob/log/ -- cumulative log area
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Admin/cronjob/crontab.lxbroy5 Fri Nov 03 17:27:00 2017 +0100
@@ -0,0 +1,4 @@
+SHELL=/bin/bash
+MAILTO=wenzelm
+
+47 00 * * * $HOME/cronjob/plain_identify
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Admin/cronjob/plain_identify Fri Nov 03 17:27:00 2017 +0100
@@ -0,0 +1,50 @@
+#!/bin/bash
+#
+# Plain identify job for Isabelle + AFP
+#
+
+set -e
+
+source "$HOME/.bashrc"
+
+LANG=C
+
+REPOS_DIR="$HOME/cronjob/plain_identify_repos"
+ISABELLE_REPOS_SOURCE="http://isabelle.in.tum.de/repos/isabelle"
+AFP_REPOS_SOURCE="https://bitbucket.org/isa-afp/afp-devel"
+
+function setup_repos ()
+{
+ local NAME="$1"
+ local SOURCE="$2"
+ mkdir -p "$REPOS_DIR"
+ if [ ! -d "$REPOS_DIR/$NAME" ]; then
+ hg clone --noupdate -q "$SOURCE" "$REPOS_DIR/$NAME"
+ fi
+}
+
+function identify_repos ()
+{
+ local NAME="$1"
+ hg pull -R "$REPOS_DIR/$NAME" -q
+ local ID="$(hg tip -R "$REPOS_DIR/$NAME" --template "{node|short}")"
+ echo "$NAME version: $ID"
+}
+
+setup_repos "Isabelle" "$ISABELLE_REPOS_SOURCE"
+setup_repos "AFP" "$AFP_REPOS_SOURCE"
+
+NOW="$(date --rfc-3339=ns)"
+LOG_DIR="$HOME/cronjob/log/$(date -d "$NOW" "+%Y")"
+LOG_SECONDS="$(($(date -d "$NOW" +"%s") - $(date -d 'today 00:00:00' "+%s")))"
+LOG_NAME="plain_identify_$(date -d "$NOW" "+%Y-%m-%d").$(printf "%05d" "$LOG_SECONDS").log"
+
+mkdir -p "$LOG_DIR"
+
+{
+ echo -n "isabelle_identify: "
+ date -d "$NOW" "+%a %b %-d %H:%M:%S %Z %Y"
+ echo
+ identify_repos "Isabelle"
+ identify_repos "AFP"
+} > "$LOG_DIR/$LOG_NAME"
--- a/src/Pure/Admin/build_log.scala Fri Nov 03 14:14:17 2017 +0100
+++ b/src/Pure/Admin/build_log.scala Fri Nov 03 17:27:00 2017 +0100
@@ -133,8 +133,8 @@
def is_log(file: JFile,
prefixes: List[String] =
- List(Build_History.log_prefix, Identify.log_prefix, Isatest.log_prefix,
- AFP_Test.log_prefix, Jenkins.log_prefix),
+ List(Build_History.log_prefix, Identify.log_prefix, Identify.log_prefix2,
+ Isatest.log_prefix, AFP_Test.log_prefix, Jenkins.log_prefix),
suffixes: List[String] = List(".log", ".log.gz", ".log.xz")): Boolean =
{
val name = file.getName
@@ -314,9 +314,11 @@
object Identify
{
val log_prefix = "isabelle_identify_"
+ val log_prefix2 = "plain_identify_"
def engine(log_file: Log_File): String =
if (log_file.name.startsWith(Jenkins.log_prefix)) "jenkins_identify"
+ else if (log_file.name.startsWith(log_prefix2)) "plain_identify"
else "identify"
def content(date: Date, isabelle_version: Option[String], afp_version: Option[String]): String =