2014-02-20 30 views
2

在Perl单元测试和代码覆盖(其中很有帮助)这个Post中使用目录和文件体系结构,我将单元测试和代码覆盖的文件复制到一个新的“lib”目录中,奇迹般有效!如何将默认的Module :: Build/Test :: More目录从“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   => '[email protected]', 
    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   => '[email protected]', 
    build_requires => { 
     'Test::More' => '0.10', 
    }, 

); 

一些进展我想,这似乎是在寻找的lib /脚本/ ..,还是不太我所需要的,但..

UPDATE!

排序一个黑客的工作,但现在它为我的伎俩..

#!/bin/bash 

mv scripts lib 
perl ./Build.pl 
perl ./Build testcover 
mv lib scripts 
firefox cover_db/coverage.html 

我运行此脚本来更改目录名,运行测试/覆盖和更改目录名称回来。 ..任何人有更好的想法?

回答

1

您当前无法告诉模块::编译使用比“LIB”之外的其他目录(我看的模块::编译源代码和lib似乎是相当硬编码。)

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

ln -s scripts lib 

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

相关问题