Module::Install::ProvidesClass - provides detection in META.yml for 'class' keyword
use inc::Module::Install 0.79; all_from 'lib/My/Module/Which/Uses/MooseXDeclare'; auto_provides_class; WriteAll;
This class is designed to populate the provides field of META.yml files so that the CPAN indexer will pay attention to the existance of your classes, rather than blithely ignoring them. It does this for Module::Install based Makefile.PL files. If you use Module::Build then look at Class::Discover which does all the effort of searching for the classes.
provides
Makefile.PL
Simply add the following lines to your Makefile.PL before the WriteAll;:
WriteAll;
auto_provides_class;
Its that simple. By default we look for 'class' and 'role' keywords. If you are using something that provides packages using a different keyword, such as CatalystX::Declare then you can pass a list of keywords to look for to auto_provides_class:
auto_provides_class
auto_provides_class(qw/ class role application controller controller_role view model /);
Make sure you include 'class' and 'role' if you are still using them.
The version parsing is basically the same as what M::I's ->version_form does, so should hopefully work as well as it does.
->version_form
This module attempts to be author side only, hopefully it does it correctly, but Module::Install is scary at times.
MooseX::Declare for the main reason for this module to exist.
Class::Discover for the version extraction logic.
Copyright (C) Ash Berlin <ash@cpan.org>, 2009-2010.
<ash@cpan.org>
Licensed under the same terms as Perl itself.
To install Module::Install::ProvidesClass, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Module::Install::ProvidesClass
CPAN shell
perl -MCPAN -e shell install Module::Install::ProvidesClass
For more information on module installation, please visit the detailed CPAN module installation guide.