Remove all uses of CMOP::{load_class, is_class_loaded, load_first_existing_class...
[gitmo/Moose.git] / inc / RequireAuthorDeps.pm
1 package inc::RequireAuthorDeps;
2
3 use Class::Load qw(load_class);
4 use Moose;
5
6 use Try::Tiny;
7
8 with 'Dist::Zilla::Role::BeforeRelease';
9
10 sub before_release {
11     my $self = shift;
12
13     $self->log("Ensuring all author dependencies are installed");
14     my $req = Version::Requirements->new;
15     my $prereqs = $self->zilla->prereqs;
16
17     for my $phase (qw(build test configure runtime develop)) {
18         $req->add_requirements($prereqs->requirements_for($phase, 'requires'));
19     }
20
21     for my $mod (grep { $_ ne 'perl' } $req->required_modules) {
22         load_class($mod);
23     }
24 }
25
26 1;