On Mar 10, 2006, at 2:45 PM, brian d foy wrote:
I haven't been following the Module::Build stuff closely, but I've
always wondered about these sorts of intricate solutions. Shouldn't it
be enough to temporarily replace ExtUtils::Makemaker with something
that has the same interface and spits out a Build.PL and a META.yml? I
do something similar with Test::Prereq to see what's in PREREQ_PM.
No, because when you run Makefile.PL you only get the *output* of
that program. If it has any non-trivial code, then EU::MM is only
seeing the reduction of that content. For example, this cruddy code
exists in one my own older Makefile.PL files:
open my $fh, 'MANIFEST' || die;
my @exefiles = grep {s/\s.*$//; /^scripts\/.*\.pl)$/} <$fh>;
close $fh;
...
'EXE_FILES' => [EMAIL PROTECTED],
EU::MM only sees
'EXE_FILES' => ['foo.pl', 'bar.pl', ...],
My proposed module would flag that Makefile.PL as non-trivial and
recommend that the author convert it by hand. I've tried doing this
via regexps in the past, but it's too messy. So this time I'm going
to try with PPI. The idea is to make it NOT intricate if possible.
We'll see. I haven't written the code yet...
Chris
--
Chris Dolan, Software Developer, Clotho Advanced Media Inc.
608-294-7900, fax 294-7025, 1435 E Main St, Madison WI 53703
vCard: http://www.chrisdolan.net/ChrisDolan.vcf
Clotho Advanced Media, Inc. - Creators of MediaLandscape Software
(http://www.media-landscape.com/) and partners in the revolutionary
Croquet project (http://www.opencroquet.org/)