問題タブ [module-build]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
perl - Module::Build を使用して、拡張子のないファイルが確実にインストールされるようにするにはどうすればよいですか?
継承されたソフトウェア コレクションをModule::Buildベースのディストリビューションに変換しています。
lib
ディレクトリには、ファイルに加えて、.pm
モジュールに必要な特定の外部ファイルが含まれています。のメソッド.pm
を使用して、拡張子を持つファイルがファイルと一緒にコピーされるようにするのは簡単です。Module::Build
add_build_element
しかし、拡張子のないファイルの扱い方に戸惑っています。これらのファイルも.pm
インストール中にファイルと一緒にコピーされるようにするにはどうすればよいですか? 下のすべてModule::Build
をコピーするように指示する方法はありますか?lib
windows - ファイルを読み取り専用としてインストールしないように Module::Build を構成するにはどうすればよいですか?
Windows マシン上の別のビルド システムの一部として Perl モジュールをビルドしているシナリオに遭遇しました。Module::Buildのオプションを使用して、--install_base
ビルド システム全体で使用できるようになるまで、モジュール ファイルを配置する一時ディレクトリを指定します。残念ながら、依存するファイルのいずれかが読み取り専用である場合、その他のビルド システムには問題があります。生成されたファイルを再構築する前に削除しようとし、読み取り専用ファイルを消去できません (削除しようとします)。 、読み取り専用であり、エラーが発生します。) デフォルトでModule::Build
は、読み取り専用ビットを有効にしてライブラリをインストールします。
1 つのオプションは、ビルド プロセスで、インストールされたファイルから読み取り専用ビットを削除する新しいステップを作成することですが、ビルド ツールの性質上、2 つ目の一時ディレクトリが必要になります。
Module::Build
ファイルが --install_base ディレクトリにインストールされるときに、その読み取り専用ビットを有効にしないようにベースのインストーラーを構成することは可能ですか? もしそうなら、どのように?
perl - ExtUils ::MakeMakerINST_SCRIPTと同等のModule::Buildとは何ですか?
プロジェクトをExtUtils::MakeMakerの使用からModule::Buildに変換したいと思います。Makefile.PLはほとんどデフォルトであり、Module :: Build :: Convertが機能しなかったため(以下を参照)、手動で変換したいのですが、実行可能ファイルをPerlのbin/ディレクトリに配置するためのINST_SCRIPTに相当するものが見つかりませんでした。
私のWriteMakefileは次のようになります。
Module :: Build :: Convertを使用しようとしましたが、make2buildがエラーをスローして解決できませんでした:
perlバージョン:
perl - Module::ファイルのビルドと値の置換
Module::Build を使い始めています。ビルドプロセス中に、いくつかのファイルで値の置換を行う必要があります-インストール場所などに基づいてパスを変更します.
Module::Build ドキュメントに何も見つかりません。Module::Build を拡張してほぼ何でもできることは理解していますが、これを行う標準的な方法はありますか?
perl - Module::Build の share_dir オプションを使用しているときに、古い共有コンテンツが確実に削除されるようにするにはどうすればよいですか?
ユーザーが Perl モジュールをインストールするときに、Module::Build
のオプションを使用して、読み取り専用の補足コンテンツをインストールしています。share_dir
新しいバージョンのモジュールがインストールされたときに、以前のバージョンのモジュールによって追加された古いコンテンツが確実に削除されるようにするにはどうすればよいですか?
よろしくお願いします。
perl - Module::Build ビルドの問題
を使用して perl モジュールをビルドした場合の出力は何ですか Module::build
。
それを再利用する方法がわかりません。この問題を解決するのを手伝ってください (再度、blib->lib
ディレクトリ内に同じコードを取得しました。
perl - デフォルトの Module::Build / Test::More ディレクトリを "lib" から別のディレクトリに変更するにはどうすればよいですか?
Perl ユニット テストとコード カバレッジに関するこの投稿のディレクトリとファイル アーキテクチャを使用して(非常に役に立ちました)、ユニット テストとコード カバレッジを実行するファイルを新しい "lib" ディレクトリにコピーすると、次のように動作します。魅力!
ただし、モジュールが既存の「scripts」ディレクトリを検索する必要があります..
CPANの Module::Build ドキュメントをくまなく調べましたが、まだCan't find file lib/processBuildSubs.pmエラーが発生します
これが私がこれまでに持っているものです...
アップデート!
これも試してみました..
私が推測するいくつかの進歩は、 lib/scripts/..を見ているようですが、まだ必要なものではありません..
アップデート!
一種のハック作業ですが、今のところ、それは私にとってはうまくいきます..
このスクリプトを実行してディレクトリ名を変更し、tests/coverage を実行して、ディレクトリ名を元に戻します...誰かもっと良いアイデアがありますか?
perl - Devel::Cover Perl スクリプトとモジュールのカバレッジ データをマージする
Perl スクリプトとモジュールのカバレッジ用にデータをマージする際に問題があります.Devel::Cover を個別に実行すると問題なく動作しますが、データを結合しようとすると、モジュールではなく Perl スクリプトだけの統計が失われます..
説明させてください..
次のようなディレクトリツリーがあります..
ルート Code_Coverage_Test ディレクトリ内には、モジュールのテストをビルドする Build.pl ファイルと、いくつかのコマンドを自動化する他の 2 つのスクリプトを開始するスクリプトがあります。
./Build.pl
./startTests.sh
lib ディレクトリ内に、コード カバレッジを実行しようとしているファイルがあります。
lib/testPLCoverage.pl
lib/testPMCoverage.pm
t ディレクトリには、モジュール用の .t テスト ファイルと、テストを開始する 2 つのスクリプトがあります。どちらもルート ディレクトリの startTests.sh によって呼び出されます。
t/testPMCoverage.t
t/doPLtest.sh
t/doPMtest.sh
私が直面している問題は、doPLtests.sh スクリプトを実行すると、カバレッジ データが取得されることです。問題ありません..
ただし、doPMtest.sh スクリプトが終了し、startTests.sh スクリプトが Build testcover コマンドを開始すると、途中でそのデータが失われ、これらのメッセージが表示されます ...
..そしてどういうわけか私はデータを失います
Perl モジュールと Perl スクリプトのテストを組み合わせて、1 つのファイルで有効なコード カバレッジを得るにはどうすればよいですか?