further distinction of Isabelle distribution: alert for identified release candidates;
1.1 --- a/Admin/lib/Tools/makedist Thu Jul 24 15:13:37 2014 +0200
1.2 +++ b/Admin/lib/Tools/makedist Thu Jul 24 15:54:56 2014 +0200
1.3 @@ -23,6 +23,7 @@
1.4 echo "Usage: isabelle $PRG [OPTIONS] [VERSION]"
1.5 echo
1.6 echo " Options are:"
1.7 + echo " -O official release (not release-candidate)"
1.8 echo " -d DIR global directory prefix (default: \"$DISTPREFIX\")"
1.9 echo " -j INT maximum number of parallel jobs (default 1)"
1.10 echo " -r RELEASE proper release with name"
1.11 @@ -53,12 +54,16 @@
1.12
1.13 # options
1.14
1.15 +OFFICIAL_RELEASE="false"
1.16 JOBS=""
1.17 RELEASE=""
1.18
1.19 while getopts "d:j:r:" OPT
1.20 do
1.21 case "$OPT" in
1.22 + O)
1.23 + OFFICIAL_RELEASE="true"
1.24 + ;;
1.25 d)
1.26 DISTPREFIX="$OPTARG"
1.27 ;;
1.28 @@ -143,14 +148,23 @@
1.29 echo "This is a snapshot of Isabelle/${IDENT} from the repository."
1.30 echo
1.31 } >ANNOUNCE
1.32 +fi
1.33 +
1.34 +if [ -n "$RELEASE" -a "$OFFICIAL_RELEASE" = true ]; then
1.35 + IS_OFFICIAL="true"
1.36 else
1.37 - perl -pi -e "s,val is_official = false,val is_official = true,g" src/Pure/ROOT.ML
1.38 + IS_OFFICIAL="false"
1.39 fi
1.40
1.41 +perl -pi \
1.42 + -e "s,val is_identified = false,val is_identified = true,g" \
1.43 + -e "s,val is_official = false,val is_official = ${IS_OFFICIAL},g" \
1.44 + src/Pure/ROOT.ML src/Pure/ROOT.scala
1.45 +
1.46 perl -pi -e "s,ISABELLE_ID=\"\",ISABELLE_ID=\"$IDENT\",g" lib/scripts/getsettings
1.47 perl -pi -e "s,ISABELLE_IDENTIFIER=\"\",ISABELLE_IDENTIFIER=\"$DISTNAME\",g" lib/scripts/getsettings
1.48 perl -pi -e "s,{ISABELLE},$DISTNAME,g" lib/html/library_index_header.template
1.49 -perl -pi -e "s,unidentified repository version,$DISTVERSION,g" src/Pure/ROOT.ML lib/Tools/version
1.50 +perl -pi -e "s,unidentified repository version,$DISTVERSION,g" src/Pure/ROOT.ML src/Pure/ROOT.scala lib/Tools/version
1.51 perl -pi -e "s,some unidentified repository version of Isabelle,$DISTVERSION,g" README
1.52
1.53 mkdir -p contrib
2.1 --- a/src/Pure/PIDE/session.ML Thu Jul 24 15:13:37 2014 +0200
2.2 +++ b/src/Pure/PIDE/session.ML Thu Jul 24 15:54:56 2014 +0200
2.3 @@ -26,7 +26,7 @@
2.4 fun name () = "Isabelle/" ^ #name (! session);
2.5
2.6 fun welcome () =
2.7 - if Distribution.is_official then
2.8 + if Distribution.is_identified then
2.9 "Welcome to " ^ name () ^ " (" ^ Distribution.version ^ ")"
2.10 else "Unofficial version of " ^ name () ^ " (" ^ Distribution.version ^ ")";
2.11
3.1 --- a/src/Pure/ROOT.ML Thu Jul 24 15:13:37 2014 +0200
3.2 +++ b/src/Pure/ROOT.ML Thu Jul 24 15:54:56 2014 +0200
3.3 @@ -5,6 +5,7 @@
3.4 structure Distribution = (*filled-in by makedist*)
3.5 struct
3.6 val version = "unidentified repository version";
3.7 + val is_identified = false;
3.8 val is_official = false;
3.9 end;
3.10
4.1 --- a/src/Pure/ROOT.scala Thu Jul 24 15:13:37 2014 +0200
4.2 +++ b/src/Pure/ROOT.scala Thu Jul 24 15:54:56 2014 +0200
4.3 @@ -7,5 +7,11 @@
4.4
4.5 package object isabelle extends isabelle.Basic_Library
4.6 {
4.7 + object Distribution /*filled-in by makedist*/
4.8 + {
4.9 + val version = "unidentified repository version"
4.10 + val is_identified = false
4.11 + val is_official = false
4.12 + }
4.13 }
4.14
5.1 --- a/src/Tools/jEdit/src/plugin.scala Thu Jul 24 15:13:37 2014 +0200
5.2 +++ b/src/Tools/jEdit/src/plugin.scala Thu Jul 24 15:54:56 2014 +0200
5.3 @@ -309,6 +309,13 @@
5.4 case msg: EditorStarted =>
5.5 PIDE.session.start("Isabelle", Isabelle_Logic.session_args())
5.6
5.7 + if (Distribution.is_identified && !Distribution.is_official) {
5.8 + GUI.warning_dialog(jEdit.getActiveView, "Isabelle release candidate for testing",
5.9 + "This is " + Distribution.version +".",
5.10 + "It is for testing only, not for production use.")
5.11 + }
5.12 +
5.13 +
5.14 case msg: BufferUpdate
5.15 if msg.getWhat == BufferUpdate.LOADED ||
5.16 msg.getWhat == BufferUpdate.PROPERTIES_CHANGED ||