[isabelle-dev] Admin/components/README.md

Makarius makarius at sketis.net
Mon Mar 25 20:03:14 CET 2024

Isabelle/36e33d227bf0 now provides Admin/components/README.md as merged and 
updated version of former PLATFORMS + README in that directory.

Using Markdown makes it look more fancy, but that is also difficult to do 
properly, because there are too many Markdown standards. This version is meant 
to work for VSCode and Phabricator, e.g. see the bottom of 

Concerning the text, the main addition is:

### Repeatable component builds ###

Historically, Isabelle components have often been assembled manually, packaged
as `.tar.gz` and uploaded to the administrative directory. This model no
longer fits the typical complexity of multi-platform tools.

The current quality standard demands a separate tool in Isabelle/Scala, to
build a component in a repeatable manner: e.g. see `isabelle component_jdk` or
`isabelle component_e` with sources in `src/Pure/Admin`. Such tools often
require a Unix platform (Linux or macOS), or the specific platform for which
the target is built. In the latter case, the component build tool is run
manually in each operating-system context, using the base-line versions
specified above (e.g. via Docker); all results are assembled into one big
`.tar.gz` archive.

Multi-platform tools also require thorough testing on all platforms: base-line
and latest versions. It "works for me on my system" is not sufficient for the
general public.


More information about the isabelle-dev mailing list