The resources for releasing a new stable version are included in the distribution:
file in the directory for details. The main release script is:
This script performs a git clone and builds the sources archive, the manuals archive, the SWI-Prolog pack, and all the installers with the exception of the Windows installer. The macOS installer must be compressed from the Finder.
VERSION.txt should be update just before the new release is tagged. Same for the
core/core.pl file, where the
'$lgt_version_data'/1 predicate definiton should have the status changed to
stable. Any status version, e.g.
b04, should also be removed from the
manuals/sources/conf.py files. The
scripts/debian/changelog file should be changed to reflect the released date and release week day.
The build of the Windows
.exe installer requires a PC or a virtual machine running Windows 7 or later and the Inno Setup script that is also included with the distribution:
Build the Windows
.exe installer first before running the
script and copy the installer to the script directory.
The installers should be built and checked before tagging the stable release in case some installer issue is found.
The HTML and SVG versions of the Handbook and the API documentation are usually kept up-to-date using the scripts:
$ sudo pip install --upgrade pygments
$ sudo pip install --upgrade sphinx
$ sudo pip install --upgrade sphinx_rtd_theme
It may also be necessary to patch the Pygments installation with the latest version of syntax highlighting support files from the
Before running the documentation scripts, the version data in the
docs/sources/_conf.py files must be updated.
Docker stable image
After tagging the stable release (and pushing the tag to GitHub), the stable release Docker images are generated using the script at:
After uploading the generated archives, to update the SWI-Prolog pack, start
swipl and use the following queries (replace
XY.Z with the version numbers):
?- pack_remove(logtalk). % if installed
The first step is to update the LogtalkDotOrg/chocolatey-packages repo
chocolateyInstall.ps1 files with the data for the new stable release, commit, and push the changes. Then, from a Windows system
cmd shell, change directory to the repo clone and type the commands:
choco push -s https://push.chocolatey.org/
The above commands assume the API key is set. If that’s not the case, before pushing a new release, the following command is required (with
KEY replace by the actual key):
choco apikey --key KEY --source https://push.chocolatey.org/
Updating HTML versions of the man pages
The HTML versions of the man pages are generated using
roffit from the https://github.com/LogtalkDotOrg/logtalk3/blob/master/scripts/update_man_html_versions.sh
shell script. After running the script, the HTML files are saved in the same directory as the man pages.