我正在将继承的软件集合转换为基于Module :: Build的发行版.
lib除.pm文件外,这些目录还包含模块所需的某些外部文件.这是很容易保证有扩展名的是被复制的一起.pm使用的文件Module::Build的add_build_element方法.
但我对如何处理没有扩展名的文件感到困惑.如何.pm在安装期间确保这些文件也与文件一起复制?有没有办法告诉Module::Build复制下的所有内容lib?
我在合并数据以覆盖Perl脚本和模块时遇到问题。单独运行Devel :: Cover效果很好,但是当我尝试合并数据时,我失去了Perl脚本而不是模块的统计信息。
让我解释..
我有一个看起来像这样的目录树。
Code_Coverage_Test
|
|---->lib
|
|---->t
|
Run Code Online (Sandbox Code Playgroud)
在根Code_Coverage_Test目录中,我具有Build.pl文件,该文件为模块和脚本构建测试,这些模块启动了另外两个脚本,这些脚本可以为我自动执行一些命令。
./Build.pl
#!/usr/bin/perl -w
use strict;
use Module::Build;
my $buildTests = Module::Build->new(
module_name => 'testPMCoverage',
license => 'perl',
dist_abstract => 'Perl .pm Test Code Coverage',
dist_author => 'me@myEmail.com',
build_requires => {
'Test::More' => '0.10',
},
);
$buildTests->create_build_script();
Run Code Online (Sandbox Code Playgroud)
./startTests.sh
#!/bin/sh
cd t
./doPMtest.sh
./doPLtest.sh
cd ../
perl Build testcover
Run Code Online (Sandbox Code Playgroud)
在lib dir内,有我要在其上运行代码覆盖率的文件。
lib / testPLCoverage.pl
#!/usr/bin/perl -w
use strict;
print "Ok!";
Run Code Online (Sandbox Code Playgroud)
lib / testPMCoverage.pm
use strict;
use warnings;
package testPMCoverage;
sub …Run Code Online (Sandbox Code Playgroud)