package App::DuckPAN::Cmd::Roadrunner;
our $AUTHORITY = 'cpan:DDG';
# ABSTRACT: Install requirements as fast as possible
$App::DuckPAN::Cmd::Roadrunner::VERSION = '1012';
use Moo;
with qw( App::DuckPAN::Cmd );
use MooX::Options protect_argv => 0;
use Time::HiRes qw( usleep );
sub run {
my ( $self, @args ) = @_;
if (-f 'dist.ini') {
$self->app->emit_info("Found a dist.ini, suggesting a Dist::Zilla distribution");
$self->app->perl->cpanminus_install_error
if (system("dzil authordeps --missing 2>/dev/null | grep -ve '^\\W' | cpanm --quiet --notest --skip-satisfied"));
$self->app->perl->cpanminus_install_error
if (system("dzil listdeps --missing 2>/dev/null | grep -ve '^\\W' | cpanm --quiet --notest --skip-satisfied"));
$self->app->emit_info("Everything fine!");
}
elsif (-f 'Makefile.PL') {
$self->app->emit_info("Found a Makefile.PL");
$self->app->perl->cpanminus_install_error
if (system("cpanm --quiet --notest --skip-satisfied --installdeps ."));
}
elsif (-f 'Build.PL') {
$self->app->emit_info("Found a Build.PL");
$self->app->perl->cpanminus_install_error
if (system("cpanm --quiet --notest --skip-satisfied --installdeps ."));
}
$self->app->emit_info("\a"); usleep 225000; $self->app->emit_info("\a");
}
1;
__END__
=pod
=head1 NAME
App::DuckPAN::Cmd::Roadrunner - Install requirements as fast as possible
=head1 VERSION
version 1012
=head1 AUTHOR
DuckDuckGo <open@duckduckgo.com>, Zach Thompson <zach@duckduckgo.com>, Zaahir Moolla <moollaza@duckduckgo.com>, Torsten Raudssus <torsten@raudss.us> L<https://raudss.us/>
=head1 COPYRIGHT AND LICENSE
This software is Copyright (c) 2013 by DuckDuckGo, Inc. L<https://duckduckgo.com/>.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004
=cut