diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-06-06 17:50:16 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-06-06 17:50:16 +0000 |
commit | 5ac2026f7eed78958d69d051e7a8e993dcf51205 (patch) | |
tree | 298c3d2f08bdfe5689998b11892d72a897985be1 /inc/SimpleProvides.pm | |
download | Moose-tarball-5ac2026f7eed78958d69d051e7a8e993dcf51205.tar.gz |
Moose-2.1405HEADMoose-2.1405master
Diffstat (limited to 'inc/SimpleProvides.pm')
-rw-r--r-- | inc/SimpleProvides.pm | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/inc/SimpleProvides.pm b/inc/SimpleProvides.pm new file mode 100644 index 0000000..3d768b1 --- /dev/null +++ b/inc/SimpleProvides.pm @@ -0,0 +1,34 @@ +use strict; +use warnings; +package inc::SimpleProvides; + +use Moose; +with 'Dist::Zilla::Role::MetaProvider', + 'Dist::Zilla::Role::FileFinderUser' => { + default_finders => [ ':InstallModules' ], # this is overridden in dist.ini! + }, +; + +sub metadata +{ + my $self = shift; + + my $version = $self->zilla->version; + + return +{ + provides => { + map { + # this is an awful hack and assumes ascii package names: + # please do not cargo-cult this code elsewhere. The proper + # thing to do is to crack open the file and read the pod name. + my $filename = $_->name; + (my $package = $filename) =~ s{[/\\]}{::}g; + $package =~ s/^lib:://; + $package =~ s/\.pod$//; + $package => { file => $filename, version => $version } + } @{$self->found_files}, + } + }; +} + +__PACKAGE__->meta->make_immutable; |