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

Solidify and document META6.json content #764

Closed
zoffixznet opened this issue Jul 26, 2016 · 14 comments
Closed

Solidify and document META6.json content #764

zoffixznet opened this issue Jul 26, 2016 · 14 comments
Assignees
Labels
big Issue consisting of many subissues docs Documentation issue (primary issue type)

Comments

@zoffixznet
Copy link
Contributor

zoffixznet commented Jul 26, 2016

We need to solidify what should be inside META6.json file, what format everything is, and what is optional and what is mandatory—and that should be well documented.

Based on this IRC conversation, what goes into META6.json is a bit muddy at the moment.

Based on ugexe's comments, the currently described S22 META6.json is up-to-date, except for what the resources property takes.

The properties we list in the documentation however are different. I think they talk about the old resources format and they still mention no-longer specced source-url key.

The new alternative for source-url is "support: { "source": .... However, only 26 modules out of 680 actually use it. Worse, it's specced as optional, however, panda will die if it cannot find either source-url or support.source and from what I recall, the modules.perl6.org dist builder will also have issues with dists that lack any source URLs in META.

So part of this Issue would be either changing the spec and making some kind of source URL mandatory or fixing our tooling.

My suggestion would be to go with least resistance and remove optional support.source property while adding a mandatory source-url property.

@moritz moritz added the docs Documentation issue (primary issue type) label Jul 26, 2016
@zoffixznet
Copy link
Contributor Author

Some potential fixes:

13:58   unmatched}  Then we just need to fix the tools that explode when no URLs are given
13:58   ugexe   the ecosystem could refuse to index them
13:58       source-url could be seen as an ecosystem related meta6 extension
``

@moritz moritz added the big Issue consisting of many subissues label Jul 26, 2016
@AlexDaniel
Copy link
Member

AlexDaniel commented Jul 26, 2016

FWIW, all modules without source-url:

https://raw.githubusercontent.com/zoffixznet/perl6-Pastebin-Shadowcat/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-Pastebin-Gist/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-App-Nopaste/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-Color/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-IRC-Client/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-WWW-Google-Time/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-Lingua-Conjunction/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-Number-Denominate/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-IRC-Client-Plugin-HNY/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-IRC-Client-Plugin-Factoid/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-Test-Output/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-IO-MiddleMan/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-Inline-Brainfuck/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-String-Quotemeta/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-Acme-Anguish/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-Config-From/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-Quantum-Collapse/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-Pretty-Topic/master/META6.json – no source-url
https://raw.githubusercontent.com/zoffixznet/perl6-RT-REST-Client/master/META6.json – no source-url
https://raw.githubusercontent.com/masak/tardis/master/META.info – no source-url
https://raw.githubusercontent.com/masak/007/master/META.info – no source-url
https://raw.githubusercontent.com/skids/perl6xproto/master/META6.json – no source-url
https://raw.githubusercontent.com/skids/perl6-Control-Bail/master/META6.json – no source-url
https://raw.githubusercontent.com/johnspurr/Lingua-EN-Stem-Porter/master/META6.json – no source-url
https://raw.githubusercontent.com/scovit/perl6-IRC-Async/master/META6.json – no source-url
https://raw.githubusercontent.com/Altai-man/perl6-Text-Tabs/master/META6.json – no source-url

@Altai-man
Copy link
Member

I've fixed last module. But I personally 👍 the idea about providing a common pattern for META6.json file, since inconsistency is not good.

@AlexDaniel
Copy link
Member

Did we already decide what counts as “fixing”?

@AlexDaniel
Copy link
Member

Like, there are currently 680 modules. If we decide that "support: { "source": is the way to go, then the amount of new modules will be like 2000 in the next, say, 2 years, meaning that even if existing modules don't switch to the recommended method, the majority of modules will be doing it right.

I don't think that the method of least resistance has any significant benefits on this stage. I'd much rather prefer solution that we can call “right” for many years to come.

@zoffixznet
Copy link
Contributor Author

Did we already decide what counts as “fixing”?

So far the conversation reached this: support.source is the specced optional field and source-url is the ecosystem extension that is mandatory, unless support.source is specified.

However, the source-url for all currently-added ecosystem modules can be derived from the META file URL, so I'd fix panda (and ufo, if it needs fixing) and that will let us consider source-url as vestigial leftover and when adding a module to our ecosystem no explicit URL will be required in the metafile

@zoffixznet
Copy link
Contributor Author

Actually, we may not even need to fix panda, but rather ensure the ecosystem generator panda uses fills in a support.source if both it and source-url are missing from the metafile

zoffixznet added a commit to Raku/ecosystem that referenced this issue Jul 26, 2016
Dummy module for ecosystem toolchain testing.

Related to Raku/doc#764
bduggan pushed a commit to bduggan/ecosystem that referenced this issue Sep 30, 2016
Dummy module for ecosystem toolchain testing.

Related to Raku/doc#764
bduggan pushed a commit to bduggan/ecosystem that referenced this issue Oct 14, 2016
Dummy module for ecosystem toolchain testing.

Related to Raku/doc#764
@JJ
Copy link
Contributor

JJ commented Mar 15, 2018

Can someone check if META6.json is solid enough? Either that, or totally melted. It's been two years...

@AlexDaniel
Copy link
Member

I guess it's more about this section: https://docs.perl6.org/language/modules#index-entry-META6.json-META6.json
I don't know if that example is modern enough.

@JJ
Copy link
Contributor

JJ commented Mar 15, 2018

support.source has been eliminated. Looks consistent with what it said it had to be done. On the other hand, compared with modern META6.json it lacks lots of things, like auth or support

@AlexDaniel
Copy link
Member

That should be done then to close this issue (perhaps ask on #perl6 if auth and support are actually intended to exist and were not just made up by a particular module author).

@JJ
Copy link
Contributor

JJ commented Mar 15, 2018

auth is definitely here to stay. Don't know about the rest. That particular META6.json is even bigger, also.

@JJ JJ self-assigned this Mar 15, 2018
@AlexDaniel
Copy link
Member

@JJ see also this: https://irclog.perlgeek.de/perl6-dev/2018-03-18#i_15935872

@tisonkun
Copy link
Member

@JJ JJ closed this as completed in bdc8292 May 2, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
big Issue consisting of many subissues docs Documentation issue (primary issue type)
Projects
None yet
Development

No branches or pull requests

6 participants