package MyBuild;
use strict;
use base 'Module::Build';
# Run perltidy over all the Perl code
# Borrowed from Test::Harness
sub ACTION_tidy {
my $self = shift;
my %found_files = map { %$_ } $self->find_pm_files,
$self->_find_file_by_type( 'pm', 't' ),
$self->_find_file_by_type( 'pm', 'inc' ),
$self->_find_file_by_type( 't', 't' ),
$self->_find_file_by_type( 'PL', '.' );
my @files = keys %found_files;
print "Running perltidy on @{[ scalar @files ]} files...\n";
for my $file ( sort { $a cmp $b } @files ) {
print " $file\n";
system( 'perltidy', '-b', $file );
unlink("$file.bak") if $? == 0;
}
}
sub ACTION_critic {
my $self = shift;
my @files = keys %{ $self->find_pm_files };
print "Running perlcritic on @{[ scalar @files ]} files...\n";
system( "perlcritic", "-3", @files );
}
1;