gap-system/ReleaseTools

Regression: release fails for packages with multiple manuals / where `PackageDoc` is a list

fingolfin opened this issue · 0 comments

In PR #79 @zickgraf implemented attaching "the" manual PDF to a release.

Unfortunately, this lead to a regression, because there are packages which have multiple manuals; hence PackageDoc can be a record or a list of records. Thus this line can run into an error:

Print("PDFFile=\"",GAPInfo.PackageInfoCurrent.PackageDoc.PDFFile,"\"\n");

The immediate workaround would be to use something like this:

r := GAPInfo.PackageInfoCurrent.PackageDoc.PDFFile;;
if IsList(r) then r:=r[1]; fi;
Print("PDFFile=\"",r,"\"\n");

However, that would then only upload the "first" PDF; but what if there are multiple manuals, each with a PDF? Perhaps we should upload them all? I guess one could try to set PDFFile to a bash array of manual names...