Open xenu opened 7 years ago
If the shipped distribution deliberately obfuscates the code before installation, then we can't do much -- Module::Metadata will properly parse the installed code however.
It isn't obfuscation. It's generating a module because it has platform specific data in it. PAUSE has intentional support for extracting version information from a .PL file that is used to generate a module.
I'm not sure in what context this is a problem…
@leont Dist::Metadata uses Module::Metadata to index dists, which means that both metacpan and my App::opan end up with confused results indexing dists. We should probably do something about this, whether it's adding an extra API designed for indexing source rather than an installed tree or just adding support for it to the existing API
Module::Metadata
can't handleMLEHMANN/common-sense
. It's a very unusual distribution, looks like its author tried really hard to abuse PAUSE indexer as much as possible.There are following problems:
->package_versions_from_directory
ignores.PL
files (package and$VERSION
are declared insense.pm.PL
).__DATA__
is ignored (that's where package is declared in that distribution).Module::Metadata
, PAUSE indexer doesn't really care in which package$VERSION
was declared. With some exceptions, the first$VERSION
definition is used with all packages in the parsed file ($VERSION
is declared inmain
, not incommon::sense
).