-
Notifications
You must be signed in to change notification settings - Fork 161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support package extensions (see the manual section "Extensions Provided by a Package") #5375
Support package extensions (see the manual section "Extensions Provided by a Package") #5375
Conversation
Adding an exhaustive list of supported PackageInfo.g entries somewhere is one of our open issues (It could be in the reference manual, or in a separate "package author guides", or whatever; once it exists, moving it wouldn't be hard either). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great!
I've made some suggestions for the docs. Happy to discuss them, perhaps someone has better suggestions
as proposed in issue gap-system#5372
- addresses the comments: changed the `Extensions` format to be a list of records, such that the condition is given by a list of package/version pairs - added a test
- addressed the comments, - added the `Extensions` component to the documented components of `PackageInfo.g`, - improved the description of `PackageInfo.g` (continuing what has been done in gap-system#5376)
d9d842d
to
e87bce0
Compare
The failure of "Wrap releases ..." is due to an inconsistency of https://github.com/gap-system/PackageDistro/releases/download/latest/package-infos.json.gz.sha256 and https://github.com/gap-system/PackageDistro/releases/download/latest/package-infos.json.gz |
The Julia package GAP.jl provides an interface between GAP and Julia. It uses PackageManager for installing and loading GAP packages. As soon as GAP has access to a Julia session, a natural way to download files is via the Julia package Downloads.jl. Therefore, GAP.jl had replaced `PKGMAN_DownloadURL` by a Julia function that uses this approach. Since pull request gap-system/gap#5375 got merged, we can use its new feature such that the PackageManager package can perform this replacement under the condition that GAP.jl is available in the GAP session.
The Julia package GAP.jl provides an interface between GAP and Julia. It uses PackageManager for installing and loading GAP packages. As soon as GAP has access to a Julia session, a natural way to download files is via the Julia package Downloads.jl. Therefore, GAP.jl had replaced `PKGMAN_DownloadURL` by a Julia function that uses this approach. Since pull request gap-system/gap#5375 got merged, we can use its new feature such that the PackageManager package can perform this replacement under the condition that GAP.jl is available in the GAP session.
The feature is proposed in issue #5372.
Eventually the feature must be documented.(And the tile must be extended by a link to the relevant manual section, in order to serve as an entry for the release notes.)
Concerning the documentatiion, as far as I understand, it is recommended to add the new component in
PackageInfo.g
files in thePackageInfo.g
file of the Example package, and to support the component in PackageMaker,but there is no exhaustive list of supported components in
PackageInfo.g
files in the Reference Manual.