Skip to content
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

Merged
merged 4 commits into from
Feb 16, 2023

Conversation

ThomasBreuer
Copy link
Contributor

@ThomasBreuer ThomasBreuer commented Feb 8, 2023

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 the PackageInfo.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.

@ThomasBreuer ThomasBreuer added kind: new feature topic: packages issues or PRs related to package handling, or specific to a package (for packages w/o issue tracker) release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes labels Feb 8, 2023
@fingolfin
Copy link
Member

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).

lib/package.gi Outdated Show resolved Hide resolved
lib/package.gi Outdated Show resolved Hide resolved
@ThomasBreuer ThomasBreuer changed the title Support package extensions Support package extensions (see the manual section "Extensions Provided by a Package") Feb 9, 2023
Copy link
Member

@fingolfin fingolfin left a 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

doc/ref/gappkg.xml Outdated Show resolved Hide resolved
doc/ref/gappkg.xml Outdated Show resolved Hide resolved
doc/ref/gappkg.xml Outdated Show resolved Hide resolved
doc/ref/gappkg.xml Outdated Show resolved Hide resolved
doc/ref/gappkg.xml Outdated Show resolved Hide resolved
doc/ref/gappkg.xml Outdated Show resolved Hide resolved
- 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)
@fingolfin fingolfin merged commit c96b815 into gap-system:master Feb 16, 2023
@ThomasBreuer ThomasBreuer deleted the TB_package_extensions branch February 16, 2023 16:19
ThomasBreuer added a commit to ThomasBreuer/PackageManager that referenced this pull request Feb 17, 2023
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.
fingolfin pushed a commit to gap-packages/PackageManager that referenced this pull request Mar 20, 2023
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: new feature release notes: use title For PRs: the title of this PR is suitable for direct use in the release notes topic: packages issues or PRs related to package handling, or specific to a package (for packages w/o issue tracker)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants