build.props for isabelle.jar, including isabelle.jedit;
build minimal Isabelle/jEdit plugins on the spot;
regular "jedit" component: discontinued special "jedit_build";
Isabelle/Scala services via jars, instead of settings;
Checklist for official releases
===============================
- check latest updates of polyml, jdk, scala, jedit;
- check Admin/components;
- test "isabelle dump -b Pure ZF";
- test "isabelle build -o export_theory -f ZF";
- test "isabelle server" according to "system" manual;
- test Isabelle/VSCode;
- test Isabelle/jEdit: print buffer
- test "#!/usr/bin/env isabelle_scala_script";
- test Windows 10 subsystem for Linux:
https://docs.microsoft.com/en-us/windows/wsl/install-win10
- check (non-)executable files:
$ find . "(" -name "*.thy" -o -name "*.ML" -o -name "*.scala" -o -name ROOT ")" -executable
$ find -type f -executable
- check sources:
isabelle check_sources '~~' '$AFP_BASE'
- check ANNOUNCE, README, NEWS, COPYRIGHT, CONTRIBUTORS;
- check versions:
src/Tools/jEdit/src/Isabelle.props
src/Tools/jEdit/src-base/Isabelle_Base.props
- check Isabelle version:
src/Tools/VSCode/extension/README.md
src/Tools/VSCode/extension/package.json
- check funny base directory, e.g. "Test 中国";
- diff NEWS wrt. last official release, which is read-only;
- update https://isabelle.sketis.net/repos/isabelle-website
- check doc/Contents, $JEDIT_HOME/doc/Contents;
- test old HD display: Linux, Windows, macOS;
- macOS: check recent MacTeX;
- Windows: check recent MiKTeX;
- Phabricator:
. src/Doc/System/Phabricator.thy: check/update underlying Ubuntu version
. etc/options: check/update phabricator_version entries;
Repository fork
===============
- isabelle: finalize NEWS / CONTRIBUTORS -- proper headers for named release;
- isabelle-release: hg tag;
- isabelle: back to post-release mode -- after fork point;
Packaging
=========
- macOS: provide "gnutar" executable via shell PATH
(e.g. copy of /usr/bin/gnutar from Mountain Lion)
- fully-automated packaging (e.g. on lxcisa0):
hg up -r DISTNAME && Admin/build_release -D /home/isabelle/dist -b HOL -l -R DISTNAME
- Docker image:
isabelle build_docker -o Dockerfile -E -t makarius/isabelle:Isabelle2021 Isabelle2021_linux.tar.gz
docker login
docker push makarius/isabelle:Isabelle2021
docker tag ... latest
docker push makarius/isabelle:latest
https://hub.docker.com/r/makarius/isabelle
https://docs.docker.com/engine/reference/commandline/push
Post-release
============
- update Admin/Release/official
- update /home/isabelle and /home/isabelle/html-data