Subject: | Fails with Module::Build::Tiny |
Date: | Tue, 4 Apr 2017 09:30:59 +0000 |
To: | "bug-PPM-Make [...] rt.cpan.org" <bug-PPM-Make [...] rt.cpan.org> |
From: | "Neubauer, Ralf" <ralf.neubauer [...] wido.bv.aok.de> |
Hi,
we included ReadonlyX into our nightly PPM builds, but this fails with:
cp lib/ReadonlyX.pm blib\lib\ReadonlyX.pm
Couldn't open Makefile: No such file or directory at C:\updater\perl\strawberry-perl-5.24.0.1-32bit\perl\site\lib/PPM/Make/Meta.pm line 143.
There is no Makefile in the build directory, so parse_make, whose reason to exist apparently is to parse Makefile, fails. parse_make() is called by meta() which uses the existence of Build.PL and _build/ to decide if it has to call $self->parse_build() or $self->parse_make(). Build.PL exists but is autogenerated and nearly empty, because it is based on Module::Build::Tiny. _build/ doesn't exist, so the if() branches to parse_make(). The meta data seems to only be in (MY)?META\.(?:yml|json), so one of these files should be parsed instead of Makefile or _build/build_params (which doesn't exist either, there is only a _build_params with the command line options).
I suppose PPM::Make::Meta has to be extended to detect and support Module::Build::Tiny.
Ralf