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

can some of these be released to CPAN? #3

Open
tobyink opened this issue Sep 15, 2014 · 6 comments
Open

can some of these be released to CPAN? #3

tobyink opened this issue Sep 15, 2014 · 6 comments

Comments

@tobyink
Copy link

tobyink commented Sep 15, 2014

Some of these modules look like they could be easily released to CPAN. (The checks don't require an awful lot of dependencies/work.) For example:

  • Module::CPANTS::SiteKwalitee::Files
  • Module::CPANTS::SiteKwalitee::MyMeta
  • Module::CPANTS::SiteKwalitee::Pod
  • Module::CPANTS::SiteKwalitee::Signature
@charsbar
Copy link
Contributor

From the point of view of dependencies, yes, they are releasable if I don't care about sporadic failures from the testers. Actually, some of them were included in Module::CPANTS::Analyse in the past.

However, I'm not going to release them to CPAN at least in the near future because of the pluggability of Module::CPANTS::Analyse/SiteKwalitee among others. This pluggability is convenient sometimes, but only in a limited context. I don't want to replace some of them with a dumb stub again as I did for some of the Module::CPANTS::Kwalitee::* modules :p

More practically, you can use Test::Signature for ::SiteKwalitee::Signature, and Pod::Checker for ::Pod if you'd like to reuse them in a Dist::Zilla plugin. For ::Files and ::MyMeta metrics, I'm not sure if there's any good alternative, but it's not that hard to reimplement them in a Dist::Zilla plugin. I don't have any good reason to release (yet).

@tobyink
Copy link
Author

tobyink commented Sep 16, 2014

I don't use Dist::Zilla. (Well, I do for one dist.)

I just want them included when I run cpants_lint.pl.

@charsbar
Copy link
Contributor

Then App::CPANTS::Lint should also be tweaked to use ::SiteKwalitee if requested. Hmm.

It's ok for me to add an option to cpants_lint.pl to use ::SiteKwalitee. It may be useful for some serious CPANTS players. However, I'm still reluctant to release ::SiteKwalitee. Do you really need it to be on CPAN? Or is it acceptable for you to install it (or check it out somewhere perl recognize) from GitHub?

@tobyink
Copy link
Author

tobyink commented Sep 16, 2014

Yes, that would be a reasonable solution.

Perhaps also it could recognise some kind of Module::CPANTSx:: namespace for third-party kwalitee tests?

@charsbar
Copy link
Contributor

Module::CPANTS::Kwalitee uses Module::Pluggable. So if you'd like to add some private metrics, it should suffice for you to write your own Module::CPANTS::Kwalitee::FooBar and put it in a path perl recognizes. It will then be used when Module::CPANTS::Analyse runs. No new namespace is needed for this.

Or maybe Module::CPANTS::Analyse should accept an import option for acceptable metric namespaces (which should be passed to Module::Pluggable's search_path) like the following, though I'm not fully sure if this really works all the time (i.e. ordering issue etc):

use Module::CPANTS::Analyse qw/Kwalitee SiteKwalitee MyOwnKwalitee/;

@haukex
Copy link

haukex commented Nov 10, 2018

https://github.com/cpants/www-cpants apparently depends on Module::CPANTS::SiteKwalitee, at the moment a manual install of this module is necessary to satisfy that dependency. I don't mind that, just wanted to point out another possible reason to release it to CPAN.

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