Subject: | (^O eq MSWin32) Kwalitee check directly executes cpants_lint.pl |
A Win32 system may not (as mine isn't) be set to execute .pl files
within perl by default. (Strawberry Perl does NOT set up an association
for .pl files, for example!) If it is not, then it freezes while the
program that IS set to execute .pl files executes, and does the 'less
than perfect' thing, like so, once that program (often Notepad) exits:
C:\Documents and Settings\Curtis\Desktop\Blueberry
Perl\Work\Perl-Dist-WiX>perl ..\release.pl --test
============Testing with C:\strawberry\perl\bin\perl.exe
Cleaning directory... done
Recreating make file... done
Running make... done
Checking make test... all tests pass
Skipping prereq checks. Shame on you!
Making dist... done
Checking make disttest... all tests pass
============Testing for kwalitee
Cleaning directory... done
Recreating make file... done
Running make... done
Making dist... done
Checking kwalitee... Kwalitee is less than perfect:
at C:/strawberry/perl/site/lib/Module/Release/Kwalitee.pm line 54
A fix to propose:
One thing that all the module installation modules (EU::MM, M:I, M:B)
Perl on any Win32 distribution does do is run pl2bat on scripts
installed with Perl distributions, so that there 1) is a
$Config{bin}/cpants_lint.bat as well as a $config{bin}/cpants_lint.pl
and 2) $Config{bin} is in the PATH.
Therefore, this can be done in Module::Release::Kwalitee:
sub cpants_lint { ^O eq 'MSWin32' ? 'cpants_lint.bat' : 'cpants_lint.pl' }
You may wish to fix this some other way.
[I'm getting "Someone has pushed since you began editing" when I try and
add this.]