File Coverage

blib/lib/Alien/patch.pm
Criterion Covered Total %
statement 16 24 66.6
branch 1 6 16.6
condition n/a
subroutine 6 9 66.6
pod 2 2 100.0
total 25 41 60.9


line stmt bran cond sub pod time code
1             package Alien::patch;
2              
3 4     4   249618 use strict;
  4         9  
  4         96  
4 4     4   16 use warnings;
  4         9  
  4         105  
5 4     4   22 use base qw( Alien::Base );
  4         13  
  4         1701  
6 4     4   77473 use Env qw( @PATH );
  4         5751  
  4         21  
7              
8             # ABSTRACT: Find or build patch
9             our $VERSION = '0.12'; # VERSION
10              
11              
12             my $in_path;
13              
14             sub import
15             {
16 2     2   19 require Carp;
17 2         403 Carp::carp "Alien::patch with implicit path modification is deprecated ( see https://metacpan.org/pod/Alien::patch#CAVEATS )";
18 2 50       19 return if __PACKAGE__->install_type('system');
19 0 0       0 return if $in_path;
20 0         0 my $dir = File::Spec->catdir(__PACKAGE__->dist_dir, 'bin');
21 0         0 Carp::carp "adding $dir to PATH";
22 0         0 unshift @PATH, $dir;
23             # only do it once.
24 0         0 $in_path = 1;
25             }
26              
27             sub exe
28             {
29 0 0   0 1 0 $^O eq 'MSWin32' ? 'patch --binary' : 'patch';
30             }
31              
32             sub _vendor
33             {
34 1     1   237936 shift->runtime_prop->{my_vendor};
35             }
36              
37              
38             sub alien_helper
39             {
40             return {
41             patch => sub {
42 0     0     Alien::patch->exe;
43             },
44             }
45 0     0 1   }
46              
47             1;
48              
49             __END__