0

モジュールを作成するためにperlモジュールModule::Buildを研究しています。すべての *.pm ファイルのデフォルト ディレクトリ (lib/) をカスタム ディレクトリに変更する方法があるかどうかを知る必要があります。たとえば、デフォルトでは *.pm ファイルのソース ディレクトリは「lib/directory」ですが、「home//pm/」に変更してそこからコピーしたいと考えています。

daximのコメントの後に編集:

私のディレクトリ構造は次のとおりです。

home/user/workspace/try_ModuleBuild/LIBS/perl/Private/DB.pm
home/user/workspace/try_ModuleBuild/RELEASE/ModuleBuild/Build.PL
home/user/workspace/try_ModuleBuild/RELEASE/ModuleBuild/lib/API.pm
home/user/workspace/try_ModuleBuild/RELEASE/ModuleBuild/RESOURCES/prepare/form.html

すべてのファイルが空です。私のBuild.PLには以下が含まれています:

my $self = Module::Build->new
    (
        module_name    =>   “Project”,
        dist_author    =>   [“My Name”],
        build_requires =>   {
                          'Test::More' => 0.98,
                                      'TAP::Harness' => 3.23
                    },
        dist_abstract       =>  “Example”,
        configure_requires  =>  { 'Module::Build' => 0.40 },
        requires        =>  {'perl' => '5.14.0'},
        add_to_cleanup          =>  [ 'Project::API-*' ],
        release_status      =>  'stable',
        use_tap_harness     =>  1,
        license         =>  'restrictive',
        RESOURCES_files => {'RESOURCES/prepare/form.html' =>'/RESOURCES/new/prepare/form.html'},

        lib_files=>{'/home/user/workspace/try_ModuleBuild/LIBS/perl/Private/DB.pm'=>'/lib/Private/DB.pm'},
        install_path           =>   {
                           'lib'=>'/home/user/MB/lib', 
                           'RESOURCES'=>"/home/user/MB/RESOURCES"
                                            },
);

    $self->add_build_element('RESOURCES');

    $self->add_build_element('lib');
    $self->create_build_script();

問題はファイルにあります:

home/user/workspace/try_ModuleBuild/LIBS/perl/Private/DB.pm'

ディレクトリにないため:

home/user/workspace/try_ModuleBuild/RELEASE/ModuleBuild/LIBS

Build.PL はどこにありますか。

perl Build.PL
./Build manifest
./Build fakeinstall –install_base lib=/home/user/directory

fakeinstall は結果を返します

“Installing /home/user/MB/lib/Private/DB.pm“

問題なく動作します。

./Build dist

ただし、作成された .tar.gz ファイルに DB.pm がありません。

問題は、home/user/workspace/try_ModuleBuild/LIBS/perl/ ディレクトリからファイルを追加したいのに、home/user/workspace/try_ModuleBuild/RELEASE/ModuleBuild/ ディレクトリからしかディストリビューションにファイルを追加できないことです。

4

1 に答える 1