如何将默认模块::构建/测试::更多目录从"lib"更改为其他目录?



使用这篇关于Perl单元测试和代码覆盖率的帖子中的目录和文件架构(顺便说一句,这非常有用),我将运行单元测试和代码覆盖的文件复制到一个新的"lib"目录中,它就像一个魅力!

但是,我需要该模块在现有的"脚本"目录中查找。

我已经梳理了 CPAN 上的模块::构建文档,但我仍然收到找不到文件 lib/processBuildSubs.pm 错误

这是我到目前为止所拥有的...

use strict;
use Module::Build;

my $newBuild = Module::Build->new(
    module_name         => 'processBuildSubs',
    license             => 'perl',
    dist_abstract       => 'processBuildSubs Unit Test',
    dist_author         => 'me@myemail.com',
    build_requires      => {
           'Test::More' => '0.10',
    },
);
$newBuild->create_build_script();

更新!

也刚刚尝试了这个..

my $newBuild = Module::Build->new(
    module_name     => 'scripts::processBuildSubs',
    pm_files        => {'processBuildSubs.pm' => 'lib/processBuildSubs.pm'},
    license         => 'perl',
    dist_abstract       => 'processBuildSubs Unit Test',
    dist_author         => 'me@myemail.com',
    build_requires  => {
        'Test::More' => '0.10',
    },
);

我想有一些进展,它似乎正在寻找lib/scripts/..,但仍然不是我需要的..

更新!

有点黑客工作,但现在它为我做了诀窍。

#!/bin/bash
mv scripts lib
perl ./Build.pl
perl ./Build testcover
mv lib scripts
firefox cover_db/coverage.html

我运行此脚本来更改目录名称,运行测试/覆盖率并将目录名称更改回来......有人有更好的主意吗?

您目前无法告诉 Module::Build 使用"lib"以外的其他目录(我查看了 Module::Build 的源代码,lib似乎很难编码。

您可以创建一个符号链接:

ln -s scripts lib

这将允许 Module::Build 找到它。

相关内容

  • 没有找到相关文章