Module::Build を使用して、開発中の Perl モジュールでビルド、テスト、testpod、html、およびインストール アクションを実行しています。生成される HTML ファイルは問題ありませんが、独自の HTML フォーマッタの代わりに perltidy -html フォーマット ユーティリティを使用するように Module::Build を設定できれば、もっとうれしいです。
Module::Build に付属の HTML フォーマッタをよりきれいな perltidy HTML フォーマッタに置き換える方法を知っている人はいますか?
補遺: 上記で「置き換える」と言ったとき、それはおそらく誤解を招くものでした. Module::Build に付属する html フォーマッタを置き換えるコードを書きたくありません。Module::Build に他のHTML フォーマッタ オプションがあるかどうか知りたいですそれが生成する HTML は、非常に単純で一般的な外観です。それはとてもつまらない。perltidy の出力はとても気に入っています。
これが、私が書いたビルドスクリプトで今どのように機能するかですが、それは完全にハックです...コマンドラインperltidyスクリプトに落ちます:
use strict;
use warnings;
# get list of files in directory
my $libLocation = "lib/EDF";
opendir( DIR, $libLocation );
my @filenameArray = readdir(DIR);
# iterate over all files to find *.pm set
for my $file (@filenameArray) {
if ( $file =~ m/ # matching regex
\. # literal period character
pm # the pm file extenstion
/x # end of regex
)
{
my $return = `perl D:/Perl/site/bin/perltidy -q --indent-columns=4 --maximum-line-length=80 -html -opath blib/libhtml2 -toc $libLocation/$file`;
if ($return eq "") {
print "HTMLized " . $file . "\n";
}
else {
print "Error: " . $return . "\n";
}
}
}
しかし、Module::Build を使用して、フラグや引数などで別の HTML フォーマッタを使用するように指示する方法があることを本当に望んでいました。しかし、それは夢物語だと思います。
use strict;
use warnings;
use Module::Build;
my $build = Module::Build->resume (
properties => {
config_dir => '_build',
},
);
$build->dispatch('build');
$build->dispatch('html', engine => 'perltidy');
または多分:
$build->dispatch('htmltidy');