Как мне изменить каталог Module::Build / Test::More по умолчанию с "lib" на что-то другое?
Используя архитектуру каталогов и файлов в этом модуле "Тестирование модулей на Perl" и "Охват кода" (кстати, это было ОЧЕНЬ полезно), я скопировал файлы, на которых будут выполняться модульные тесты и покрытие кода, в новый каталог "lib", и он работает следующим образом. Шарм!
Тем не менее, мне нужен модуль, чтобы посмотреть в существующей директории "scripts"..
Япролистал документацию Module::Build на 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
Я запускаю этот скрипт, чтобы изменить имя каталога, запустить тесты / покрытие и изменить имя каталога обратно... У кого-нибудь есть идеи получше?
1 ответ
В настоящее время вы не можете сказать Module::Build использовать другой каталог, кроме "lib" (я посмотрел исходный код для Module::Build и lib
кажется довольно жестко закодированным.)
Вы можете создать символическую ссылку:
ln -s scripts lib
И это позволит Module::Build найти его.