Last active
October 11, 2016 12:33
-
-
Save tbrowder/6f36138f4f3f704ac650b06ffc4bd7b5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
NOTES: | |
1. The following comments are from my initial foray into the current Perl 6 | |
ecosystem and they are an attempt to help me understand my place in it as a | |
module developer. All opinions are mine and are subject to change based | |
on new empirical evidence or critique by those who know the system better | |
than I. | |
2. The description assumes use of Github for all version control but could | |
probably apply to other public version control systems as well. | |
3. The observations at the moment do not include looks at the internals of | |
projects zef or panda. | |
Perl 6 Ecosystem | |
---------------- | |
1. The module developer of, say, A-b::C, enters (or requests a PR) for one | |
or more entries in the META.list file at https://github.com/perl6/ecosystem. | |
2. Each entry is a url to the raw META6.json (or, deprecated, META.info) file | |
for either a released version or the curent master branch. | |
3. A cron job on a server (modules.perl6.org?) regularly builds or updates an | |
sqlite database using code from https://github.com/perl6/modules.perl6.org. | |
That database is the canonical source for default Perl 6 module information | |
for installers (currently primary candidates zef and panda). | |
Problems I see (in no particular order) | |
--------------------------------------- | |
- The current db as displayed on the server lists only one version of each module. | |
- The META6.json format needs to be extended a bit to allow for other information | |
needed by various client services, e.g., | |
+ Distinguish between the current master branch and the latest release commit. | |
- The module display server on https://modules.perl6.org needs to have multiple | |
pages or each module showing data for each release as well as the current master | |
branch. The display for each version should diplay the Travis build results | |
for that version (an existing issue filed by ZoffixNet). | |
- Much of the tooling is in Perl 5 and should be converted to Perl 6 at some | |
point. | |
- Formats and conventions for acceptable modules need to be specified where | |
necessary to lighten the ecosystem maintenance burden. | |
- if the goal is to integrate with CPAN, module authors should be required | |
to register a CPAN author name now, such name which will also be required | |
to be in the META6.json file | |
- Much more of the system can be automated given a reasonable META6.json for | |
each module's entries. | |
- All META.info files should be renamed to META6.json. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment