in reply to
Re: My Perl Module Toolchain
in thread My Perl Module Toolchain
Module::Release' release will support wildcards when you have multiple versions of perl to test against. This is very useful when you have threaded and unthreaded perls, 64bitall and/or 64bitint and/or longdouble supported perl releases installed. I have now 111 versions of perl available on my external disk ranging from 5.003_07 to 5.17.0. Picking the versions that ought to be supported by your module could be something like this:
$ cat .releaserc
cpan_user HMBRAND
automated_testing 1
skip_kwalitee 1
skip_manifest 1
skip_prereqs 1
allow_glob_in_perls 1
perls /pro/bin/perl:/pro/bin/perl5.00504:/usr/bin/perl:/media/Tux/perl
+s/bin/perl5.6.2:/media/Tux/perls/bin/perl5.8.*:/media/Tux/perls/bin/p
+erl5.1[024567]*:/media/Tux/perls/bin/tperl5.6.2:/media/Tux/perls/bin/
+tperl5.8.*:/media/Tux/perls/bin/tperl5.1[024567]*
$
I explicitely disable the quality checks for release as most of the modules that are needed for those are only installed in my "normal" perl and not in the test set so release would fail. I run the quality tests using Module::CPANTS::Kwalitee's cpants_lint.pl after release is done.
My Makefile.PL contains a special target "tgzdist", which checks spelling, dependency versions, minimal (declared) perl version and more:
Text-CSV_XS $ make tgzdist
pod-spell-check --aspell --ispell
ok 1 - CSV_XS.pm
ok 2 - sandbox/genMETA.pm
ok 3 - sandbox/i-ttt/lib/i/ttt.pm
1..3
ok 1 - CommonMistakes
ok 1 - CSV_XS.pm
ok 2 - sandbox/genMETA.pm
ok 3 - sandbox/i-ttt/lib/i/ttt.pm
1..3
ok 2 - Spell-check with aspell
ok 1 - CSV_XS.pm
ok 2 - sandbox/genMETA.pm
ok 3 - sandbox/i-ttt/lib/i/ttt.pm
1..3
ok 3 - Spell-check with ispell
1..3
perl sandbox/genPPPort_h.pl
ppport.h updated to 3.20
perl sandbox/genMETA.pl -c
Checking generated YAML ...
Checking for Text::CSV_XS-0.89
Check if ChangeLog and README are still valid UTF8 ...
Check required and recommended module versions ...
Check distribution module versions ...
Checking if 5.006 is still OK as minimal version for examples
1..5
ok 1 - examples/parser-xs.pl
ok 2 - examples/speed.pl
ok 3 - examples/csv2xls
ok 4 - examples/csvdiff
ok 5 - examples/csv-check
ok 1 - Minimum perl version 5.006
:
:
gzip --best Text-CSV_XS-0.89.tar
/pro/bin/perl "-MExtUtils::Manifest=fullcheck" -e fullcheck
Not in MANIFEST: MYMETA.json
Checked dist Text-CSV_XS-0.89.tgz
Kwalitee rating 133.33% (32/24)
Ignoring metrics is_prereq, prereq_matches_use, build_prereq_ma
+tches_use
Enjoy, Have FUN! H.Merijn