chooses which type to build based on the config).
- Remove all tabs and fix no tabs test (Dagfinn Ilmari Mannsåker)
- Decode getpwuid values correctly (Dagfinn Ilmari Mannsåker)
+ - Generate correct provides information in META.yml so that search.cpan
+ indexes the classes contained in Gitalist correctly.
0.000003 2009-12-09
- Officially switch repository to Shadowcat
use Module::Install::AuthorRequires;
use Module::Install::AuthorTests;
use Module::Install::ReadmeFromPod;
-use Module::Install::ProvidesClass;
name 'Gitalist';
all_from 'lib/Gitalist.pm';
catalyst;
-auto_provides_class;
author_tests 't/author';
install_script glob('script/*.pl');
auto_install;
+
+# This is totally gross :)
+# However, it is also much more effective than Module::Install::ProvidesClass
+# which a) just does not work very well for us, b) totally won't install from
+# cpan right now..
+author_requires 'Module::Find';
+author_requires 'B::Hooks::OP::Check::StashChange';
+author_requires 'B::Compiling';
+if ($Module::Install::AUTHOR) {
+ require Module::Find;
+ require B::Hooks::OP::Check::StashChange;
+ require B::Compiling;
+ require FindBin;
+ require lib;
+
+ my $libdir = "$FindBin::Bin/lib";
+ lib->import($libdir);
+
+ my %packages;
+
+ our $id = B::Hooks::OP::Check::StashChange::register(sub {
+ my ($new, $old) = @_;
+ my $file = B::Compiling::PL_compiling()->file;
+ return unless $file =~ s/^$libdir/lib/;
+ $packages{$new} ||= $file
+ if $new =~ /^Gitalist/;
+ });
+
+ require Gitalist;
+ Module::Find::useall(qw/Gitalist/);
+ undef $id;
+
+ no strict 'refs';
+ provides($_ => {
+ file => $packages{$_},
+ ${$_.'::VERSION'} ? ( version => $_->VERSION() ) : ()
+ }) for keys %packages;
+}
+
WriteAll;
+