File Coverage

blib/lib/App/DuckPAN/Cmd/Roadrunner.pm
Criterion Covered Total %
statement 9 22 40.9
branch 0 14 0.0
condition n/a
subroutine 3 4 75.0
pod 0 1 0.0
total 12 41 29.2


line stmt bran cond sub pod time code
1             package App::DuckPAN::Cmd::Roadrunner;
2             our $AUTHORITY = 'cpan:DDG';
3             # ABSTRACT: Install requirements as fast as possible
4             $App::DuckPAN::Cmd::Roadrunner::VERSION = '1017';
5 1     1   1202 use Moo;
  1         2  
  1         6  
6             with qw( App::DuckPAN::Cmd );
7              
8 1     1   219 use MooX::Options protect_argv => 0;
  1         1  
  1         9  
9 1     1   1049 use Time::HiRes qw( usleep );
  1         2  
  1         9  
10              
11             sub run {
12 0     0 0   my ( $self, @args ) = @_;
13              
14 0 0         if (-f 'dist.ini') {
    0          
    0          
15 0           $self->app->emit_info("Found a dist.ini, suggesting a Dist::Zilla distribution");
16 0 0         $self->app->perl->cpanminus_install_error
17             if (system("dzil authordeps --missing 2>/dev/null | grep -ve '^\\W' | cpanm --quiet --notest --skip-satisfied"));
18 0 0         $self->app->perl->cpanminus_install_error
19             if (system("dzil listdeps --missing 2>/dev/null | grep -ve '^\\W' | cpanm --quiet --notest --skip-satisfied"));
20 0           $self->app->emit_info("Everything fine!");
21             }
22             elsif (-f 'Makefile.PL') {
23 0           $self->app->emit_info("Found a Makefile.PL");
24 0 0         $self->app->perl->cpanminus_install_error
25             if (system("cpanm --quiet --notest --skip-satisfied --installdeps ."));
26             }
27             elsif (-f 'Build.PL') {
28 0           $self->app->emit_info("Found a Build.PL");
29 0 0         $self->app->perl->cpanminus_install_error
30             if (system("cpanm --quiet --notest --skip-satisfied --installdeps ."));
31             }
32              
33 0           $self->app->emit_info("\a"); usleep 225000; $self->app->emit_info("\a");
  0            
  0            
34              
35             }
36              
37             1;
38              
39             __END__
40              
41             =pod
42              
43             =head1 NAME
44              
45             App::DuckPAN::Cmd::Roadrunner - Install requirements as fast as possible
46              
47             =head1 VERSION
48              
49             version 1017
50              
51             =head1 AUTHOR
52              
53             DuckDuckGo <open@duckduckgo.com>, Zach Thompson <zach@duckduckgo.com>, Zaahir Moolla <moollaza@duckduckgo.com>, Torsten Raudssus <torsten@raudss.us> L<https://raudss.us/>
54              
55             =head1 COPYRIGHT AND LICENSE
56              
57             This software is Copyright (c) 2013 by DuckDuckGo, Inc. L<https://duckduckgo.com/>.
58              
59             This is free software, licensed under:
60              
61             The Apache License, Version 2.0, January 2004
62              
63             =cut