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

my notes from the review at PTS 2018 Oslo #3

Open
karenetheridge opened this issue Apr 21, 2018 · 2 comments
Open

my notes from the review at PTS 2018 Oslo #3

karenetheridge opened this issue Apr 21, 2018 · 2 comments

Comments

@karenetheridge
Copy link
Collaborator

karenetheridge commented Apr 21, 2018

in prereqs:
- do not list EUMM as a build prereq
- do not list Test::* as a runtime prereq
- Test::Prereq is a helpful developer tool, but do not ship this test!
- do not put author tests (pod syntax, perl critic, spelling etc) in
t/: keep them in xt/. and do not add their prereqs to the metadata.

legal:
the perl/perl_5 licence is a reasonable default if you don't have a preferred licence.

multiple perl versions:
travis can help with this - I'm not sure if we have a good document for perl travis testing yet but we ought to.

META:
people shouldn't be editing their META.* by hand: this is generated by authoring tools (either EUMM directly, or Dist::Zilla, App::ModuleBuildTiny etc). should link to the document(s) that describe how to declare metadata using those tools.

Changelog:
- "Changes" is the preferred filename
- every release should have an entry
- put most recent release first (therefore, sort in descending order by date/version)

as discussed in the meeting (2018-04-21, PTS 2018 Oslo):
- some of this is in the Berlin Consensus (https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/berlin-consensus.md#recommended-practices-for-cpan-authors) -- we could explain in more detail what some of these points need
- the really basic stuff should be in perlnewmod.pod - link to that
- put a section at the top listing the things that are most important for beginners to pay attention to (metadata, declaring prereqs, Changes file, licence..)
- include directory trees containing templates for basic distributions using each of the major authoring tools (bare EUMM, Minilla, App::ModuleBuildTiny, Dist::Zilla, ...) -- or if this is already available in Module::Starter, link to that (okay this should be in perlnewmod instead)
- Test::Kwalitee exists, but https://cpants.cpanauthors.org/ has many more metrics, and lots of documentation about these best practices
- CPANTS as a service would be awesome - to upload works in progress to get critique

@exodist
Copy link

exodist commented Apr 21, 2018

I will point out that Test:: can go into the regular prereq's if the dist is itself a testing module and therefore does require Test::* at run-time. The wording above implies there is no correct time ot put Test::* modules into prereqs.

Tux pushed a commit that referenced this issue Sep 6, 2019
@Tux
Copy link
Owner

Tux commented Sep 6, 2019

I've merged most of that now. Sorry for the huge delay.
I do not think template folders are appropriate, but I'll take PR's :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants